活力密碼是什么意思「活力寶貝是什么意思」( 四 )


1. 數據加密
【活力密碼是什么意思「活力寶貝是什么意思」】數據加密總共進行16輪的迭代,如圖所示 。具體描述為(將明文x分成32位的兩部分:xL, xR)
for i = 1 to 16
{
xL = xL XOR Pi
xR = F(xL) XOR xR
if
{
交換xL和xR
}
}
xR = xR XOR P17
xL = xL XOR P18
合并xL 和xR
其中,P陣為18個32位子密鑰P1,P2,…,P18 。
解密過程和加密過程完全一樣,只是密鑰P1,P2,…,P18以逆序使用 。
2. 函數F
把xL分成四個8位子分組:a, b, c 和d,分別送入四個S盒,每個S盒為8位輸入,32位輸出 。四個S盒的輸出經過一定的運算組合出32位輸出,運算為
F(xL) =((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232
其中,Si,x表示子分組x(x=a、b、c或d)經過Si (i=1、2、3或4)盒的輸出 。
沒有太多地方寫了,不把整個過程列上面了,就簡單介紹一下好了 。
GOST算法
GOST是前蘇聯設計的分組密碼算法,為前蘇聯國家標準局所采用,標準號為:28147–89[5] 。
GOST的消息分組為64位,密鑰長度為256位,此外還有一些附加密鑰,采用32輪迭代 。
RC5算法
RC5是一種分組長度、密鑰長度和加密迭代輪數都可變的分組密碼體制 。RC5算法包括三部分:密鑰擴展、加密算法和解密算法 。
PKZIP算法
PKZIP加密算法是一個一次加密一個字節的、密鑰長度可變的序列密碼算法,它被嵌入在PKZIP數據壓縮程序中 。
該算法使用了三個32位變量key0、key1、key2和一個從key2派生出來的8位變量key3 。由密鑰初始化key0、key1和key2并在加密過程中由明文更新這三個變量 。PKZIP序列密碼的主函數為updata_keys() 。該函數根據輸入字節(一般為明文),更新三個32位的變量并獲得key3 。
重點:單向散列函數
MD5 算 法
md5的全稱是message- digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來 。它的作用是讓大容量信息在用數字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一 個任意長度的字節串變換成一定長的大整數) 。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息并產生一個128位的信息摘要 。雖然這些 算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電 腦 。
rivest在1989年開發出md2算法 。在這個算法中,首先對信息進行數據補位,使信息的字節長度是16的倍數 。然后,以一個16位的檢驗和追加到 信息末尾 。并且根據這個新產生的信息計算出散列值 。后來,rogier和chauvaud發現如果忽略了檢驗和將產生md2沖突 。md2算法的加密后結果 是唯一的--既沒有重復 。為了加強算法的安全性,rivest在1990年又開發出md4算法 。md4算法同樣需要填補信息以確 保信息的字節長度加上448后能被512整除(信息字節長度mod 512 = 448) 。然后,一個以64位二進制表示的信息的最初長度被添加進來 。信息被處理成512位damg?rd/merkle迭代結構的區塊,而且每個區塊要 通過三個不同步驟的處理 。den boer和bosselaers以及其他人很快的發現了攻擊md4版本中之一步和第三步的漏洞 。dobbertin向大家演示了如何利用一部普通的個人電 腦在幾分鐘內找到md4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導致對不同的內容進行加密卻可能得到相同的加密后結果) 。毫無疑問,md4就此 被淘汰掉了 。盡管md4算法在安全上有個這么大的漏洞,但它對在其后才被開發出來的好幾種信息安全加密算法的出現卻有著不可忽視的引導作用 。除了md5以外,其中比較有名的還有sha-1、ripe-md以及haval等 。
一年以后,即1991年,rivest開發出技術上更為趨近成熟的md5算法 。它在md4的基礎上增加了"安全-帶子"(safety-belts)的 概念 。雖然md5比md4稍微慢一些,但卻更為安全 。這個算法很明顯的由四個和md4設計有少許不同的步驟組成 。在md5算法中,信息-摘要的大小和填充 的必要條件與md4完全相同 。den boer和bosselaers曾發現md5算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發現的加密后結果了 。van oorschot和wiener曾經考慮過一個在散列中暴力搜尋沖突的函數(brute-force hash function),而且他們猜測一個被設計專門用來搜索md5沖突的機器(這臺機器在1994年的制造成本大約是一百萬美元)可以平均每24天就找到一 個沖突 。但單從1991年到2001年這10年間,竟沒有出現替代md5算法的md6或被叫做其他什么名字的新算法這一點,我們就可以看出這個瑕疵并沒有 太多的影響md5的安全性 。上面所有這些都不足以成為md5的在實際應用中的問題 。并且,由于md5算法的使用不需要支付任何版權費用的,所以在一般的情 況下(非絕密應用領域 。但即便是應用在絕密領域內,md5也不失為一種非常優秀的中間技術),md5怎么都應該算得上是非常安全的了 。

推薦閱讀