The invention relates to a computer software encryption technology field, discloses a random cipher system block encryption algorithm and realization method based on automatic judgment, encrypted plaintext digit length and the length of the packet grouping encryption algorithm, and the plaintext is filled with the secret intelligence generation method. The system of the invention includes encryption subsystem and decryption subsystem; wherein, the encryption subsystem includes encryption algorithm selection module, key selection module, a judging module, the plaintext plaintext filling algorithm module and encryption algorithm module; decryption subsystem includes a decryption algorithm module, reverse padding module and plaintext check module; the method of the invention by adding random fill bits of plaintext to realize. The invention is suitable for encrypting daily computer software.
【技术实现步骤摘要】
本专利技术涉及计算机软件加密技术,特别涉及基于分组加密算法的随机密文系统及实现方法。
技术介绍
随着信息加密技术的发展,加密算法的强度越来越受到大家的重视和关注,相关的增强加密算法强度的方法也越来越必不可少,在明文经过加密算法生成密文后,对密文的分析和破解也成为了黑客们经常关注的事情,分组加密算法做为一个使用频繁的常用信息加密方法,非常适合加密大量数据;但是由于分组加密算法对同一明文加密的密文是唯一的,导致了黑客可以对已知密文进行逆运算,从而得出对应的明文,大大削弱了密文的安全性;当前的传统分组加密算法,根本没有解决这种密文唯一性的问题;因此需要一个能在明文中自动添加随机填充位,使同样的明文在每次加密后能生成不同的密文的算法,从而增加密码强壮度,实现即使黑客获取密文后,也难逆向推出明文的目的。
技术实现思路
本专利技术要解决的技术问题是:提供一种基于分组加密算法的随机密文系统及实现方法,自动判断被加密明文位数长度及其所用分组加密算法的分组长度,并对其明文进行智能填充的随机密文生成方法。为解决上述问题,本专利技术采用的技术方案是:基于分组加密算法的随机密文系统,包括加密子系统,所述加密子系统包括加密算法选择模块、密钥选择模块、明文判断模块、明文填充算法模块和加密算法模块;所述加密算法选择模块用于选取分组加密算法的类型;所述密钥选择模块用于选取进行加密过程的密钥长度;所述明文检测模块用于判断输入明文位数,且将该明文信息通过摘要算法计算出一个摘要信息,然后将明文长度信息传递给明文填充算法模块,将明文摘要信息传递给加密算法模块;所述明文填充算法模块用于将不满足规则的 ...
【技术保护点】
基于分组加密算法的随机密文系统,包括加密子系统,其特征在于,所述加密子系统包括加密算法选择模块、密钥选择模块、明文判断模块、明文填充算法模块和加密算法模块;所述加密算法选择模块用于选取分组加密算法的类型;所述密钥选择模块用于选取进行加密过程的密钥长度;所述明文检测模块用于判断输入明文位数,且将该明文信息通过摘要算法计算出一个摘要信息,然后将明文长度信息传递给明文填充算法模块,将明文摘要信息传递给加密算法模块;所述明文填充算法模块用于将不满足规则的明文信息按照特定明文填充算法进行填充,具体包括:如果明文长度不足密钥长度,明文填充算法模块则生成随机位信息,并使用该信息将明文填充到一倍密钥长度,然后再次生成一倍密钥长度的随机位信息,填充到之前的明文信息后面;如果明文长度等于密钥长度,明文填充算法模块则生成一倍密钥长度的随机位信息,填充到明文信息后面;如果明文长度大于密钥长度,明文填充算法模块则先将明文信息按密钥整数倍进行平均切割,生成随机位信息,对不足一倍密钥长度的明文信息进行填充;所述加密算法模块用于对填充后的明文信息和填充之前的明文摘要信息进行加密操作并输出密文信息。
【技术特征摘要】
1.基于分组加密算法的随机密文系统,包括加密子系统,其特征在于,所述加密子系统包括加密算法选择模块、密钥选择模块、明文判断模块、明文填充算法模块和加密算法模块;所述加密算法选择模块用于选取分组加密算法的类型;所述密钥选择模块用于选取进行加密过程的密钥长度;所述明文检测模块用于判断输入明文位数,且将该明文信息通过摘要算法计算出一个摘要信息,然后将明文长度信息传递给明文填充算法模块,将明文摘要信息传递给加密算法模块;所述明文填充算法模块用于将不满足规则的明文信息按照特定明文填充算法进行填充,具体包括:如果明文长度不足密钥长度,明文填充算法模块则生成随机位信息,并使用该信息将明文填充到一倍密钥长度,然后再次生成一倍密钥长度的随机位信息,填充到之前的明文信息后面;如果明文长度等于密钥长度,明文填充算法模块则生成一倍密钥长度的随机位信息,填充到明文信息后面;如果明文长度大于密钥长度,明文填充算法模块则先将明文信息按密钥整数倍进行平均切割,生成随机位信息,对不足一倍密钥长度的明文信息进行填充;所述加密算法模块用于对填充后的明文信息和填充之前的明文摘要信息进行加密操作并输出密文信息。2.根据权利要求1所述的基于分组加密算法的随机密文系统,其特征在于,所述摘要算法为哈希算法。3.根据权利要求2所述的基于分组加密算法的随机密文系统,其特征在于,所述哈希算法为MD5算法。4.根据权利要求1所述的基于分组加密算法的随机密文系统,其特征在于,还包括解密子系统,所述解密子系统包括解密算法模块、反向明文填充算法模块以及明文校验模块;所述解密算法模块用于对密文信息进行解密操作并输出带有填充位的明文信息和明文摘要信息;所述反向密文填充算法模块用于将明文信息中的填充位信息去除并输出最终的明文信息;所述明文校验模块用于计算和对比所述明文摘要信息与所述最终的明文信息的一致性,证明解密操作的有效性。5.基于分组加密算法的随机密文实现方法,其特征在于,包括如下步骤:A、加密算法...
【专利技术属性】
技术研发人员:丁锐,师洛蓓,孟玉雪,胡迪,潘黎,彭曦,吴伦勇,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。