[上課筆記] DES 密碼系統

先來淺談一下密碼學的歷史,當年電腦時代尚未發達的時候,都是透過電報與打字機交換資訊,而保密這需求來自於軍方通聯,尤其是第二次世界大戰。我們可以把這個時代與現在的時代分為

1.機械時代:透過換位與取代的方式將明文轉換成密文,如Rotor Machine。
2.電腦時代:可傳資料量大,故有長明文之加密考量,切割成短明文區塊後循序加密各個區塊。

密碼學對於網路資訊有很大的,其中DES受到重用,DES為美國國家標準,由IBM所做出的商用加密法並且世界通用。

DES規則
  • 密KEY系統
  • 屬於對稱式
  • 單一KEY(密KEY)
  • 區塊加密原理
  • 密KEY長度56bit=>須分解成16把key,各key佔48bit
  • 區塊長度64bit
  • 取代/換位會經過16回合次數轉換,各回合使用1把key
DES演算流程大綱
  1. 切割成64bit區塊
  2. 最末端區塊因不足需補足64bit
  3. 每區塊對切一半成為子區塊32bit(R)與32bit(L),這兩區塊透過S-BOX擴充成48bit
  4. 48bit子區塊與48bit子密key透過演算結果得到48bit,再透過S-BOX轉回32bit
  5. 重複1-4共16回合
  6. 得到密文區塊
這樣的流程還不夠安全,固DES在切割子區塊前利用初始排列與密文區塊組合時使用終結排列來提升安全性,但初始排列表及終結排列表必須傳給解密者,以利作為反向式操作。
DES運用
  • DES ECB mode
  • DES CBC mode(無線通訊運用,利用IV不同用戶)
  • DES CFB/OFB mode(用在串流加密)-
    串流資料小於64bit(區塊);補足至64bit、做DES演算、取出原始位元傳送,如8bit->64bit演算->取前8bit密文傳送。

留言