iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 20
1

https://ithelp.ithome.com.tw/upload/images/20191006/20115060SwJPRWHZ0K.jpg

{名詞解釋}

區塊加密法

  • 一次 m 個 bits 做加密
  • Ex: Vigenere 加密法

串流加密法

  • 通常是一個 bit 一個 bit 並使用 XOR 做加密
  • Ex:加法加密法

{對稱式加密系統}

  • 同一把金鑰做加解密

  • 剛剛說的「加法加密法」、「Vigenere 加密法」都是對稱式加密

DES(Data Encryption Standard) 資料加密標準

DES結構

  • 加密程序

    • 初始排列(標準P-box) > 16個回合的Feistel > 最終排列(標準P-box)
  • 金鑰長度 64bits / 56bits

    • 因64bit前8bit用來做校驗用
  • 區塊加密法,一次加密區塊大小64bits

    • 輸入64bits 輸出64bits

DES弱金鑰

  • 將明文將"加密"兩次會等於原來的明文,即加密兩次等於沒加密
  • E(E(m)) = m
弱金鑰
0x0101010101010101
0xFEFEFEFEFEFEFEFE
0xE0E0E0E0F1F1F1F1
0x1F1F1F1F0E0E0E0E

DES弱金鑰練習

  • SharifCTF 8 2018 - DES
    • 找到使用哪把弱金鑰
    • P = 89bc8acb348c1ecc
      C = 9e31ef5a8cef654

DES問題

  • 金鑰太短(金鑰數量2^56^),導致可被暴力破解
    • 2008年,SciEngines公司的COPACOBANA RIVYERA破解DES的時間減少到了1天以內(Wiki)

雙重DES

  • 明文加密(第一把金鑰)

  • 中間文加密(第二把金鑰)

  • 理論上金鑰數量應該為2^56^ * 2 ^56^ = 2^112

  • 中間相遇攻擊(meet‐in‐the‐middle attack)

    • 已知明文攻擊
    • 將明文透過Key1做加密會得到一個中間文
    • 此時如果已經“知道明文”
      只要嘗試透過Key2解密得到跟Key1加密一樣的中間文,即可知道Key1及Key2
      • 實際上金鑰數量為 2^56^ + 2 ^56^ = 2^57

三重DES

  • 明文加密(第一把金鑰)

  • 中間文_1解密(第二把金鑰)

  • 中間文_1加密(第三把金鑰)


上一篇
『 Day 19』密碼卷宗 古典篇 - Caesar & Vigenere
下一篇
『 Day 21』密碼卷宗 現代篇 對稱章 - AES
系列文
到處挖坑,現在該來還(填)願(坑)ㄌ !!!30

尚未有邦友留言

立即登入留言