基于噪声的哈希密文再加密方法及再加密后的解密方法
【专利摘要】本发明公开了一种基于噪声的哈希密文再加密方法及再加密后的解密方法,再加密方法包括步骤:一、设定静态策略;二、设定动态策略选择静态策略;三、将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;四、形成第二前半哈希密文或第二后半哈希密文;五、随机生成噪声字符串;六、形成第一带噪声后半哈希密文或第二带噪声后半哈希密文;七、生成第一再加密好的噪声密文或第二再加密好的噪声密文;解密方法包括步骤:一、获得第一噪声插入位置;二、取得第二噪声插入位置和噪声字符串的长度;三、形成第一带噪声后半哈希密文;四、形成第一后半哈希密文;五、生成解密后的原始哈希密文。本发明能够加强原始哈希密文的安全性,开销小。
【专利说明】基于噪声的哈希密文再加密方法及再加密后的解密方法
【技术领域】
[0001]本发明属于加密【技术领域】,具体涉及一种基于噪声的哈希密文再加密方法及再加密后的解密方法。
【背景技术】
[0002]现有的用户名加密的技术有MD5、SHA等加密手段。MD5加密的主要方式是将用户的明文进行哈希加密形成密文,然后将密文存储在数据库里面,以后用户登录时,将其输入的密码转换成MD5码后与数据库存储的密文进行比对,判断是否一致。虽然密码在经过MD5加密后的128bit的大整数是无法通过数学方式解密的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点像不存在反函数的数学函数。但是,这样的加密方式并不意味着百分之百的安全。原因在于,现在很多网络的资源可以通过使用字典方式来枚举MD5码的密文,从而通过这种对应的方式破解MD5加密之后的密文,获得用户登录密码的明文。虽然,MD5码加密不存在逆过程,对于较为复杂的用户密码,MD5码加密之后很难通过枚举的手段进行破译。但是,数量众多的用户密码并不都是复杂的密码,这就为用户的信息安全带来了大量的问题。例如:有一用户的登录密码为“mynewpassword”,在http://tool.chinaz.com/TooIs/MD5.aspx 网站经过 MD5 加密之后,其密文为 “8E70383C69F7A3B7EA3F71B02F3E9731”,系统将此密文存储到数据库中,日后登录时进行比对,判断登录用户身份是否合法。但是,此密文一旦泄露,虽然无法使用数学方式反解,但我们还是可以通过其他手段取得其对应的明文,例如,在http://www.md5.com.cn/md5这个网站中,可以将密文“8E70383C69F7A3B7EA3F71B02F3E9731”输入到对话框中,点击MD5Crack按钮后,与其对应的明文“mynewpassword”就会被显示出来。经过试验,对于并不是很复杂的用户密码的MD5密文,该网站都可以对其进行解密。从这一点就可以说明,现在广泛使用的MD5加密手段并不是十分的可靠。SHA加密与MD5加密相似,均由MD4加密导出,是美国国家标准技术研究所发布的国家标准FIPS PUB180,最新的标准已经于2008年更新到FIPS PUB180-3。其中规定了 SHA-l,SHA-224,SHA-256,SHA-384,和 SHA-512 这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2~64 二进制位的消息,SHA-384和SHA-512适用于长度不超过2~128 二进制位的消息;SHA加密的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。SHA加密的强度与MD5加密也很相似,也存在不是十分可靠的缺陷。为了解决以上问题,现有技术中有时会对密文进行其它格式的编码转码,例如,对哈希密文进行ASCII,GB2312或者UTF8编码,或者转换成Base64字符串,但是,编码转码方式简单,非常容易被破解。因此,需要有一种新的加密手段对MD5加密后的密文再次进行加密,即便数据库中的密文泄露之后,也很难使用这种枚举方式进行破译。另外,现有技术对用户明文进行加密,得到密文,若再次对密文进行加密,虽然可以提高密文的加密强度,但是所带来的加密解密开销会大大增加。
【发明内容】
[0003]本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种高效、快速、能够进一步加强原始哈希密文的安全性、加密开销小、实用性强的基于噪声的哈希密文再加密方法。
[0004]为解决上述技术问题,本发明采用的技术方案是:一种基于噪声的哈希密文再加密方法,其特征在于该方法包括以下步骤:
[0005]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0006]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0007]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0008]步骤四、将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位,形成第二前半哈希密文;或者,将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位,形成第二后半哈希密文; [0009]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0010]步骤六、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第一带噪声后半哈希密文,其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,在所述第二后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第二带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L3,L3为所述第二后半哈希密文的长度且为自然数;
[0011]步骤七、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,将所述第二前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第一带噪声后半哈希密文依次合并,生成第一再加密好的噪声密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,将所述第一前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第二带噪声后半哈希密文依次合并,生成第二再加密好的噪声密文。
[0012]上述的基于噪声的哈希密文再加密方法,其特征在于:步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,编码为2。
[0013]上述的基于噪声的哈希密文再加密方法,其特征在于:步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的最后一个字符的ASCII码整除静态策略的种类数η的余数。
[0014]上述的基于噪声的哈希密文再加密方法,其特征在于:步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的第一个字符的ASCII码与最后一个字符的ASCII码的和整除静态策略的种类数η的余数。
[0015]上述的基于噪声的哈希密文再加密方法,其特征在于:步骤五中所述噪声字符串中每一位字符的取值范围为O?9和a?f。
[0016]上述的基于噪声的哈希密文再加密方法,其特征在于:步骤五中所述噪声字符串中每一位字符的取值范围为O?9和A?F。
[0017]本发明还提供了一种高效、快速、开销小、实用性强的基于噪声的哈希密文再加密后的解密方法,其特征在于该方法包括以下步骤:
[0018]步骤一、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,首先,取出所述第一再加密好的噪声密文的第一位,获得选择出的静态策略所对应的编码,接着,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;然后,去掉所述第一再加密好的噪声密文的第一位,形成第一加密好的噪声密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,取出所述第二再加密好的噪声密文的最后一位,获得选择出的静态策略所对应的编码,然后,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;
[0019]步骤二、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,根据所述第一噪声插入位置NI,从所述第一加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,根据所述第一噪声插入位置NI,从所述第二再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0020]步骤三、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,从所述第一噪声插入位置NI处将所述第一加密好的噪声密文分成第一前半哈希密文和第三后半哈希密文,并在所述第三后半哈希密文中去掉前两位,形成第一带噪声后半哈希密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,从所述第一噪声插入位置NI处将所述第二再加密好的噪声密文分成第一前半哈希密文和第四后半哈希密文,然后,在所述第四后半哈希密文中去掉前两位和最后一位,形成第一带噪声后半哈希密文;
[0021]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0022]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0023]本发明与现有技术相比具有以下优点:
[0024]1、本发明的加密与解密方法简单,实现方便。
[0025]2、本发明的加密方法采用了静态策略和动态策略相结合的方法设置第一噪声插入位置,并采用了在第一后半哈希密文中随机找位置的方法设置第二噪声插入位置,通过在第一噪声插入位置和第二噪声插入位置插入噪声字符,能够对哈希密封进行高效、快速的再加密,在哈希密文中加入了无用的干扰字符,就像在音乐里添加噪声一样,使得破解者无法分离出原始哈希密文,进一步加强了哈希密文的加密强度,使得哈希密文的破解难度更高,并且,解密时也不会增加过多的开销,此开销基本可以忽略不计,从而保证了加密解密的高效性和安全性。
[0026]3、本发明加密解密操作的开销在微秒级别,所带来的加密解密开销非常小。
[0027]4、本发明的实用性强,便于推广使用。[0028]综上所述,本发明的方法简单,实现方便,能够高效、快速的对哈希密文进行再加密和再加密后的解密,能够进一步加强原始哈希密文的安全性,加密解密开销小,实用性强,便于推广使用。
[0029]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】
【附图说明】
[0030]图1为本发明基于噪声的基于噪声的哈希密文再加密方法的方法流程框图。
[0031]图2为本发明基于噪声的哈希密文再加密后的解密方法的方法流程框图。
【具体实施方式】
[0032]实施例1
[0033]如图1所示,本发明基于噪声的哈希密文再加密方法,包括以下步骤:
[0034]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0035]本实施例中,所述原始哈希密文为:afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13 ;
[0036]本实施例中,步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,即所述第一噪声插入位置NI = 6,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即所述第一噪声插入位置NI = 1,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即第一噪声插入位置NI = 6,编码为2。原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。[0037]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0038]本实施例中,步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的最后一个字符的ASCII码整除静态策略的种类数η的余数。即选择出的一种静态策略的编码为0,即所述第一噪声插入位置NI = 6 ;
[0039]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0040]本实施例中,所述第一前半哈希密文为afl460,所述第一后半哈希密文为a7f2732e78165c5bcfce66769c ;
[0041]步骤四、将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位,形成第二前半哈希密文;
[0042]本实施例中,将O插入到afl460的第一位,形成的第二前半哈希密文为Oaf 1460 ;
[0043]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0044]本实施例中,步骤五中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为0a7ef4e3b,所述噪声字符串的长度LI的取值为9 ;
[0045]步骤六、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第一带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0046]本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为7,形成的第一带噪声后半哈希密文为:a7f27320a7ef4e3be78165c5bcfce66769c ;
[0047]步骤七、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,将所述第二前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第一带噪声后半哈希密文依次合并,生成第一再加密好的噪声密文。
[0048]本实施例中,生成的第一再加密好的噪声密文为:
[0049]0afl46079a7f27320a7ef4e3be78165c5bcfce66769co
[0050]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0051]步骤一、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,首先,取出所述第一再加密好的噪声密文的第一位,获得选择出的静态策略所对应的编码,接着,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;然后,去掉所述第一再加密好的噪声密文的第一位,形成第一加密好的噪声密文;
[0052]本实施例中,获得的选择出的静态策略所对应的编码为0,获得的第一噪声插入位置NI的值为6,所述第一再加密好的噪声密文为:[0053]0afl46079a7f27320a7ef4e3be78165c5bcfce66769c,
[0054]形成的第一加密好的噪声密文为:
[0055]afl46079a7f27320a7ef4e3be78165c5bcfce66769c ;
[0056]步骤二、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,根据所述第一噪声插入位置NI,从所述第一加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0057]本实施例中,取得的所述第二噪声插入位置N2的值为7,所述噪声字符串的长度LI的值为9 ;
[0058]步骤三、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,从所述第一噪声插入位置NI处将所述第一加密好的噪声密文分成第一前半哈希密文和第三后半哈希密文,并在所述第三后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成第一带噪声后半哈希密文;
[0059]本实施例中,所述第一前半哈希密文为:afl460,
[0060]所述第三后半哈希密文为:
[0061]79a7f27320a7ef4e3be78165c5bcfce66769c,
[0062]在所述第三后半哈希密文中去掉前两位后形成的第一带噪声后半哈希密文为:a7f27320a7ef4e3be78165c5bcfce66769c ;
[0063]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0064]本实施例中,形成的所述第一后半哈希密文为:a7f2732e78165c5bcfce66769c ;
[0065]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0066]本实施例中,生成的解密后的原始哈希密文为:afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0067]实施例2
[0068]如图1所示,本发明基于噪声的哈希密文再加密方法,包括以下步骤:
[0069]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0070]本实施例中,所述原始哈希密文为:26fa61d8e9a212eb79b87fa22983dl8d,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:MYnEwPassword,所述用户密码字符串的长度为13 ;
[0071]本实施例中,步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,即所述第一噪声插入位置NI = 6,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即所述第一噪声插入位置NI = 8,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即第一噪声插入位置NI =9,编码为2。原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
[0072]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0073]本实施例中,步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的最后一个字符的ASCII码整除静态策略的种类数η的余数。即选择出的一种静态策略的编码为1,即所述第一噪声插入位置NI = 8 ;
[0074]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0075]本实施例中,所述第一前半哈希密文为26fa61d8,所述第一后半哈希密文为e9a212eb79b87fa22983dl8d ;
[0076]步骤四、将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位,形成第二前半哈希密文;
[0077]本实施例中,将I插入到26fa61d8的第一位,形成的第二前半哈希密文为126fa61d8 ;
[0078]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0079]本实施例中,步骤五中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为8ab738a2,所述噪声字符串的长度LI的取值为8 ;
[0080]步骤六、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第一带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0081]本实施例中,所述第一后半哈希密文的长度L2的取值为24,所述第二噪声插入位置N2的取值为8,形成的第一带噪声后半哈希密文为:e9a212eb8ab738a279b87fa22983dl8d ;
[0082]步骤七、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,将所述第二前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第一带噪声后半哈希密文依次合并,生成第一再加密好的噪声密文。
[0083]本实施例中,生成的第一再加密好的噪声密文为:
[0084]126fa61d888e9a212eb8ab738a279b87fa22983dl8d0
[0085]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0086]步骤一、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,首先,取出所述第一再加密好的噪声密文的第一位,获得选择出的静态策略所对应的编码,接着,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;然后,去掉所述第一再加密好的噪声密文的第一位,形成第一加密好的噪声密文;
[0087]本实施例中,获得的选择出的静态策略所对应的编码为1,获得的第一噪声插入位置NI的值为6,所述第一再加密好的噪声密文为:
[0088]126fa61d888e9a212eb8ab738a279b87fa22983dl8d,
[0089]形成的第一加密好的噪声密文为:
[0090]26fa61d888e9a212eb8ab738a279b87fa22983dl8d ;
[0091]步骤二、当将选 择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,根据所述第一噪声插入位置NI,从所述第一加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0092]本实施例中,取得的所述第二噪声插入位置N2的值为8,所述噪声字符串的长度LI的值为8 ;
[0093]步骤三、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,从所述第一噪声插入位置NI处将所述第一加密好的噪声密文分成第一前半哈希密文和第三后半哈希密文,并在所述第三后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成第一带噪声后半哈希密文;
[0094]本实施例中,所述第一前半哈希密文为:26fa61d8,
[0095]所述第三后半哈希密文为:
[0096]88e9a212eb8ab738a279b87fa22983dl8d,
[0097]在所述第三后半哈希密文中去掉前两位后形成的第一带噪声后半哈希密文为:e9a212eb8ab738a279b87fa22983dl8d ;
[0098]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0099]本实施例中,形成的所述第一后半哈希密文为:e9a212eb79b87fa22983dl8d ;
[0100]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0101]本实施例中,生成的解密后的原始哈希密文为:26fa61d8e9a212eb79b87fa22983d18d,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0102]实施例3
[0103]如图1所示,本发明基于噪声的哈希密文再加密方法,包括以下步骤:
[0104]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0105]本实施例中,所述原始哈希密文为:13DD9A82F226513CA7A50DCDCAB36BD2,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:MYNewPassword,所述用户密码字符串的长度为13 ;
[0106]本实施例中,步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,即所述第一噪声插入位置NI = 6,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即所述第一噪声插入位置NI = 8,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即第一噪声插入位置NI = 12,编码为2。原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
[0107]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0108]本实施例中,步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的最后一个字符的ASCII码整除静态策略的种类数η的余数。即选择出的一种静态策略的编码为2,即所述第一噪声插入位置NI = 12 ;
[0109]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0110]本实施例中,所述第一前半哈希密文为13DD9A82F226,所述第一后半哈希密文为513CA7A50DCDCAB36BD2 ;
[0111]步骤四、将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位,形成第二后半哈希密文;
[0112]本实施例中,将2插入到513CA7A50DOTCAB36BD2的最后一位,形成的第二后半哈希密文为 513CA7A50DCDCAB36BD22 ;
[0113]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0114]本实施例中,步骤五中所述噪声字符串中每一位字符的取值范围为O?9和A?F,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为8C173EA2,所述噪声字符串的长度LI的取值为8 ;
[0115]步骤六、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,在所述第二后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第二带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L3,L3为所述第二后半哈希密文的长度且为自然数;
[0116]本实施例中,所述第二后半哈希密文的长度L3的取值为21,所述第二噪声插入位置N2的取值为7,形成的第二带噪声后半哈希密文为:513CA7A8C173EA250DCDCAB36BD22 ;
[0117]步骤七、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,将所述第一前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第二带噪声后半哈希密文依次合并,生成第二再加密好的噪声密文。
[0118]本实施例中,生成的第二再加密好的噪声密文为:
[0119]13DD9A82F22678513CA7A8C173EA250DCDCAB36BD22。
[0120]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0121]步骤一、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,取出所述第二再加密好的噪声密文的最后一位,获得选择出的静态策略所对应的编码,然后,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;
[0122]本实施例中,获得的选择出的静态策略所对应的编码为2,获得的第一噪声插入位置NI的值为12 ;
[0123]步骤二、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,根据所述第一噪声插入位置NI,从所述第二再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0124]本实施例中,取得的所述第二噪声插入位置N2的值为7,所述噪声字符串的长度LI的值为8 ;
[0125]步骤三、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,从所述第一噪声插入位置NI处将所述第二再加密好的噪声密文分成第一前半哈希密文和第四后半哈希密文,然后,在所述第四后半哈希密文中去掉前两位和最后一位,去掉前两位即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,去掉最后一位即去掉了选择出的静态策略所对应的编码,形成第一带噪声后半哈希密文;
[0126]本实施例中,所述第二再加密好的噪声密文为:
[0127]13DD9A82F22678513CA7A8C173EA250DCDCAB36BD22,
[0128]所述第一前半哈希密文为:13DD9A82F226, [0129]所述第四后半哈希密文为:
[0130]78513CA7A8C173EA250DCDCAB36BD22,
[0131]在所述第四后半哈希密文中去掉前两位和最后一位后形成的第一带噪声后半哈希密文为:513CA7A8C173EA250DCDCAB36BD2 ;
[0132]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0133]本实施例中,形成的所述第一后半哈希密文为:513CA7A50D⑶CAB36BD2 ;
[0134]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0135]本实施例中,生成的解密后的原始哈希密文为:13DD9A82F226513CA7A50DCDCAB36BD2,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0136]实施例4
[0137]如图1所示,本发明基于噪声的哈希密文再加密方法,包括以下步骤:
[0138]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0139]本实施例中,所述原始哈希密文为:afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:myNewPassword,所述用户密码字符串的长度为13 ;
[0140]本实施例中,步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,即所述第一噪声插入位置NI = 6,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即所述第一噪声插入位置NI = 1,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即第一噪声插入位置NI = 6,编码为2。原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
[0141]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0142]本实施例中,步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的第一个字符的ASCII码与最后一个字符的ASCII码的和整除静态策略的种类数η的余数。即选择出的一种静态策略的编码为1,即所述第一噪声插入位置NI = I ;
[0143]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0144]本实施例中,所述第一前半哈希密文为a,所述第一后半哈希密文为H460a7f2732e78165c5bcfce66769c ;
[0145]步骤四、将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位,形成第二后半哈希密文;
[0146]本实施例中,将I插入到fl460a7f2732e78165c5bcfce66769c的最后一位,形成的第二后半哈希密文为 fl460a7f2732e78165c5bcfce66769cl ;
[0147]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0148]本实施例中,步骤五中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为afl64e9,所述噪声字符串的长度LI的取值为7 ;
[0149]步骤六、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,在所述第二后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第二带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L3,L3为所述第二后半哈希密文的长度且为自然数;
[0150]本实施例中,所述第二后半哈希密文的长度L3的取值为32,所述第二噪声插入位置N2的取值为9,形成的第二带噪声后半哈希密文为:
[0151]fl460a7f2afl64e9732e78165c5bcfce66769cl ;
[0152]步骤七、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,将所述第一前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第二带噪声后半哈希密文依次合并,生成第二再加密好的噪声密文。
[0153]本实施例中,生成的第二再加密好的噪声密文为:
[0154]a97fl460a7f2afl64e9732e78165c5bcfce66769clo[0155]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0156]步骤一、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,取出所述第二再加密好的噪声密文的最后一位,获得选择出的静态策略所对应的编码,然后,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;
[0157]本实施例中,获得的选择出的静态策略所对应的编码为1,获得的第一噪声插入位置NI的值为I ;
[0158]步骤二、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,根据所述第一噪声插入位置NI,从所述第二再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0159]本实施例中,取得的所述第二噪声插入位置N2的值为9,所述噪声字符串的长度LI的值为7 ;
[0160]步骤三、当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,从所述第一噪声插入位置NI处将所述第二再加密好的噪声密文分成第一前半哈希密文和第四后半哈希密文,然后,在所述第四后半哈希密文中去掉前两位和最后一位,去掉前两位即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,去掉最后一位即去掉了选择出的静态策略所对应的编码,形成第一带噪声后半哈希密文;
[0161]本实施例中,所述第二再加密好的噪声密文为:
[0162]a97fl460a7f2afl64e9732e78165c5bcfce66769cl,
[0163]所述第一前半哈希密文为:a,
[0164]所述第四后半哈希密文为:
[0165]97fl460a7f2afl64e9732e78165c5bcfce66769cl,
[0166]在所述第四后半哈希密文中去掉前两位和最后一位后形成的第一带噪声后半哈希密文为:
[0167]fl460a7f2afl64e9732e78165c5bcfce66769c ;
[0168]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0169]本实施例中,形成的所述第一后半哈希密文为:fl460a7f2732e78165c5bcfce66769c ;
[0170]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0171]本实施例中,生成的解密后的原始哈希密文为:afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0172]实施例5
[0173]如图1所示,本发明基于噪声的哈希密文再加密方法,包括以下步骤:
[0174]步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2≤η≤10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数;
[0175]本实施例中,所述原始哈希密文为:13dd9a82f226513ca7a50dcdcab36bd2,所述原始哈希密文的长度L3为32,所述原始哈希密文所对应的用户密码字符串为:MYNewPassword,所述用户密码字符串的长度为13 ;
[0176]本实施例中,步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,即所述第一噪声插入位置NI = 6,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即所述第一噪声插入位置NI = 8,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,即第一噪声插入位置NI = 12,编码为2。原始哈希密文由长度为32位的十六进制数或长度为128位的二进制数组成。
[0177]步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码;
[0178]本实施例中,步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的第一个字符的ASCII码与最后一个字符的ASCII码的和整除静态策略的种类数η的余数。即选择出的一种静态策略的编码为0,即所述第一噪声插入位置NI = 6 ;
[0179]步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希密文;
[0180]本实施例中,所述第一前半哈希密文为13dd9a,所述第一后半哈希密文为82f226513ca7a50dcdcab36bd2 ;
[0181]步骤四、将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位,形成第二前半哈希密文;
[0182]本实施例中,将O插入到13dd9a的第一位,形成的第二前半哈希密文为013dd9a ;
[0183]步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10, LI为自然数;
[0184]本实施例中,步骤五中所述噪声字符串中每一位字符的取值范围为O?9和a?f,能够使得噪声字符串与原始哈希密文的相似度更高,进一步提高了加密的安全性;具体实施时,采用了随机噪声生成函数RandomO生成一个噪声字符串,生成的所述噪声字符串为3fe64d9,所述噪声字符串的长度LI的取值为7 ;
[0185]步骤六、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第一带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;
[0186]本实施例中,所述第一后半哈希密文的长度L2的取值为26,所述第二噪声插入位置N2的取值为8,形成的第一带噪声后半哈希密文为:82f226513fe64d93ca7a50dcdcab36bd2 ;
[0187]步骤七、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,将所述第二前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第一带噪声后半哈希密文依次合并,生成第一再加密好的噪声密文。
[0188]本实施例中,生成的第一再加密好的噪声密文为:
[0189]013dd9a8782f226513fe64d93ca7a50dcdcab36bd2o
[0190]如图2所示,本发明哈希密文再加密后的解密方法,包括以下步骤:
[0191]步骤一、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,首先,取出所述第一再加密好的噪声密文的第一位,获得选择出的静态策略所对应的编码,接着,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;然后,去掉所述第一再加密好的噪声密文的第一位,形成第一加密好的噪声密文;
[0192]本实施例中,获得的选择出的静态策略所对应的编码为0,获得的第一噪声插入位置NI的值为6,所述第一再加密好的噪声密文为:
[0193]013dd9a8782f226513fe64d93ca7a50dcdcab36bd2,
[0194]形成的第一加密好的噪声密文为:
[0195]13dd9a8782f226513fe64d93ca7a50dcdcab36bd2 ;
[0196]步骤二、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,根据所述第一噪声插入位置NI,从所述第一加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值;
[0197]本实施例中,取得的所述第二噪声插入位置N2的值为8,所述噪声字符串的长度LI的值为7 ;
[0198]步骤三、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,从所述第一噪声插入位置NI处将所述第一加密好的噪声密文分成第一前半哈希密文和第三后半哈希密文,并在所述第三后半哈希密文中去掉前两位,即去掉了所述第二噪声插入位置N2的值和所述噪声字符串的长度LI的值,形成第一带噪声后半哈希密文;
[0199]本实施例中,所述第一前半哈希密文为:13dd9a,
[0200]所述第三后半哈希密文为:
[0201]8782f226513fe64d93ca7a50dcdcab36bd2,
[0202]在所述第三后半哈希密文中去掉前两位后形成的第一带噪声后半哈希密文为:82f226513fe64d93ca7a50dcdcab36bd2 ;
[0203]步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文;
[0204]本实施例中,形成的所述第一后半哈希密文为:82f226513ca7a50dcdcab36bd2 ;
[0205]步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0206]本实施例中,生成的解密后的原始哈希密文为:13dd9a82f226513ca7a50dcdcab36bd2,解密后的原始哈希密文与用户密码字符串所对应的原始哈希密文完全符合。
[0207]以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
【权利要求】
1.一种基于噪声的哈希密文再加密方法,其特征在于该方法包括以下步骤: 步骤一、设定η种用于取得第一噪声插入位置NI的静态策略,并对η种静态策略用O和正整数依次进行编码;其中,η为自然数且2 < η < 10 ;N1为自然数且N1〈L3,L3为原始哈希密文的长度且为自然数; 步骤二、设定一种选择静态策略的动态策略,从η种静态策略中选择出一种静态策略作为取得第一噪声插入位置NI的策略,并记录下选择出的静态策略所对应的编码; 步骤三、从所述第一噪声插入位置NI处将原始哈希密文分成第一前半哈希密文和第一后半哈希S文; 步骤四、将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位,形成第二前半哈希密文;或者,将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位,形成第二后半哈希密文; 步骤五、随机生成一个噪声字符串,所述噪声字符串的长度LI的取值范围为0〈L1〈10,LI为自然数; 步骤六、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,在所述第一后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第一带噪声后半哈希密文,其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L2,L2为所述第一后半哈希密文的长度且为自然数;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,在所述第二后半哈希密文中随机找一个插入所述噪声字符串的第二噪声插入位置N2,并在所述第二噪声插入位置N2处插入所述噪声字符串,形成第二带噪声后半哈希密文;其中,N2的取值范围为0〈N2〈10,N2为自然数且N2〈L3,L3为所述第二后半哈希密文的长度且为自然数; 步骤七、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,将所述第二前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第一带噪声后半哈希密文依次合并,生成第一再加密好的噪声密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,将所述第一前半哈希密文、第二噪声插入位置N2、噪声字符串的长度LI和第二带噪声后半哈希密文依次合并,生成第二再加密好的噪声密文。
2.按照权利要求1所述的基于噪声的哈希密文再加密方法,其特征在于:步骤一中所述η的取值为3,3种用于取得第一噪声插入位置NI的静态策略分别为:第I种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的长度整除2的商,编码为O ;第2种:所述第一噪声插入位置NI为原始哈希密文所对应的用户密码字符串的第一个字符的ASCII码和最后一个字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,编码为I ;第3种:所述第一噪声插入位置NI为原始哈希密文的第十个字符的ASCII码和第二十字符的ASCII码之和整除原始哈希密文所对应的用户密码字符串的长度的余数,编码为2。
3.按照权利要求1所述的基于噪声的哈希密文再加密方法,其特征在于:步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的最后一个字符的ASCII码整除静态策略的种类数η的余数。
4.按照权利要求1所述的基于噪声的哈希密文再加密方法,其特征在于:步骤二中所述选择静态策略的动态策略为:选择出的一种静态策略的编码为原始哈希密文的第一个字符的ASCII码与最后一个字符的ASCII码的和整除静态策略的种类数η的余数。
5.按照权利要求1所述的基于噪声的哈希密文再加密方法,其特征在于:步骤五中所述噪声字符串中每一位字符的取值范围为O~9和a~f。
6.按照权利要求1所述的基于噪声的哈希密文再加密方法,其特征在于:步骤五中所述噪声字符串中每一位字符的取值范围为O~9和A~F。
7.一种对采用如权利要求1所述再加密方法进行再加密后的哈希密文进行解密的方法,其特征在于该方法包括以下步骤: 步骤一、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,首先,取出所述第一再加密好的噪声密文的第一位,获得选择出的静态策略所对应的编码,接着,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值;然后,去掉所述第一再加密好的噪声密文的第一位,形成第一加密好的噪声密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,取出所述第二再加密好的噪声密文的最后一位,获得选择出的静态策略所对应的编码,然后,根据选择出的静态策略所对应的编码,获得选择出的静态策略,并获得第一噪声插入位置NI的值; 步骤二、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,根据所述第一噪声插入位置NI,从所述第一加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串 的长度LI的值;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,根据所述第一噪声插入位置NI,从所述第二再加密好的噪声密文中,取得所述第二噪声插入位置N2的值和噪声字符串的长度LI的值; 步骤三、当将选择出的静态策略所对应的编码插入到第一前半哈希密文的第一位时,从所述第一噪声插入位置NI处将所述第一加密好的噪声密文分成第一前半哈希密文和第三后半哈希密文,并在所述第三后半哈希密文中去掉前两位,形成第一带噪声后半哈希密文;当将选择出的静态策略所对应的编码插入到第一后半哈希密文的最后一位时,首先,从所述第一噪声插入位置NI处将所述第二再加密好的噪声密文分成第一前半哈希密文和第四后半哈希密文,然后,在所述第四后半哈希密文中去掉前两位和最后一位,形成第一带噪声后半哈希S文; 步骤四、在所述第一带噪声后半哈希密文中,根据所述第二噪声插入位置N2和所述噪声字符串的长度LI,去掉所述噪声字符串,形成第一后半哈希密文; 步骤五、将所述第一前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
【文档编号】G06F21/62GK103942500SQ201410196257
【公开日】2014年7月23日 申请日期:2014年5月11日 优先权日:2014年5月11日
【发明者】龚星宇 申请人:西安科技大学