|
|
* 密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
Computer-based Asymmetric Key Cryptographic Algorithms (Part 2)
|
|
|
|
|
* 訊息摘要演算法 原始訊息摘要演算法 (MD)
安全雜湊演算法 (SHA)
訊息鑑別碼 (MAC)
雜湊訊息鑑別碼 (HMAC)
|
|
|
|
|
* MD5 原始訊息摘要演算法 (MD)
由 Ron River 所發展
MD -> MD2 -> MD3 -> MD4 -> MD5
MD5十分快速
產生128位元訊息摘要 (4個32位元區塊組成)
|
|
|
|
|
* MD5 如何工作? 填入
附加長度
將輸入分割成 512 位元區塊
初始化鏈結變數
處理區塊
複製鏈結變數到四個符合的變數中
將目前的 512 位元分割成 16 個子區塊
現在有四個回合。在每一個回合中,處理屬於每一個區塊的所有 16 個子區塊
|
|
|
|
|
* MD5 如何工作 (2/7) 步驟 2:附加長度
|
|
|
|
|
* MD5 如何工作 (3/7) 步驟 3:將輸入分割成 512 位元區塊
|
|
|
|
|
* MD5 如何工作 (4/7) 步驟 4:初始化鏈結變數 A Hex 01 23 45 67
B Hex 89 AB CD EF
C Hex FE DC BA 98
D Hex 76 54 32 10 鏈結變數
4個變數,各32位元,共128位元
|
|
|
|
|
* MD5 如何工作 (5/7) 步驟 5.1:複製鏈結變數 A – D 到 a – d 變數中 A B C D a b c d a b c d abcd a, b, c, d 視為128位元的單一暫存器
|
|
|
|
|
* MD5 如何工作 (6/7) 步驟 5.2:將目前的 512 位元分割成 16 個子區塊
|
|
|
|
|
* MD5 如何工作 (7/7) 步驟 5.3:現在有四個回合。在每一個回合中, 處理屬於每一個區塊的所有 16 個子區塊
|
|
|
|
|
回合運算 程序 P 的步驟首先在 b、c、d 上執行
將變數 a 加入程序 P 的輸出
將訊息子區塊 M[i] 加入步驟2的輸出
將常數 t[k] 加入步驟3的輸出
將步驟4的輸出左循環位移 s 位元
將變數 b 加入步驟5的輸出
步驟6的輸出變成新的變數 aa = b + ((a + P(b, c, d) + M[i] + T[k] <<< s)
所有的變數向右移動一個位置 *
|
|
|
|
|
|
|
|
|
|
Copy the following code to your webpage or blog to embed this presentation:
<a href="http://www.slidefinder.net/-/e5af86e7a2bce5adb8ch04_part2/33005974" class="slidefinder">密碼學Ch04_Part2</a>
<script type="text/javascript" src="http://www.slidefinder.net/scripts/embedded.js"></script>
<a href="http://www.slidefinder.net/-/e5af86e7a2bce5adb8ch04_part2/33005974" class="slidefinder">密碼學Ch04_Part2</a>
Det3
<script type="text/javascript" src="http://www.slidefinder.net/scripts/embedded.js"></script>
Share this presentation:
Comments