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