Upload
callum
View
44
Download
0
Embed Size (px)
DESCRIPTION
344-484 วิทยาการเข้ารหัสลับเบื้องต้น. บทที่ 6 ลายมือชื่อดิจิตอลและฟังก์ชันแฮช. เนื้อหา. ลายมือชื่อดิจิตอล (Digital Signatures) MD5 SHA (Secure Hash Algorithm) MAC (Message Authentication Code) HMAC เทคนิคลายมือชื่อดิจิตอล. ลายมือชื่อดิจิตอล (Digital Signatures). - PowerPoint PPT Presentation
Citation preview
344-484 วิ�ทยาการเข้ารหั�สลั�บเบ��องต้น
บทท�� 6 ลายมือชื่�อดิ�จิ�ตอลและฟั�งก์�ชื่�นแฮชื่
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 2
เน��อหัา
ลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signatures) MD5 SHA (Secure Hash Algorithm) MAC (Message Authentication Code) HMAC เทคน�คลัายมื�อชื่��อดิ�จิ�ต้อลั
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 3
ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) จิากการท$างานข้องวิ�ทยาการเข้ารหั�สลั�บแบบก%ญแจิ
อสมืมืาต้ร เหั'นไดิวิ)า ถ้�านาย ก์ คือ ผู้��ส่!งข้�อคืวามื และนาย ข้ คือผู้��รั�บข้�อคืวามื
นาย ก เข้ารหั�สข้อควิามืโดิยใชื่ก%ญแจิสาธารณะข้องนาย ข้ แลัะส)ง
ข้อควิามืท��เข้ารหั�สไปใหันาย ข้ ในทางกลั�บก�น
ถ้�านาย ก์ ส่!งข้�อคืวามืไปให้�นาย ข้ นาย ก เข้ารหั�สข้อควิามืโดิยใชื่ก%ญแจิส)วินต้�วิข้องนาย ก แลัะส)ง
ข้อควิามืท��เข้ารหั�สแลัวิไป
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 4
ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) (ต้)อ)
ผู้0ส)ง (ก)
ผู้0ร �บ (ข้)
เข้ารหั�สดิวิยก%ญแจิส)วิน
ต้�วิข้องนาย ก
ข้อควิามืไซเฟัอร!
(C)
ข้อควิามื (M)
ก์ารัเข้�ารัห้�ส่ข้�อคืวามืดิ�วยก์*ญแจิส่!วนต�วข้องผู้��ส่!ง
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 5
ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) (ต้)อ) วิ�ต้ถุ%ประสงค!ท��นาย ก เข้ารหั�สข้อควิามืดิวิยก%ญแจิ
ส)วินต้�วิข้องต้นเอง: เพื่��อใหัผู้0ร �บมื��นใจิวิ)าข้อควิามืน��ส)งมืาจิากนาย ก หัร�อผู้0ส)ง
จิร�ง ๆ ข้อมื0ลัอาจิไมื)เป5นควิามืลั�บ (Confidentiality) แต้)ท$าใหัระบ%
ต้�วิต้น (Authentication) ไดิวิ)า นาย ก ค�อผู้0ส)ง อ�กท��งย�งท$าใหันาย ก ไมื)สามืารถุปฏิ�เสธไดิวิ)า เข้าค�อผู้0ส)งข้อควิามืจิร�ง ๆ (Non-repudiation)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 6
ควิามืส$าค�ญข้องลัายมื�อชื่��อดิ�จิ�ต้อลั
เป5นกลัไกการอน%ญาต้ท��ถุ0กต้องเสมื�อนการลังลัายมื�อชื่��อยอมืร�บในเอกสารต้)างๆ ท��ใชื่ก�นมืานานแลัวิ
ป จิจิ%บ�นลัายมื�อชื่��อดิ�จิ�ต้อลั ไดิร�บการยอมืร�บวิ)าถุ0กต้องต้ามืกฎหัมืาย ดิ�งเชื่)น การส)งข้อควิามืต้�ดิต้)อก�บธนาคารผู้)านทางอ�นเต้อร!เน'ต้
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 7
การท$างานข้องลัายมื�อชื่��อดิ�จิ�ต้อลั
ผู้��ส่!ง(ก์)
ข้�อคืวามืไซ
เฟัอรั�(C)
ข้�อคืวามืไซ
เฟัอรั�(C)
ผู้��รั�บ(ข้)
ข้อควิามื (M)
ข้อควิามื (M)
เคร�อข้)าย
เข้ารหั�สดิวิยก%ญแจิส)วิน
ต้�วิถุอดิรหั�สดิวิย
ก%ญแจิสาธารณะ
ก์ารัท-างานข้องลายมือชื่�อดิ�จิ�ตอล
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 8
ก์ารัย!อยข้�อคืวามื (Message Digest) บางคร��งเร�ยกวิ)า Hash เป5นการพื่�มืพื่!ลัายน��วิมื�อวิ�ธ�หัน8�ง หัร�อค�อการสร%ป
ข้อควิามื ซ8�งใชื่หัลั�กการท$างานคลัายคลั8งก�บ Longitudinal Redundancy Check (LRC) หัร�อ Cyclic Redundancy Check (CRC)
LRC หัร�อ CRC ใชื่เพื่��อต้รวิจิสอบการมื�บ0รณภาพื่ข้องข้อมื0ลั (กลั)าวิค�อ มื��นใจิไดิวิ)าข้อควิามืท��ส)งไปจิะไมื)ถุ0กเปลั��ยนแปลังก)อนจิะถุ8งผู้0ร �บ)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 9
การท$างานข้อง LRC
น$าข้อควิามืต้นฉบ�บข้นาดิ n บ�ต้ มืาแบ)งเป5นกลั%)มืๆ ลัะ 8 บ�ต้
น$ามืาเข้�ยนใหัมื)เร�ยงท�ลัะแถุวิ ค$านวิณหัาผู้ลัลั�พื่ธ!ท��ไดิ (LRC) จิากการน�บจิ$านวินข้อง 1 หัร�อ 0 ในสดิมืภ!ท��ง n แถุวิ ถุาจิ$านวินข้อง 1 ในสดิมืภ!ท��ง n แถุวิ เป5นจิ$านวินค��เร�ยกวิ)า
odd parity (แทนค)าดิวิย 1) ถุาจิ$านวิน 1 ในสดิมืภ!ท��ง n แถุวิ เป5นจิ$านวินค0) เร�ยกวิ)า
even parity (แทนค)าดิวิย 0)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 10
ต้�วิอย)างการท$างานข้อง LRC
ก$าหันดิใหัข้อควิามืต้นฉบ�บมื�ข้นาดิ 32 บ�ต้ ค�อ 11100100 11011101 00111001 00101001
ข้อมื0ลัต้นฉบ�บ
ข้อมื0ลัต้นฉบ�บแลัะ LRC
11100100
11011101
00111001
00101001111
001
00
110
111
01
001
110
01
001
010
01
ข้อมื0ลัต้นฉบ�บท��น$ามืาเร�ยงเป5นแถุวิ
LRC
00101001
11100100 11011101 00111001 00101001
00101001
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 11
แนวคื�ดิข้องก์ารัย!อยข้�อคืวามื
ท$างานคลัายคลั8งก�บ LRC โดิยท��วิไปแลัวิการย)อย
ข้อควิามืจิะท$าใหัข้นาดิข้องข้อควิามืเลั'กกวิ)าข้อควิามืต้นฉบ�บเดิ�มื
จิ-านวนเรั��มืต�น คือ 83914
ก์ารัดิ-าเน�นก์ารั ผู้ลล�พธ์�ค0ณ 8 ดิวิย 3 24
ก$าจิ�ดิหัลั�กแรกออกไป
4
ค0ณ 4 ดิวิย 9 36
ก$าจิ�ดิหัลั�กแรกออกไป
6
ค0ณ 6 ดิวิย 1 6
ค0ณ 6 ดิวิย 4 24
ก$าจิ�ดิหัลั�กแรกออกไป
4
ข้�อคืวามืย!อยคือ 4
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 12
สร%ปแนวิค�ดิการย)อยข้อควิามื101010101010101010
….
01011011….
ข้��นต้อนวิ�ธ�ย)อย
ข้อควิามื
ข้อมื0ลัต้นฉบ�บ
ข้อควิามืย)อย
แนวคื�ดิข้องก์ารัย!อยข้�อคืวามื
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 13
ส่��งท��ต�องคื-าน0งถ้0งข้องก์ารัย!อยข้�อคืวามื การย)อยข้อควิามืจิ$าเป5นต้องมื�ค%ณสมืบ�ต้�ดิ�งน��ค�อ
1. ข้อควิามืต้นฉบ�บเดิ�ยวิก�นต้องไดิข้อควิามืย)อยเดิ�ยวิก�น2. การย)อยข้อควิามืไมื)สามืารถุดิ$าเน�นการในทางกลั�บก�น
3. เมื��อก$าหันดิใหัมื�ข้อควิามื 2 ข้อควิามื ถุาค$านวิณหัาข้อควิามืย)อยข้องท��ง 2 ข้อควิามื ข้อควิามืย)อยท��ไดิต้องแต้กต้)างก�น
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 14
ข้�อคืวามืย!อยส่-าห้รั�บข้�อมื�ลต�นฉบ�บเดิ�ยวก์�นต�องไดิ�ข้�อคืวามืย!อยเดิ�ยวก์�น
ข้��นต้อนวิ�ธ�ย)อย
ข้อควิามื
ข้อควิามืย)อยท��ไดิต้องมื�ข้อควิามืเดิ�ยวิ
ข้อมื0ลัต้นฉบ�บ
ข้อควิามืย)อย
ข้�อคืวามืย!อยส่-าห้รั�บข้�อมื�ลต�นฉบ�บเดิ�ยวก์�นต�องไดิ�ข้�อคืวามืย!อยเดิ�ยวก์�น
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 15
ก์ารัย!อยข้�อคืวามืไมื!ส่ามืารัถ้ดิ-าเน�นก์ารัในทางก์ล�บก์�น
ก์ารัย!อยข้�อคืวามืไมื!ส่ามืารัถ้ดิ-าเน�นก์ารัในทางก์ล�บก์�น
ข้�อมื�ลต�นฉบ�บ
ข้อควิามืย)อย
ไมื)สามืารถุหัาข้อควิามืต้นฉบ�บโดิยใชื่ข้� �นต้อนวิ�ธ�ในทางกลั�บก�น
ข้��นต้อนวิ�ธ�ย)อย
ข้อควิามื
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 16
ข้�อคืวามืย!อย 2 ข้�อคืวามืจิาก์ข้�อคืวามืท��ต!างก์�นไดิ�ข้�อคืวามืย!อยท��ต!างก์�นข้อควิามื
ต้นฉบ�บบลั'อค 1
ข้อควิามืย)อย 1(MD1)
ข้อควิามืต้นฉบ�บ
บลั'อค 2
ข้อควิามืย)อย 2(MD2)
ข้อควิามืย)อย 2
ข้อควิามืน��แต้กต้)างก�น
ข้�อคืวามืย!อย 2 ข้�อคืวามืจิาก์ข้�อคืวามืท��ต!างก์�นไดิ�ข้�อคืวามืย!อยท��ต!างก์�น
ข้��นต้อนวิ�ธ�ย)อย
ข้อควิามื
ข้��นต้อนวิ�ธ�ย)อย
ข้อควิามื
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 17
ก์ารัชื่นก์�น (Collision)
ข้อควิามื 2 ข้อควิามืไดิข้อควิามืย)อยเดิ�ยวิก�น
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 18
MD5
ข้��นต้อนวิ�ธ�ย)อยข้อควิามืท��ถุ0กพื่�ฒนาโดิย Ron Rivest ผู้ลัลั�พื่ธ!จิากข้��นต้อนวิ�ธ�ย)อยข้อควิามืจิะมื�ข้นาดิ 128
บ�ต้ ข้อดิ�
ท$างานไดิเร'วิ ผู้ลัลั�พื่ธ!หัร�อข้อควิามืย)อยท��ไดิไมื)เก�ดิการชื่นก�น
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 19
การท$างานข้อง MD5
น$าข้อมื0ลับลั'อกลัะ 512 บ�ต้ -> ดิ$าเน�นการต้ามืข้��นต้อนวิ�ธ�ย)อยข้อควิามื ->ผู้ลัลั�พื่ธ!ข้นาดิ 128 บ�ต้ ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding) ข้�2นตอนท�� 2 การระบ%ข้นาดิข้องข้อควิามืต้นฉบ�บ (Append
Length) ข้�2นตอนท�� 3 แบ)งข้อควิามืออกเป5นบลั'อคลัะ 512 บ�ต้ ข้�2นตอนท�� 4 ก$าหันดิค)าเร��มืต้นข้องต้�วิแปรลั0กโซ) ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อค
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 20
ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding)
M + Pd + 64 = 512 n
โดิย M ค�อ ข้อควิามืต้นฉบ�บ Pd ค�อ จิ$านวินบ�ต้ท��เพื่��มืเข้าไป
แลัะ n ค�อ จิ$านวินเต้'มืบวิก ** บ�ต้ท��เพื่��มืน��จิะเร��มืต้นดิวิย 1 แลัะต้ามืดิวิย 0 เท)าก�บจิ$านวินบ�ต้ท��ต้องการเพื่��มืเข้าไป
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 21
ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding) (ต้)อ )ข้อควิามืต้นฉบ�บ การเพื่��มืบ�ต้อ�ก - (1 512
บ�ต้)
ข้อควิามืต้นฉบ�บ บ�ต้ท��เพื่��มื(100...0)
ข้�2นตอนก์ารัเพ��มืบ�ต
ข้�อส่�งเก์ต* แมืวิ)าข้นาดิข้องข้อควิามืเมื��อรวิมืก�บ 64 บ�ต้ แลัวิมื�ค)าเท)าก�บจิ$านวินเท)าข้อง 512 บ�ต้ แต้)ต้องเพื่��มื Pd ดิวิย
เชื่)น ข้อควิามืมื�ข้นาดิ 448 เมื��อรวิมืก�บ 64 บ�ต้ แลัวิจิะมื�ค)าเท)าก�บ 512 บ�ต้ ก'ต้องเพื่��มืบ�ต้อ�ก 512 บ�ต้ เพื่��อใหัข้อควิามืมื�ข้นาดิ 960 บ�ต้ ซ8�งจิะเหั'นไดิวิ)า ข้นาดิข้องบ�ต้ท��เพื่��มืเข้าไปจิะอย0)ระหัวิ)าง 1 ถุ8ง 512
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 22
ข้�2นตอนท�� 2 การระบ%ข้นาดิข้องข้อควิามืต้นฉบ�บ (Append Length) น$าค)าข้นาดิข้องข้อควิามืต้นฉบ�บเร��มืต้นไปเพื่��มืในส)วิน
ทายส%ดิข้องข้อควิามืหัลั�งจิากการเพื่��มืบ�ต้ในข้��นต้อนท�� 1
ในกรณ�ท��ข้นาดิข้องข้อควิามืต้นฉบ�บมืากกวิ)า 264 บ�ต้ น��นก'ค�อ มื�ข้นาดิยาวิมืาก ๆ ใหัเลั�อกบ�ต้ต้$�า (low-order bit) 64 บ�ต้
ข้อควิามืต้นฉบ�บ การเพื่��มืบ�ต้อ�ก - (1 512 บ�ต้)
ข้นาดิข้องข้อควิามื (บ�ต้)
ข้อควิามืต้นฉบ�บ บ�ต้ท��เพื่��มื(100...0)
ข้นาดิข้องข้อควิามื (บ�ต้)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 23
ข้�2นตอนท�� 3 แบ)งข้อควิามืออกเป5นบลั'อคลัะ 512 บ�ต้
ข้อมื0ลัท��จิะน$าไปดิ$าเน�นการย)อยข้อควิามื
บลั'อค 1 บลั'อค 2 บลั'อค 3 . . . บลั'อค n 512 บ�ต้ 512 บ�ต้ 512
บ�ต้ 512 บ�ต้ แบ!งข้�อมื�ลออก์เป3นบล4อคืละ 512 บ�ต
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 24
ข้�2นตอนท�� 4 ก$าหันดิค)าเร��มืต้นข้องต้�วิแปรลั0กโซ)
ต้�วิแปร เลัข้ฐาน 16
A 01 23 45 67
B 89 AB CD EF
C FE DC BA 98
D 76 54 32 10
ค)าเร��มืต้นข้องต้�วิแปรลั0กโซ)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 25
ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อค ข้�2นตอนย!อยท�� 5.1 ส$าเนาค)าเร��มืต้นข้องต้�วิแปรลั0กโซ)
ใหัก�บต้�วิแปรต้)อไปน��ค�อ a, b, c แลัะ d กลั)าวิค�อ a = A, b = B, c = C แลัะ d = D
A B C D
a b c d
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 26
ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อก (ต้)อ) ข้�2นตอนย!อยท�� 5.2 แบ)งข้อควิามื 512 บ�ต้ข้องบลั'อค
ท��ดิ$าเน�นการข้ณะน��นออกเป5นบลั'อคย)อย 16 บลั'อค โดิยแต้)ลัะบลั'อคย)อยมื�ข้นาดิ 32 บ�ต้
บลั'อคย)อย 1
บลั'อคย)อย 2
.... บลั'อคย)อย n
32 บ�ต้ 32 บ�ต้ ... 32 บ�ต้
ข้อควิามืบลั'อค 1 ( 512 บ�ต้)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 27
ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อก (ต้)อ) ข้�2นตอนย!อยท�� 5.3 มื�การดิ$าเน�นการ 4 รอบ โดิย
แต้)ลัะรอบ ดิ$าเน�นการก�บ 16 บลั'อคย)อย ข้อมื0ลัน$าเข้าข้องแต้)ลัะรอบค�อ ก) ข้อควิามื16 บลั'อคย)อย ข้) ต้�วิแปร a, b, c แลัะ d แลัะ ค) ค)าคงท�� ซ8�งในท��น��เร�ยกวิ)า tบลั'อคย)อย
16 บลั'อคค)าคงท��
ta b c d
ก์ารัดิ-าเน�นก์ารัใน 1 รัอบ
1 รอบข้องการดิ$าเน�นการ
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 28
ข้��นต้อน 6
ข้��นต้อน 7
a b c d
ฟั งก!ชื่�น P
a b c d
บวิก
บวิก
บวิก
บวิก
เลั��อน
M[i]
t[k]
ข้��นต้อน 1
ข้��นต้อน 2
ข้��นต้อน 3
ข้��นต้อน 4
ข้��นต้อน 5
ก์ารัดิ-าเน�นก์ารั 1 รัอบ ข้อง MD5(ท��มืา: Cryptography and Network Security, ห้น�า 1
36)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 29
ข้��นต้อนการดิ$าเน�นการ 1 รอบข้อง MD5 ข้��นต้อนการดิ$าเน�นการ 1 คร��งในแต้)ลัะรอบอธ�บายไดิดิ�งภาพื่โดิยมื�ราย
ลัะเอ�ยดิดิ�งน��1 . ดิ$าเน�นการก�บต้�วิแปร b, c แลัะ d ดิวิยฟั งก!ชื่�น P ซ8�งในแต้)ลัะรอบ
ข้องการดิ$าเน�นการมื�ฟั งก!ชื่�น P ต้)างก�น2. น$าต้�วิแปร a มืาบวิกก�บผู้ลัลั�พื่ธ!ท��ไดิจิากการผู้)านฟั งก!ชื่�น P
3. น$าข้อควิามืบลั'อกย)อยท�� i (M[i]) บวิกก�บผู้ลัลั�พื่ธ!ท��ไดิจิากการดิ$าเน�นการในข้��นต้อนท�� 2
4. น$าค)าคงท�� t[k] บวิกก�บผู้ลัลั�พื่ธ!ท��ไดิจิากการดิ$าเน�นการในข้��นต้อนท�� 35. เลั��อนบ�ต้เป5นวิงไปทางซายข้องผู้ลัลั�พื่ธ!จิากข้��นต้อนท�� 4 จิ$านวิน s บ�ต้6. น$าต้�วิแปร b บวิกก�บผู้ลัลั�พื่ธ!ท��ไดิจิากข้��นต้อนท�� 57. ไดิค)า abcd ใหัมื) จิากผู้ลัลั�พื่ธ!ในข้��นต้อนท�� 6 เพื่��อจิะดิ$าเน�นการต้)อไป
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 30
ข้��นต้อนการดิ$าเน�นการ 1 รอบข้อง MD5 (ต้)อ) จิากข้��นต้อนดิ�งกลั)าวิข้างต้น สามืารถุเข้�ยนใหัอย0)ในร0ปสมืการ
คณ�ต้ศาสต้ร! a = b + ((a + P (b, c, d) + M[i] + t[k] <<< s))
โดิยท�� a, b, c, d = ต้�วิแปรลั0กโซ) ท��ไดิกลั)าวิข้างต้นP = ฟั งก!ชื่�นแบบไมื)เชื่�งเสน ดิ�งจิะกลั)าวิต้)อไปM[i] = M[q × 16 + i] ซ8�ง i ค�อ บลั'อคย)อยท�� i (0 i 15) แลัะ
q ค�อ ลั$าดิ�บท��ข้องจิ$านวินเท)าข้อง 512 บ�ต้ เชื่)น ข้อควิามืประกอบดิวิย 3×512 ดิ�งน��น ลั$าดิ�บท��ข้อง q ค�อ 0 q 2
t[k] = ค)าคงท��ซ8�งค$านวิณจิาก ค)าจิาก 232 × abs(sin(j)) โดิย j ค�อ เรเดิ�ยน, 1 j 64
<<< s = การเลั��อนบ�ต้เป5นวิงทางซายจิ$านวิน s บ�ต้
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 31
ข้��นต้อนการดิ$าเน�นการ 1 รอบข้อง MD5 (ต้)อ) ฟั�งก์�ชื่�น P ค�อ การดิ$าเน�นการซ8�งเก�ดิข้8�นแต้กต้)างก�นท��ง 4
รอบ โดิยดิ$าเน�นการทางต้รรกศาสต้ร!ก�บต้�วิแปร b, c แลัะ d ซ8�งฟั งก!ชื่�น P ท��ง 4 รอบแสดิงดิ�งต้าราง
ห้มืายเห้ต* ต้�วิดิ$าเน�นการต้รรกะ
AND แทนดิวิย
OR แทนดิวิย
NOT แทนดิวิย
แลัะXOR แทนดิวิย
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 32
คืวามืแตก์ต!างรัะห้ว!าง 5MD ก์�บ 4
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 33
ปรัะส่�ทธ์�ภาพข้อง MD5
Rivest ใชื่หัลั�กการค�ดิท��ท$าใหัข้� �นต้อนวิ�ธ�ซ�บซอนแลัะมื�การส%)มืเท)าท��จิะเป5นไปไดิมืากท��ส%ดิ
เป5นการยากมืากท��ข้อควิามืย)อย 2 ข้อควิามืท��ไดิจิากการดิ$าเน�นการ MD5 จิะมื�ค)าเท)าก�น
แต้)ก'มื�ผู้0พื่ยายามืท��จิะโจิมืต้�ข้อควิามืย)อยท��ไดิจิากการดิ$าเน�นการ MD5 เชื่)น Berson Boer แลัะ Bosselaers Dobbertin