資源描述:
《加密算法之des算法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、DES算法一、DES算法 美國國家標(biāo)準(zhǔn)局1973年開始研究除國防部外的其它部門的計算機系統(tǒng)的數(shù)據(jù)加密標(biāo)準(zhǔn),于1973年5月15日和1974年8月27日先后兩次向公眾發(fā)出了征求加密算法的公告。加密算法要達(dá)到的目的(通常稱為DES密碼算法要求)主要為以下四點:?☆提供高質(zhì)量的數(shù)據(jù)保護(hù),防止數(shù)據(jù)未經(jīng)授權(quán)的泄露和未被察覺的修改加密算法之MD5算法原文:加密算法之MD5算法?????????在一些初始化處理后,MD5以512位分組來處理輸入文本,每一分組又劃分為16個32位子分組。算法的輸出由四個32位分組組成,將
2、它們級聯(lián)形成一個128位散列值。首先填充消息使其長度恰好為一個比512位的倍數(shù)僅小64位的數(shù)。填充方法是附一個1在消息后面,后接所要求的多個0,然后在其后附上64位的消息長度(填充前)。這兩步的作用是使消息長度恰好是512位的整數(shù)倍(算法的其余部分要求如此),同時確保不同的消息在填充后不相同。四個32位變量初始化為:A=0x01234567B=0x89abcdefC=0xfedcba98D=0x76543210它們稱為鏈接變量(chainingvariable)接著進(jìn)行算法的主循環(huán),循環(huán)的次數(shù)是消息中512
3、位消息分組的數(shù)目。將上面四個變量復(fù)制到別外的變量中:A到a,B到b,C到c,D到d。主循環(huán)有四輪(MD4只有三輪),每輪很相擬。第一輪進(jìn)行16次操作。每次操作對a,b,c和d中的其中三個作一次非線性函數(shù)運算,然后將所得結(jié)果加上第四個變量,文本的一個子分組和一個常數(shù)。再將所得結(jié)果向右環(huán)移一個不定的數(shù),并加上a,b,c或d中之一。最后用該結(jié)果取代a,b,c或d中之一。以一下是每次操作中用到的四個非線性函數(shù)(每輪一個)。F(X,Y,Z)=(X&Y)
4、((~X)&Z)G(X,Y,Z)=(X&Z)
5、(Y&(~Z))H
6、(X,Y,Z)=X^Y^ZI(X,Y,Z)=Y^(X
7、(~Z))(&是與,
8、是或,~是非,^是異或)這些函數(shù)是這樣設(shè)計的:如果X、Y和Z的對應(yīng)位是獨立和均勻的,那么結(jié)果的每一位也應(yīng)是獨立和均勻的。函數(shù)F是按逐位方式操作:如果X,那么Y,否則Z。函數(shù)H是逐位奇偶操作符。設(shè)Mj表示消息的第j個子分組(從0到15),<<
9、G(b,c,d)+Mj+ti)<<
10、4,7,0xf57c0faf)FF(d,a,b,c,M5,12,0x4787c62a)FF(c,d,a,b,M6,17,0xa8304613)FF(b,c,d,a,M7,22,0xfd469501)FF(a,b,c,d,M8,7,0x698098d8)FF(d,a,b,c,M9,12,0x8b44f7af)FF(c,d,a,b,M10,17,0xffff5bb1)FF(b,c,d,a,M11,22,0x895cd7be)FF(a,b,c,d,M12,7,0x6b901122)FF(d,a,b,c,M13,1
11、2,0xfd987193)FF(c,d,a,b,M14,17,0xa679438e)FF(b,c,d,a,M15,22,0x49b40821)第二輪GG(a,b,c,d,M1,5,0xf61e2562)GG(d,a,b,c,M6,9,0xc040b340)GG(c,d,a,b,M11,14,0x265e5a51)GG(b,c,d,a,M0,20,0xe9b6c7aa)GG(a,b,c,d,M5,5,0xd62f105d)GG(d,a,b,c,M10,9,0x02441453)GG(c,d,a,b,M15,1
12、4,0xd8a1e681)GG(b,c,d,a,M4,20,0xe7d3fbc8)GG(a,b,c,d,M9,5,0x21e1cde6)GG(d,a,b,c,M14,9,0xc33707d6)GG(c,d,a,b,M3,14,0xf4d50d87)GG(b,c,d,a,M8,20,0x455a14ed)GG(a,b,c,d,M13,5,0xa9e3e905)GG(d,a,b,c,M2,9,0xfcefa3f8)G