1 / 71

密碼學

密碼學. Chapter 3 基於電腦的對稱性金鑰密碼學演算法 Computer-based Symmetric Key Cryptographic Algorithms (Part 1). 前言. 電腦執行加密是十分簡單與快速的。對稱性金鑰密碼學受歡迎已相當久,最近則是非對稱性金鑰密碼學受到更多的注目。 然而,在實際上大多仍是使用對稱性與非對稱性金鑰密碼學的組合。. 演算法型態和模式. 電腦的密碼學包含兩種概念 演算法型態 定義加密步驟中明文的大小 演算法模式 定義密碼學演算法的細節. 演算法型態. 從明文產生密文有兩種基本方式 串流密碼 區塊密碼.

silas
Download Presentation

密碼學

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 密碼學 Chapter 3 基於電腦的對稱性金鑰密碼學演算法 Computer-based Symmetric Key Cryptographic Algorithms (Part 1)

  2. 前言 • 電腦執行加密是十分簡單與快速的。對稱性金鑰密碼學受歡迎已相當久,最近則是非對稱性金鑰密碼學受到更多的注目。 • 然而,在實際上大多仍是使用對稱性與非對稱性金鑰密碼學的組合。

  3. 演算法型態和模式 • 電腦的密碼學包含兩種概念 • 演算法型態 • 定義加密步驟中明文的大小 • 演算法模式 • 定義密碼學演算法的細節

  4. 演算法型態 • 從明文產生密文有兩種基本方式 • 串流密碼 • 區塊密碼

  5. 串流密碼 • 串流密碼技術是將明文中每個位元逐一加密,解密也是同樣規則。 • 加解密過程耗費時間 • 使用XOR邏輯函數 • XOR是可反推的──使用兩次後,它會產生原始值。這在密碼學中非常有用。 輸入1 輸入2 輸出 0 0 0 0 1 1 1 0 1 1 1 0

  6. 串流密碼

  7. 區塊密碼 • 區塊密碼技術為一次加密一個明文區塊 • 解密也是一次只針對一個密文區塊 • 密碼分析者可藉由重複的區塊來破解訊息 • 重複的明文區塊進行加密會得到重複的密文區塊 • 可使用鏈結模式來代替解決破解的問題

  8. 在發送端的加密過程 明文 FOUR _AND_ FOUR 加密 加密 加密 VFa% ^yT1x VFa% 密文

  9. 在接收端的解密過程 密文 VFa% ^yT1x VFa% 解密 解密 解密 FOUR _AND_ FOUR 明文

  10. 混淆與擴散 • 夏儂 (Claude Shannon) 提出混淆與擴散的概念 • 混淆 • 確保密文中沒有任何線索可以導出原始明文 • 替代技術 • 擴散 • 藉由分佈明文橫越行列來增加多餘的明文 • 換位技術(排列技術)

  11. 演算法模式 • 使用區塊密碼 • 電子碼冊(ECB) • 密碼區塊鏈結(CBC) • 使用區塊密碼且動作如同串流密碼 • 密碼回饋(CFB) • 輸出回饋(OFB)

  12. 電子碼冊模式(ECB) • 最簡單的操作模式 • 輸入的明文訊息被分割成每區塊64位元 • 每區塊被獨立的加密 • 只適合加密小訊息 • 因為重複的明文區塊較少出現

  13. ECB模式-加密過程

  14. ECB模式-解密過程

  15. 密碼區塊鏈結模式(CBC) • 確保一個明文區塊在輸入端重複出現時,這相同的明文區塊在輸出會產生元全不同的密文區塊 • 相同的明文區會得到不同的密文區塊 • 使用回饋機制來達成 • 每一個區塊被用來修正下一個區塊的加密

  16. CBC模式-加密過程 初始化向量(區塊)

  17. CBC模式-解密過程

  18. 密碼回饋(CFB) • 不是所有的應用都可以使用資料區塊方式處理 • 例如終端機的連線過程需要加密 • 終端機的資料傳輸通常以字元(8位元)為單位 • 資料加密單位(通常為8位元)會小於一個區塊大小(通常為64位元)

  19. CFB模式-加密過程 步驟 1 64位元 步驟 2 步驟 3

  20. CFB模式-加密過程

  21. CFB模式-解密過程 密文 j位元 密文 j位元 密文 j位元 明文 j位元 明文 j位元 明文 j位元

  22. 輸出回饋(OFB) • 與密碼回饋(CFB)模式類似 • 唯一差異 • CFB的下一級加密過程採用密文來加密 • OFB的下一級加密過程採用加密後IV的輸出值

  23. OFB模式-加密過程

  24. OFB模式-解密過程 密文 j位元 密文 j位元 密文 j位元 明文 j位元 明文 j位元 明文 j位元

  25. 對稱性密碼學總覽 • 對稱性密碼學指使用一個金鑰 • 加密與解密都使用相同的金鑰 • 問題點 • 金鑰的協議(同意使用的金鑰方式,金鑰交換) • 金鑰的分配(多人通訊則金鑰數量大增)

  26. 對稱性密碼學總覽

  27. 資料加密標準 • 資料加密標準(Data Encryption Standard, DES) • 運用於密碼學演算法超過三十年 • DES起源於1972年,由當時的美國國家標準局(NBS)現為美國國家表準技術局(NIST)從事的一個保護電腦和電腦之間通訊資料的計畫 • 1974年NBS發現可以考慮改寫IBM的Lucifer • 1975年NBS公佈演算法的細節 • 1976年結束,美國聯邦政府決定採用此演算法並重新命名為資料加密標準(DES),其他機構也正式承認並採用

  28. 基本原理 • DES是一種區塊密碼 • 加密資料的基本單位是64位元 • 加解密使用相同的演算法與金鑰 • 金鑰的長度為56位元

  29. 基本原理 • DES是基於兩個密碼學的基礎特質 • 替代(混淆) • 換位(擴散) • DES由16個步驟組成,每個步驟又被稱為一個回合

  30. DES的工作概念

  31. 金鑰的產生 原始金鑰中每8個位元被丟棄(有陰影的位元位置被丟棄)

  32. DES的概略步驟 • 64位元的明文區塊被送出給初始排列(Initial Permutation, IP)函數 • 初始排列(IP)運用於明文 • 初始排列(IP)產生排列區塊的兩個分支,分別為左明文(Left Plain Text, LPT)和右明文(Right Plain Text, RPT) • 每一個LPT和RPT經過16個回合的加密過程,每一個加密過程皆含有一把自己的金鑰 • LPT和RPT被重新結合。一個最後排列(Final Permutation, FP)用來運作於這個組合的區塊 • 這個過程產生64位元的密文

  33. DES的概略步驟

  34. 初始排列(IP) • 初始排列(IP)只會發生一次,而且只會發生在第一回合前 • 它描述如何做換位 • 主要的目的是用來混淆原始明文區塊的位元位置

  35. IP概念 初始排列表(IP)

  36. 區塊分割 • 完成換位後,64位元的排列文區塊被分割成兩個半區塊 • 每個半區塊由32位元組成 • 左區塊(Left Plain Text, LPT) • 右區塊(Right Plain Text, RPT)

  37. 回合運算 • 進行16次回合的運算 • 由5個步驟組成 • 金鑰轉換 • 擴增排列 • S-box替代 • P-box排列 • XOR和交換

  38. 金鑰轉換 • 每回合都會由初始的56位元金鑰產生48位元的子金鑰(sub-key) • 56位元的金鑰分割成兩半(各28位元),並依回合不同各對半區左移1或2個位置 • 位移後從56位元選擇48位元進行金鑰的縮減 • 金鑰轉換過程包含排列和選擇原始56位元金鑰的一個48位元子集合,稱為縮減排列

  39. 每回合金鑰位一數目

  40. 縮減排列範例 48位元

  41. 擴增排列 • 對右明文(RPT)從32位元擴增到48位元 • 在擴增的過程中,並位元進行排列

  42. 擴增排列 32位元RPT被分割成8個4位元區塊

  43. 擴增排列 RPT過增排列過程 由4位元擴增程6位元,擴增的部份由前後的區塊位元取得

  44. 擴增排列 RPT擴增排列表:48位元

  45. S-box替代 • S-box替代是一個過程,接受縮減金鑰和擴增RPT進行XOR運作的48位元輸入,而使用替代技術來產生32位元的輸出 • 使用8個S-box表來進行運算

  46. S-box替代

  47. S-box替代

  48. S-box表 S-box 1 S-box 2 S-box 3

  49. S-box表 S-box 4 S-box 5 S-box 6

  50. S-box表 S-box 7 S-box 8

More Related