DES算法基本原理
DES算法基本原理
?
DES算法為密碼體制中的對稱密碼體制,又被稱為美國數(shù)據(jù)加密標(biāo)準(zhǔn)。
DES是一個分組加密算法,典型的DES以64位為分組對數(shù)據(jù)加密,加密和解密用的是同一個算法。
密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數(shù)個1),分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組。
?
步驟:
IP置換
IP置換目的是將輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位。
密鑰置換
不考慮每個字節(jié)的第8位,DES的密鑰由64位減至56位,每個字節(jié)的第8位作為奇偶校驗位。產(chǎn)生的56位密鑰由規(guī)則表生成;
? ? ? 在DES的每一輪中,從56位密鑰產(chǎn)生出不同的48位子密鑰,確定這些子密鑰的方式如下:
1).將56位的密鑰分成兩部分,每部分28位。
2).根據(jù)輪數(shù),這兩部分分別循環(huán)左移1位或2位。每輪移動的位數(shù)按規(guī)則表;
? ? ? 移動后,從56位中選出48位。這個過程中,既置換了每位的順序,又選擇了子密鑰,因此稱為壓縮置換。壓縮置換規(guī)則按規(guī)則表;
擴(kuò)展置換
擴(kuò)展置換目標(biāo)是IP置換后獲得的右半部分R0,將32位輸入擴(kuò)展為48位(分為4位×8組)輸出。
S盒代替
壓縮后的密鑰與擴(kuò)展分組異或以后得到48位的數(shù)據(jù),將這個數(shù)據(jù)送人S盒,進(jìn)行替代運算。替代由8個不同的S盒完成,每個S盒有6位輸入4位輸出。48位輸入分為8個6位的分組,一個分組對應(yīng)一個S盒,對應(yīng)的S盒對各組進(jìn)行代替操作。
P盒置換
S盒代替運算的32位輸出按照P盒進(jìn)行置換。該置換把輸入的每位映射到輸出位,任何一位不能被映射兩次,也不能被略去,映射規(guī)則按規(guī)則表;
IP-1末置換
末置換是初始置換的逆過程,DES最后一輪后,左、右兩半部分并未進(jìn)行交換,而是兩部分合并形成一個分組做為末置換的輸入。
經(jīng)過以上步驟,就可以得到密文了。
?
總結(jié)
- 上一篇: 超图桌面版下载、安装、使用入门
- 下一篇: jsp对弹出jsp传值 和刷新网页后js