随机密文生成方法及系统、解密方法及系统与流程

文档序号:12491040阅读:931来源:国知局
随机密文生成方法及系统、解密方法及系统与流程

本发明涉及加解密技术,具体涉及一种随机密文生成方法及系统、解密方法及系统。



背景技术:

随着信息加密技术的发展,加密算法的强度越来越受到大家的重视和关注,相关的增强加密算法强度的方法也越来越必不可少,在明文经过加密算法生成密文后,对密文的分析和破解也成为了黑客们经常关注的事情,分组加密算法做为一个使用频繁的常用信息加密方法,非常适合加密大量数据;但是由于分组加密算法对同一明文加密的密文是唯一的,导致了黑客可以对已知密文进行逆运算,从而得出对应的明文,大大削弱了密文的安全性;当前的传统分组加密算法,根本没有解决这种密文唯一性的问题。



技术实现要素:

本发明所要解决的技术问题是:提出一种随机密文生成方法及系统、解密方法及系统,解决传统分组加密算法中对同一明文加密的密文是唯一的,削弱密文安全性的问题。

本发明解决其技术问题所采用的技术方案是:

第一方面,本发明提供了一种随机密文生成系统,包括:加密算法选择模块、密钥选择模块、明文检测模块、明文填充算法模块和加密算法模块;

所述加密算法选择模块用于选取分组加密算法的类型;

所述密钥选择模块用于选取进行加密过程的密钥长度;

所述明文检测模块用于判断输入明文位数;

所述明文填充算法模块用于将不满足规则的明文信息按照特定算法进行填充;

所述加密算法模块用于对填充后的明文信息进行加密操作并输出密文信息。

作为进一步优化,所述明文填充算法模块可填充的位数为一倍或多倍所选密钥的长度位。

第二方面,本发明提供了一种随机密文生成方法,其包括以下步骤:

A、加密算法模块选择所使用的分组加密算法;

B、密钥选择模块根据所选择的分组加密算法确定密钥长度;

C、明文检测模块对输入的明文信息进行判断,并获取其明文的长度信息,且将该明文信息通过摘要算法计算出一个摘要信息,然后将明文长度信息传递给明文填充算法模块,将明文摘要信息传递给加密算法模块;

D、明文填充算法模块根据所输入明文的长度信息,按照特定算法进行填充;

E、加密算法模块使用加密算法和对称算法密钥对明文填充算法模块输出的明文信息和填充之前的明文摘要信息进行加密,输出一个密文信息。

作为进一步优化,步骤D中,如果明文长度不足密钥长度,明文填充算法模块则生成随机位信息,并使用该信息将明文填充到一倍密钥长度,然后再次生成一倍密钥长度的随机位信息,填充到之前的明文信息后面;如果明文长度等于密钥长度,明文填充算法模块则生成一倍密钥长度的随机位信息,填充到明文信息后面;如果明文长度大于密钥长度,明文填充算法模块则先将明文信息按密钥整数倍进行平均切割,生成随机位信息,对不足一倍密钥长度的明文信息进行填充。

第三方面,本发明实施例还提供了一种解密系统,包括:解密算法模块、反向明文填充模块以及明文校验模块;

所述解密算法模块用于对密文信息进行解密操作并输出带有填充位的明文信息;

所述反向明文填充模块用于将明文信息中的填充位信息去除并输出最终的明文信息;

所述明文校验模块用于计算和对比输入前的明文和解密后的明文的一致性。

第四方面,本发明实施例还提供了一种解密方法,其包括以下步骤:

A、解密算法模块在接收到密文信息后,使用解密算法和对称算法密钥对该密文信息进行解密操作,得到含有明文填充位的明文信息和明文摘要信息,并将含有明文填充位的明文信息传递给反向明文填充算法模块,将明文摘要信息传递给明文校验模块;

B、反向明文填充算法模块对得到的含有明文填充位的明文信息进行逆向操作,得出一个去掉明文填充位的明文信息,并输出给明文校验模块;

C、明文校验模块对收到的明文信息计算出摘要信息,并将该摘要信息和之前从解密算法模块收到的明文摘要信息进行对比,如果一致则判定解密操作成功,反之则解密失败。

本发明的有益效果是:能在明文中自动添加随机填充位,使同样的明文在每次加密后能生成不同的密文的算法,从而增加密码强壮度,实现即使黑客获取密文后,也难逆向推出明文,从而增加了数据传输安全性。

附图说明

图1为本发明实施例中的随机密文生成系统框图;

图2为本发明实施例中的解密系统框图。

具体实施方式

本发明旨在提出一种随机密文生成方法及系统、解密方法及系统,解决传统分组加密算法中对同一明文加密的密文是唯一的,削弱密文安全性的问题。本发明能在明文中自动添加随机填充位,使同样的明文在每次加密后能生成不同的密文的算法,从而增加密码强壮度,实现即使黑客获取密文后,也难逆向推出明文。

如图1所示,本实施例中的随机密文生成系统,包括:加密算法选择模块、密钥选择模块、明文检测模块、明文填充算法模块和加密算法模块;

所述加密算法选择模块用于选取分组加密算法的类型;

所述密钥选择模块用于选取进行加密过程的密钥长度;

所述明文检测模块用于判断输入明文位数;

所述明文填充算法模块用于将不满足规则的明文信息按照特定算法进行填充;

所述加密算法模块用于对填充后的明文信息进行加密操作并输出密文信息。

所述明文填充算法模块可填充的位数为一倍或多倍所选密钥的长度位。

基于该随机密文生成系统实现的随机密文生成方法,包括以下实现步骤:

A、程序选择哪种分组加密算法(如DES);

B、程序通过选择好的加密算法(DES),选择好使用的加密密钥长度(128bi t)。

C、明文检测模块对获取到的输入明文信息进行判断,使用算法判断其信息的长度,然后调用HASH算法(如MD5算法)将该明文信息计算出一个摘要信息,之后将明文长度数据传递给明文填充算法模块,而将明文摘要信息传递给加密算法模块。

D、明文填充算法模块根据所输入明文的长度信息,判断是否如何对该明文信息进行填充操作,如果明文长度不足密钥长度,明文填充算法模块则生成随机位信息,并使用该信息将明文填充到一倍密钥长度,然后再次生成一倍密钥长度的随机位信息,填充到之前的明文信息后面;如果明文长度等于密钥长度,明文填充算法模块则生成一倍密钥长度的随机位信息,填充到明文信息后面;如果明文长度大于密钥长度,明文填充算法模块则先将明文信息按密钥整数倍进行平均切割,生成随机位信息,对不足一倍密钥长度的明文信息进行填充。

E、加密算法模块使用加密算法和对称算法密钥对明文填充算法模块输出的明文信息和填充之前的明文摘要信息进行加密,输出一个密文信息。

如图2所示,本实施例中的解密系统,包括:解密算法模块、反向明文填充模块以及明文校验模块;

所述解密算法模块用于对密文信息进行解密操作并输出带有填充位的明文信息;

所述反向明文填充模块用于将明文信息中的填充位信息去除并输出最终的明文信息;

所述明文校验模块用于计算和对比输入前的明文和解密后的明文的一致性。

基于上述解密系统实现的解密方法,包括以下实现步骤:

A、解密算法模块在接收到密文信息后,使用解密算法和对称算法密钥对该密文信息进行解密操作,得到含有明文填充位的明文信息和明文摘要信息,并将含有明文填充位的明文信息传递给反向明文填充算法模块,将明文摘要信息传递给明文校验模块;

B、反向明文填充算法模块对得到的含有明文填充位的明文信息进行逆向操作,得出一个去掉明文填充位的明文信息,并输出给明文校验模块;

C、明文校验模块对收到的明文信息计算出摘要信息,并将该摘要信息和之前从解密算法模块收到的明文摘要信息进行对比,如果一致则判定解密操作成功,反之则解密失败。

采用本发明对明文信息加入随机填充位,在每次加密后,可以生成不同的密文信息,大大提高了黑客们获取敏感数据的成本,增加了密文的强壮度,提高了相关系统的安全性。

上述实施例仅为本发明较佳的实施方式,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1