一種哈希密文再加密方法及再加密后的解密方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種哈希密文再加密方法及再加密后的解密方法,再加密方法包括步驟:一、設(shè)定固定的第一噪聲插入位置或設(shè)定取得第一噪聲插入位置的靜態(tài)策略,二、從第一噪聲插入位置處將原始哈希密文分成前半哈希密文和第一后半哈希密文,三、隨機(jī)生成一個(gè)噪聲字符串,四、在第一后半哈希密文中找一個(gè)第二噪聲插入位置,并在第二噪聲插入位置處插入噪聲字符串,形成帶噪聲后半哈希密文,五、生成再加密好的噪聲密文;解密方法包括步驟:一、取得第一噪聲插入位置,二、取得第二噪聲插入位置和噪聲字符串的長(zhǎng)度,三、形成帶噪聲后半哈希密文,四、形成第一后半哈希密文,五、生成解密后的原始哈希密文。本發(fā)明能夠加強(qiáng)原始哈希密文的安全性,開(kāi)銷(xiāo)小。
【專(zhuān)利說(shuō)明】—種哈希密文再加密方法及再加密后的解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于加密【技術(shù)領(lǐng)域】,具體涉及一種哈希密文再加密方法及再加密后的解密方法。
【背景技術(shù)】
[0002]現(xiàn)有的用戶(hù)名加密的技術(shù)有MD5、SHA等加密手段。MD5加密的主要方式是將用戶(hù)的明文進(jìn)行哈希加密形成密文,然后將密文存儲(chǔ)在數(shù)據(jù)庫(kù)里面,以后用戶(hù)登錄時(shí),將其輸入的密碼轉(zhuǎn)換成MD5碼后與數(shù)據(jù)庫(kù)存儲(chǔ)的密文進(jìn)行比對(duì),判斷是否一致。雖然密碼在經(jīng)過(guò)MD5加密后的128bit的大整數(shù)是無(wú)法通過(guò)數(shù)學(xué)方式解密的,換句話(huà)說(shuō)就是,即使你看到源程序和算法描述,也無(wú)法將一個(gè)MD5的值變換回原始的字符串,從數(shù)學(xué)原理上說(shuō),是因?yàn)樵嫉淖址袩o(wú)窮多個(gè),這有點(diǎn)像不存在反函數(shù)的數(shù)學(xué)函數(shù)。但是,這樣的加密方式并不意味著百分之百的安全。原因在于,現(xiàn)在很多網(wǎng)絡(luò)的資源可以通過(guò)使用字典方式來(lái)枚舉MD5碼的密文,從而通過(guò)這種對(duì)應(yīng)的方式破解MD5加密之后的密文,獲得用戶(hù)登錄密碼的明文。雖然,MD5碼加密不存在逆過(guò)程,對(duì)于較為復(fù)雜的用戶(hù)密碼,MD5碼加密之后很難通過(guò)枚舉的手段進(jìn)行破譯。但是,數(shù)量眾多的用戶(hù)密碼并不都是復(fù)雜的密碼,這就為用戶(hù)的信息安全帶來(lái)了大量的問(wèn)題。例如:有一用戶(hù)的登錄密碼為“mynewpassword”,在http://tool.chinaz.com/TooIs/MD5.aspx 網(wǎng)站經(jīng)過(guò) MD5 加密之后,其密文為 “8E70383C69F7A3B7EA3F71B02F3E9731”,系統(tǒng)將此密文存儲(chǔ)到數(shù)據(jù)庫(kù)中,日后登錄時(shí)進(jìn)行比對(duì),判斷登錄用戶(hù)身份是否合法。但是,此密文一旦泄露,雖然無(wú)法使用數(shù)學(xué)方式反解,但我們還是可以通過(guò)其他手段取得其對(duì)應(yīng)的明文,例如,在http://www.md5.com.cn/md5這個(gè)網(wǎng)站中,可以將密文“8E70383C69F7A3B7EA3F71B02F3E9731”輸入到對(duì)話(huà)框中,點(diǎn)擊MD5Crack按鈕后,與其對(duì)應(yīng)的明文“mynewpassword”就會(huì)被顯示出來(lái)。經(jīng)過(guò)試驗(yàn),對(duì)于并不是很復(fù)雜的用戶(hù)密碼的MD5密文,該網(wǎng)站都可以對(duì)其進(jìn)行解密。從這一點(diǎn)就可以說(shuō)明,現(xiàn)在廣泛使用的MD5加密手段并不是十分的可靠。SHA加密與MD5加密相似,均由MD4加密導(dǎo)出,是美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所發(fā)布的國(guó)家標(biāo)準(zhǔn)FIPS PUB180,最新的標(biāo)準(zhǔn)已經(jīng)于2008年更新到FIPS PUB180-3。其中規(guī)定了 SHA-l,SHA-224,SHA-256,SHA-384,和 SHA-512 這幾種單向散列算法。SHA-1,SHA-224和SHA-256適用于長(zhǎng)度不超過(guò)2~64 二進(jìn)制位的消息,SHA-384和SHA-512適用于長(zhǎng)度不超過(guò)2~128 二進(jìn)制位的消息;SHA加密的思想是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更小)密文,也可以簡(jiǎn)單的理解為取一串輸入碼(稱(chēng)為預(yù)映射或信息),并把它們轉(zhuǎn)化為長(zhǎng)度較短、位數(shù)固定的輸出序列即散列值(也稱(chēng)為信息摘要或信息認(rèn)證代碼)的過(guò)程。SHA加密的強(qiáng)度與MD5加密也很相似,也存在不是十分可靠的缺陷。為了解決以上問(wèn)題,現(xiàn)有技術(shù)中有時(shí)會(huì)對(duì)密文進(jìn)行其它格式的編碼轉(zhuǎn)碼,例如,對(duì)哈希密文進(jìn)行ASCII,GB2312或者UTF8編碼,或者轉(zhuǎn)換成Base64字符串,但是,編碼轉(zhuǎn)碼方式簡(jiǎn)單,非常容易被破解。因此,需要有一種新的加密手段對(duì)MD5加密后的密文再次進(jìn)行加密,即便數(shù)據(jù)庫(kù)中的密文泄露之后,也很難使用這種枚舉方式進(jìn)行破譯。另外,現(xiàn)有技術(shù)對(duì)用戶(hù)明文進(jìn)行加密,得到密文,若再次對(duì)密文進(jìn)行加密,雖然可以提高密文的加密強(qiáng)度,但是所帶來(lái)的加密解密開(kāi)銷(xiāo)會(huì)大大增加。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問(wèn)題在于針對(duì)上述現(xiàn)有技術(shù)中的不足,提供一種高效、快速、能夠進(jìn)一步加強(qiáng)原始哈希密文的安全性、加密開(kāi)銷(xiāo)小、實(shí)用性強(qiáng)的哈希密文再加密方法。
[0004]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是:一種哈希密文再加密方法,其特征在于該方法包括以下步驟:
[0005]步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù);
[0006]步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0007]步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10, LI為自然數(shù);
[0008]步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù);
[0009]步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。
[0010]上述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度整除2的商。
[0011]上述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的第一個(gè)字符的ASCII碼和最后一個(gè)字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù)。
[0012]上述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文的第十個(gè)字符的ASCII碼和第二十字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù)。
[0013]上述的一種哈希密文再加密方法,其特征在于:步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和a?f。
[0014]上述的一種哈希密文再加密方法,其特征在于:步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和A?F。
[0015]本發(fā)明還提供了一種高效、快速、開(kāi)銷(xiāo)小、實(shí)用性強(qiáng)的哈希密文再加密后的解密方法,其特征在于該方法包括以下步驟:
[0016]步驟一、取得第一噪聲插入位置NI的值;
[0017]步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值;
[0018]步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,形成帶噪聲后半哈希密文;
[0019]步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文;
[0020]步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0021]本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):
[0022]1、本發(fā)明的加密與解密方法簡(jiǎn)單,實(shí)現(xiàn)方便。
[0023]2、本發(fā)明的加密方法采用了固定設(shè)置或采用靜態(tài)策略設(shè)置第一噪聲插入位置的方法,并采用了在第一后半哈希密文中隨機(jī)設(shè)置第二噪聲插入位置的方法,通過(guò)在第一噪聲插入位置和第二噪聲插入位置插入噪聲字符,能夠?qū)C芊膺M(jìn)行高效、快速的再加密,在哈希密文中加入了無(wú)用的干擾字符,就像在音樂(lè)里添加噪聲一樣,使得破解者無(wú)法分離出原始哈希密文,進(jìn)一步加強(qiáng)了哈希密文的加密強(qiáng)度,使得哈希密文的破解難度更高,并且,解密時(shí)也不會(huì)增加過(guò)多的開(kāi)銷(xiāo),此開(kāi)銷(xiāo)基本可以忽略不計(jì),從而保證了加密解密的高效性和安全性。
[0024]3、本發(fā)明加密解密操作的開(kāi)銷(xiāo)在微秒級(jí)別,所帶來(lái)的加密解密開(kāi)銷(xiāo)非常小。
[0025]4、本發(fā)明的實(shí)用性強(qiáng),便于推廣使用。
[0026]綜上所述,本發(fā)明的方法簡(jiǎn)單,實(shí)現(xiàn)方便,能夠高效、快速的對(duì)哈希密文進(jìn)行再加密和再加密后的解密,能夠進(jìn)一步加強(qiáng)原始哈希密文的安全性,加密解密開(kāi)銷(xiāo)小,實(shí)用性強(qiáng),便于推廣使用。
[0027]下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0028]圖1為本發(fā)明哈希密文再加密方法的方法流程框圖。
[0029]圖2為本發(fā)明哈希密文再加密后的解密方法的方法流程框圖。
【具體實(shí)施方式】
[0030]實(shí)施例1
[0031]如圖1所示,本發(fā)明哈希密文再加密方法,包括以下步驟:
[0032]步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù);這個(gè)固定的第一噪聲插入位置NI和取得第一噪聲插入位置NI的靜態(tài)策略只有加密者和解密者知道;
[0033]本實(shí)施例中,所述原始哈希密文為:
[0034]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的長(zhǎng)度 L3 為 32,所述原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串為:myNeWPaSSWOrd,所述用戶(hù)密碼字符串的長(zhǎng)度為13 ;設(shè)定的固定的第一噪聲插入位置NI = 4 ;[0035]步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0036]本實(shí)施例中,所述前半哈希密文為afl4,所述第一后半哈希密文為60a7f2732e78165c5bcfce66769c ;
[0037]步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10, LI為自然數(shù);
[0038]本實(shí)施例中,步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和a?f,能夠使得噪聲字符串與原始哈希密文的相似度更高,進(jìn)一步提高了加密的安全性;具體實(shí)施時(shí),采用了隨機(jī)噪聲生成函數(shù)RandomO生成一個(gè)噪聲字符串,生成的所述噪聲字符串為0af3el30b,所述噪聲字符串的長(zhǎng)度LI的取值為9 ;
[0039]步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù);
[0040]本實(shí)施例中,所述第一后半哈希密文的長(zhǎng)度L2的取值為28,所述第二噪聲插入位置N2的取值為6,形成的帶噪聲后半哈希密文為:60a7f20af3el30b732e78165c5bcfce66769c0
[0041]步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。
[0042]本實(shí)施例中,生成的再加密好的噪聲密文為:
[0043]afl46960a7f20af3el30b732e78165c5bcfce66769c。
[0044]如圖2所示,本發(fā)明哈希密文再加密后的解密方法,包括以下步驟:
[0045]步驟一、取得第一噪聲插入位置NI的值;
[0046]本實(shí)施例中,取得的第一噪聲插入位置NI的值為4 ;
[0047]步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值;
[0048]本實(shí)施例中,取得的所述第二噪聲插入位置N2的值為6,所述噪聲字符串的長(zhǎng)度LI的值為9 ;
[0049]步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,即去掉了所述第二噪聲插入位置N2的值和所述噪聲字符串的長(zhǎng)度LI的值,形成帶噪聲后半哈希密文;
[0050]本實(shí)施例中,所述再加密好的噪聲密文為:
[0051]afl46960a7f20af3el30b732e78165c5bcfce66769c,
[0052]所述前半哈希密文為:afl4,
[0053]所述第二后半哈希密文為:
[0054]6960a7f20af3el30b732e78165c5bcfce66769c,
[0055]在所述第二后半哈希密文中去掉前兩位后形成的帶噪聲后半哈希密文為:60a7f20af3el30b732e78165c5bcfce66769c ;
[0056]步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文;
[0057]本實(shí)施例中,形成的所述第一后半哈希密文為:
[0058]60a7f2732e78165c5bcfce66769c ;
[0059]步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0060]本實(shí)施例中,生成的解密后的原始哈希密文為:
[0061]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文與用戶(hù)密碼字符串所對(duì)應(yīng)的原始哈希密文完全符合。
[0062]實(shí)施例2
[0063]如圖1所示,本發(fā)明哈希密文再加密方法,包括以下步驟:
[0064]步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù);這個(gè)固定的第一噪聲插入位置NI和取得第一噪聲插入位置NI的靜態(tài)策略只有加密者和解密者知道;
[0065]本實(shí)施例中,所述原始哈希密文為:
[0066]AF1460A7F2732E78165C5BCFCE66769C,所述原始哈希密文的長(zhǎng)度 L3 為 32,所述原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串為:myNeWPaSSWOrd,所述用戶(hù)密碼字符串的長(zhǎng)度為13 ;取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度整除2的商,由于用戶(hù)密碼字符串的長(zhǎng)度為13,因此NI =6 ;
[0067]步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0068]本實(shí)施例中,所述前半哈希密文為AF1460,所述第一后半哈希密文為A7F2732E78165C5BCFCE66769C ;
[0069]步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10,L1為自然數(shù);
[0070]本實(shí)施例中,步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和A?F,能夠使得噪聲字符串與原始哈希密文的相似度更高,進(jìn)一步提高了加密的安全性;具體實(shí)施時(shí),采用了隨機(jī)噪聲生成函數(shù)RandomO生成一個(gè)噪聲字符串,生成的所述噪聲字符串為0AFE2130B,所述噪聲字符串的長(zhǎng)度LI的取值為9 ;
[0071]步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù);
[0072]本實(shí)施例中,所述第一后半哈希密文的長(zhǎng)度L2的取值為26,所述第二噪聲插入位置N2的取值為8,形成的帶噪聲后半哈希密文為:A7F2732E0AFE2130B78165C5BCFCE66769C0
[0073]步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。[0074]本實(shí)施例中,生成的再加密好的噪聲密文為:
[0075]AF146089A7F2732E0AFE2130B78165C5BCFCE66769C。
[0076]如圖2所示,本發(fā)明哈希密文再加密后的解密方法,包括以下步驟:
[0077]步驟一、取得第一噪聲插入位置NI的值;
[0078]本實(shí)施例中,取得的第一噪聲插入位置NI的值為6 ;
[0079]步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值;
[0080]本實(shí)施例中,取得的所述第二噪聲插入位置N2的值為8,所述噪聲字符串的長(zhǎng)度LI的值為9 ;
[0081]步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,即去掉了所述第二噪聲插入位置N2的值和所述噪聲字符串的長(zhǎng)度LI的值,形成帶噪聲后半哈希密文;
[0082]本實(shí)施例中,所述再加密好的噪聲密文為:
[0083]AF146089A7F2732E0AFE2130B78165C5BCFCE66769C,
[0084]所述前半哈希密文為:AF1460,
[0085]所述第二后半哈希密文為:
[0086]89A7F2732E0AFE2130B78165C5BCFCE66769C,
[0087]在所述第二后半哈希密文中去掉前兩位后形成的帶噪聲后半哈希密文為:A7F2732E0AFE2130B78165C5BCFCE66769C ;
[0088]步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文;
[0089]本實(shí)施例中,形成的所述第一后半哈希密文為:
[0090]A7F2732E78165C5BCFCE66769C ;
[0091]步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0092]本實(shí)施例中,生成的解密后的原始哈希密文為:
[0093]AF1460A7F2732E78165C5BCFCE66769C,解密后的原始哈希密文與用戶(hù)密碼字符串所對(duì)應(yīng)的原始哈希密文完全符合。
[0094]實(shí)施例3
[0095]如圖1所示,本發(fā)明哈希密文再加密方法,包括以下步驟:
[0096]步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù);這個(gè)固定的第一噪聲插入位置NI和取得第一噪聲插入位置NI的靜態(tài)策略只有加密者和解密者知道;
[0097]本實(shí)施例中,所述原始哈希密文為:
[0098]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的長(zhǎng)度 L3 為 32,所述原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串為:myNeWPaSSWOrd,所述用戶(hù)密碼字符串的長(zhǎng)度為13 ;取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的第一個(gè)字符的ASCII碼和最后一個(gè)字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù);原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的第一個(gè)字符m的ASCII碼為109,原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的最后一個(gè)字符d的ASCII碼為100,因此NI = I ;
[0099]步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0100]本實(shí)施例中,所述前半哈希密文為a,所述第一后半哈希密文為n460a7f2732e78165c5bcfce66769c ;
[0101]步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10, LI為自然數(shù);
[0102]本實(shí)施例中,步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和a?f,能夠使得噪聲字符串與原始哈希密文的相似度更高,進(jìn)一步提高了加密的安全性;具體實(shí)施時(shí),采用了隨機(jī)噪聲生成函數(shù)RandomO生成一個(gè)噪聲字符串,生成的所述噪聲字符串為8c473ea2,所述噪聲字符串的長(zhǎng)度LI的取值為8 ;
[0103]步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù);
[0104]本實(shí)施例中,所述第一后半哈希密文的長(zhǎng)度L2的取值為31,所述第二噪聲插入位置N2的取值為7,形成的帶噪聲后半哈希密文為:fl460a78c473ea2f2732e78165c5bcfce66769c。
[0105]步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。
[0106]本實(shí)施例中,生成的再加密好的噪聲密文為:
[0107]a78fl460a78c473ea2f2732e78165c5bcfce66769co
[0108]如圖2所示,本發(fā)明哈希密文再加密后的解密方法,包括以下步驟:
[0109]步驟一、取得第一噪聲插入位置NI的值;
[0110]本實(shí)施例中,取得的第一噪聲插入位置NI的值為I ;
[0111]步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值;
[0112]本實(shí)施例中,取得的所述第二噪聲插入位置N2的值為7,所述噪聲字符串的長(zhǎng)度LI的值為8 ;
[0113]步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,即去掉了所述第二噪聲插入位置N2的值和所述噪聲字符串的長(zhǎng)度LI的值,形成帶噪聲后半哈希密文;
[0114]本實(shí)施例中,所述再加密好的噪聲密文為:
[0115]a78fl460a78c473ea2f2732e78165c5bcfce66769c,
[0116]所述前半哈希密文為:a,
[0117]所述第二后半哈希密文為:
[0118]78fl460a78c473ea2f2732e78165c5bcfce66769c,[0119]在所述第二后半哈希密文中去掉前兩位后形成的帶噪聲后半哈希密文為:H460a78c473ea2f2732e78165c5bcfce66769c ;
[0120]步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文;
[0121]本實(shí)施例中,形成的所述第一后半哈希密文為:
[0122]fl460a7f2732e78165c5bcfce66769c ;
[0123]步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0124]本實(shí)施例中,生成的解密后的原始哈希密文為:
[0125]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文與用戶(hù)密碼字符串所對(duì)應(yīng)的原始哈希密文完全符合。
[0126]實(shí)施例4
[0127]如圖1所示,本發(fā)明哈希密文再加密方法,包括以下步驟:
[0128]步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù);這個(gè)固定的第一噪聲插入位置NI和取得第一噪聲插入位置NI的靜態(tài)策略只有加密者和解密者知道;
[0129]本實(shí)施例中,所述原始哈希密文為:
[0130]afl460a7f2732e78165c5bcfce66769c,所述原始哈希密文的長(zhǎng)度 L3 為 32,所述原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串為:myNeWPaSSWOrd,所述用戶(hù)密碼字符串的長(zhǎng)度為13 ;取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文的第十個(gè)字符的ASCII碼和第二十字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù);由于原始哈希密文的第十個(gè)字符2的ASCII碼為50,原始哈希密文的第二十字符c的ASCII碼為99,因此NI = 6 ;原始哈希密文由長(zhǎng)度為32位的十六進(jìn)制數(shù)或長(zhǎng)度為128位的二進(jìn)制數(shù)組成。
[0131]步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希S文;
[0132]本實(shí)施例中,所述前半哈希密文為afl460,所述第一后半哈希密文為a7f2732e78165c5bcfce66769c ;
[0133]步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10, LI為自然數(shù);
[0134]本實(shí)施例中,步驟三中所述噪聲字符串中每一位字符的取值范圍為O?9和a?f,能夠使得噪聲字符串與原始哈希密文的相似度更高,進(jìn)一步提高了加密的安全性;具體實(shí)施時(shí),采用了隨機(jī)噪聲生成函數(shù)RandomO生成一個(gè)噪聲字符串,生成的所述噪聲字符串為cf26ed9,所述噪聲字符串的長(zhǎng)度LI的取值為7 ;
[0135]步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù);[0136]本實(shí)施例中,所述第一后半哈希密文的長(zhǎng)度L2的取值為26,所述第二噪聲插入位置N2的取值為9,形成的帶噪聲后半哈希密文為:
[0137]a7f2732e7cf26ed98165c5bcfce66769c0
[0138]步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。
[0139]本實(shí)施例中,生成的再加密好的噪聲密文為:
[0140]afl46097a7f2732e7cf26ed98165c5bcfce66769co
[0141]如圖2所示,本發(fā)明哈希密文再加密后的解密方法,包括以下步驟:
[0142]步驟一、取得第一噪聲插入位置NI的值;
[0143]本實(shí)施例中,取得的第一噪聲插入位置NI的值為6 ;
[0144]步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值;
[0145]本實(shí)施例中,取得的所述第二噪聲插入位置N2的值為9,所述噪聲字符串的長(zhǎng)度LI的值為7 ;
[0146]步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,即去掉了所述第二噪聲插入位置N2的值和所述噪聲字符串的長(zhǎng)度LI的值,形成帶噪聲后半哈希密文;
[0147]本實(shí)施例中,所述再加密好的噪聲密文為:
[0148]afl46097a7f2732e7cf26ed98165c5bcfce66769c,
[0149]所述前半哈希密文為:afl460,
[0150]所述第二后半哈希密文為:97a7f2732e7cf26ed98165c5bcfce66769c,
[0151]在所述第二后半哈希密文中去掉前兩位后形成的帶噪聲后半哈希密文為:a7f2732e7cf26ed98165c5bcfce66769c ;
[0152]步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文;
[0153]本實(shí)施例中,形成的所述第一后半哈希密文為:
[0154]a7f2732e78165c5bcfce66769c ;
[0155]步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
[0156]本實(shí)施例中,生成的解密后的原始哈希密文為:
[0157]afl460a7f2732e78165c5bcfce66769c,解密后的原始哈希密文與用戶(hù)密碼字符串所對(duì)應(yīng)的原始哈希密文完全符合。
[0158]以上所述,僅是本發(fā)明的較佳實(shí)施例,并非對(duì)本發(fā)明作任何限制,凡是根據(jù)本發(fā)明技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、變更以及等效結(jié)構(gòu)變化,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種哈希密文再加密方法,其特征在于該方法包括以下步驟: 步驟一、設(shè)定一個(gè)固定的第一噪聲插入位置NI,或者設(shè)定一種取得第一噪聲插入位置NI的靜態(tài)策略;其中,NI為自然數(shù)且N1〈L3,L3為原始哈希密文的長(zhǎng)度且為自然數(shù); 步驟二、從所述第一噪聲插入位置NI處將原始哈希密文分成前半哈希密文和第一后半哈希密文; 步驟三、隨機(jī)生成一個(gè)噪聲字符串,所述噪聲字符串的長(zhǎng)度LI的取值范圍為0〈L1〈10,LI為自然數(shù); 步驟四、在所述第一后半哈希密文中隨機(jī)找一個(gè)插入所述噪聲字符串的第二噪聲插入位置N2,并在所述第二噪聲插入位置N2處插入所述噪聲字符串,形成帶噪聲后半哈希密文;其中,N2的取值范圍為0〈N2〈10,N2為自然數(shù)且N2〈L2,L2為所述第一后半哈希密文的長(zhǎng)度且為自然數(shù); 步驟五、將所述前半哈希密文、第二噪聲插入位置N2、噪聲字符串的長(zhǎng)度LI和帶噪聲后半哈希密文依次合并,生成再加密好的噪聲密文。
2.按照權(quán)利要求1所述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度整除2的商。
3.按照權(quán)利要求1所述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的第一個(gè)字符的ASCII碼和最后一個(gè)字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù)。
4.按照權(quán)利要求1所述的一種哈希密文再加密方法,其特征在于:步驟一中所述取得第一噪聲插入位置NI的靜態(tài)策略為:所述第一噪聲插入位置NI為原始哈希密文的第十個(gè)字符的ASCII碼和第二十字符的ASCII碼之和整除原始哈希密文所對(duì)應(yīng)的用戶(hù)密碼字符串的長(zhǎng)度的余數(shù)。
5.按照權(quán)利要求1所述的一種哈希密文再加密方法,其特征在于:步驟三中所述噪聲字符串中每一位字符的取值范圍為O~9和a~f。
6.按照權(quán)利要求1所述的一種哈希密文再加密方法,其特征在于:步驟三中所述噪聲字符串中每一位字符的取值范圍為O~9和A~F。
7.一種對(duì)采用如權(quán)利要求1所述再加密方法進(jìn)行再加密后的哈希密文進(jìn)行解密的方法,其特征在于該方法包括以下步驟: 步驟一、取得第一噪聲插入位置NI的值; 步驟二、根據(jù)所述第一噪聲插入位置NI,從所述再加密好的噪聲密文中,取得所述第二噪聲插入位置N2的值和噪聲字符串的長(zhǎng)度LI的值; 步驟三、從所述第一噪聲插入位置NI處將所述再加密好的噪聲密文分成前半哈希密文和第二后半哈希密文,并在所述第二后半哈希密文中去掉前兩位,形成帶噪聲后半哈希密文; 步驟四、在所述帶噪聲后半哈希密文中,根據(jù)所述第二噪聲插入位置N2和所述噪聲字符串的長(zhǎng)度LI,去掉所述噪聲字符串,形成第一后半哈希密文; 步驟五、將所述前半哈希密文和第一后半哈希密文依次合并,生成解密后的原始哈希密文。
【文檔編號(hào)】G06F21/62GK103942501SQ201410198900
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2014年5月11日 優(yōu)先權(quán)日:2014年5月11日
【發(fā)明者】龔星宇 申請(qǐng)人:西安科技大學(xué)