[上課筆記] 加密原理


密碼學的基本原理主要是把原文透過某種規律變化成另一種不具任何意義的字串碼,這些規律都是靠演算法所定律出來的,下列依歷史程度介紹
  1. 乘積加密法 (page-2-14)
    • 因對於電腦應用利用區塊作業
    • 原有的加密方式,執行取代/換位程序
    • 結合密Key做回合運算
  2. Feistel提出實作演算法 (page-2-15)
  3. IBM提出以Feistel模型為主的DES加密系統,為1997年後的商業加密應用始祖(page-2-19)
DES
Feistl軍方釋放的演算法,IBM添加重新包裝成為商用加密應用:
1. 區塊長度=64Bits,演算法分為兩區32bit+32bit。(為了與KeyXOR運算,需透過S-BOX使32bit變成48bit
2. Key長度=56Bits,另加檢查位元8bits=>64bits,演算時衍生出16把子key而子key長度=48bits
3. 演算回合數=16回合,左/右區塊加子key作業為一回合。
DES商業操作模式(主要四類)
1. ECB操作(大量資料) (page-2-31) 每一區塊獨立演算形成密文區塊,其中密文區塊之間無關聯性
2. CBC操作(大量資料) (page-2-33) 選用起始向量(IV)加入第一區塊運算成第一密文區塊,第一密文區塊作為第二區塊運算時的IV加入運算以此類推。故因此各密文區塊有連結關係。
3. J-bit CFB(串流連續資料) (page-2-35) j位元明文(j<64bit span="">64bit區塊演算後,只取j位元密文輸出,另第一個j位元密文做為第二個j位元輸入演算的IV值;前一個j位元密文出錯,會連帶影響下一個j位元輸出內容
4. J-bit OFB(串流連續資料) (page-2-37) 3操作模式,第一個j位元演算結果書輸出為密文。第二個j位元演算之IV值,取用演算結果而非輸出密文。演算結果與各j位元輸入相關,故前一個密文錯誤,不影響下一個密文。
DES的破解 (page-3-3) 56位元DES發表時,DiffieHellman兩人於1977年花約2000萬美元串連幾部電腦,採用已知的明文與相對的密文,桔果一天內可以收尋到2^(56次方)把鎖匙,即可破解DES演算法,故因此除非大費周章,否則有一定的安全性存在。
當然隨的時代變化,現在的電腦技術不能與以前相比,因此後期又發表了新版本。
IDEA(歐洲瑞士聯邦=DES類似)
1. 區塊=64bit,演算時分四區16+16+16+16
2. key=128bits,分52
3. 回合數8回合,每回合4區塊/6Key,另輸出轉換/4把子key

RC5(RSA)
允許自行定義。
W=32 =>32+32=64/每區塊
W=64 =>64+64=128/每區塊
………………
b=1 =>8bitkey
b=16 =>128bitkey
b=32 =>256bitkey
…………..
r=1212回合
3DES
採用多把key(2~3)執行DES加密/解密程序共3
l key1=key3=>只使用key1(3)&key2共兩把進行作業
l key1 /= key3=>使用三把進行作業
l ede順序為(++)
l ded順序為(++)

留言