33
344-484 ววววววววววววววววววว ววววววววว บบบบบ 6 บบบบบบบบบบ บบบบบบบบบบบบบบบบบบบบบ

344-484 วิทยาการเข้ารหัสลับเบื้องต้น

  • 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

Page 1: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

344-484 วิ�ทยาการเข้ารหั�สลั�บเบ��องต้น

บทท�� 6 ลายมือชื่�อดิ�จิ�ตอลและฟั�งก์�ชื่�นแฮชื่

Page 2: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 2

เน��อหัา

ลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signatures) MD5 SHA (Secure Hash Algorithm) MAC (Message Authentication Code) HMAC เทคน�คลัายมื�อชื่��อดิ�จิ�ต้อลั

Page 3: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 3

ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) จิากการท$างานข้องวิ�ทยาการเข้ารหั�สลั�บแบบก%ญแจิ

อสมืมืาต้ร เหั'นไดิวิ)า ถ้�านาย ก์ คือ ผู้��ส่!งข้�อคืวามื และนาย ข้ คือผู้��รั�บข้�อคืวามื

นาย ก เข้ารหั�สข้อควิามืโดิยใชื่ก%ญแจิสาธารณะข้องนาย ข้ แลัะส)ง

ข้อควิามืท��เข้ารหั�สไปใหันาย ข้ ในทางกลั�บก�น

ถ้�านาย ก์ ส่!งข้�อคืวามืไปให้�นาย ข้ นาย ก เข้ารหั�สข้อควิามืโดิยใชื่ก%ญแจิส)วินต้�วิข้องนาย ก แลัะส)ง

ข้อควิามืท��เข้ารหั�สแลัวิไป

Page 4: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 4

ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) (ต้)อ)

ผู้0ส)ง (ก)

ผู้0ร �บ (ข้)

เข้ารหั�สดิวิยก%ญแจิส)วิน

ต้�วิข้องนาย ก

ข้อควิามืไซเฟัอร!

(C)

ข้อควิามื (M)

ก์ารัเข้�ารัห้�ส่ข้�อคืวามืดิ�วยก์*ญแจิส่!วนต�วข้องผู้��ส่!ง

Page 5: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 5

ลัายมื�อชื่��อดิ�จิ�ต้อลั (DigitalSignatures) (ต้)อ) วิ�ต้ถุ%ประสงค!ท��นาย ก เข้ารหั�สข้อควิามืดิวิยก%ญแจิ

ส)วินต้�วิข้องต้นเอง: เพื่��อใหัผู้0ร �บมื��นใจิวิ)าข้อควิามืน��ส)งมืาจิากนาย ก หัร�อผู้0ส)ง

จิร�ง ๆ ข้อมื0ลัอาจิไมื)เป5นควิามืลั�บ (Confidentiality) แต้)ท$าใหัระบ%

ต้�วิต้น (Authentication) ไดิวิ)า นาย ก ค�อผู้0ส)ง อ�กท��งย�งท$าใหันาย ก ไมื)สามืารถุปฏิ�เสธไดิวิ)า เข้าค�อผู้0ส)งข้อควิามืจิร�ง ๆ (Non-repudiation)

Page 6: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 6

ควิามืส$าค�ญข้องลัายมื�อชื่��อดิ�จิ�ต้อลั

เป5นกลัไกการอน%ญาต้ท��ถุ0กต้องเสมื�อนการลังลัายมื�อชื่��อยอมืร�บในเอกสารต้)างๆ ท��ใชื่ก�นมืานานแลัวิ

ป จิจิ%บ�นลัายมื�อชื่��อดิ�จิ�ต้อลั ไดิร�บการยอมืร�บวิ)าถุ0กต้องต้ามืกฎหัมืาย ดิ�งเชื่)น การส)งข้อควิามืต้�ดิต้)อก�บธนาคารผู้)านทางอ�นเต้อร!เน'ต้

Page 7: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 7

การท$างานข้องลัายมื�อชื่��อดิ�จิ�ต้อลั

ผู้��ส่!ง(ก์)

ข้�อคืวามืไซ

เฟัอรั�(C)

ข้�อคืวามืไซ

เฟัอรั�(C)

ผู้��รั�บ(ข้)

ข้อควิามื (M)

ข้อควิามื (M)

เคร�อข้)าย

เข้ารหั�สดิวิยก%ญแจิส)วิน

ต้�วิถุอดิรหั�สดิวิย

ก%ญแจิสาธารณะ

ก์ารัท-างานข้องลายมือชื่�อดิ�จิ�ตอล

Page 8: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 8

ก์ารัย!อยข้�อคืวามื (Message Digest) บางคร��งเร�ยกวิ)า Hash เป5นการพื่�มืพื่!ลัายน��วิมื�อวิ�ธ�หัน8�ง หัร�อค�อการสร%ป

ข้อควิามื ซ8�งใชื่หัลั�กการท$างานคลัายคลั8งก�บ Longitudinal Redundancy Check (LRC) หัร�อ Cyclic Redundancy Check (CRC)

LRC หัร�อ CRC ใชื่เพื่��อต้รวิจิสอบการมื�บ0รณภาพื่ข้องข้อมื0ลั (กลั)าวิค�อ มื��นใจิไดิวิ)าข้อควิามืท��ส)งไปจิะไมื)ถุ0กเปลั��ยนแปลังก)อนจิะถุ8งผู้0ร �บ)

Page 9: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 9

การท$างานข้อง LRC

น$าข้อควิามืต้นฉบ�บข้นาดิ n บ�ต้ มืาแบ)งเป5นกลั%)มืๆ ลัะ 8 บ�ต้

น$ามืาเข้�ยนใหัมื)เร�ยงท�ลัะแถุวิ ค$านวิณหัาผู้ลัลั�พื่ธ!ท��ไดิ (LRC) จิากการน�บจิ$านวินข้อง 1 หัร�อ 0 ในสดิมืภ!ท��ง n แถุวิ ถุาจิ$านวินข้อง 1 ในสดิมืภ!ท��ง n แถุวิ เป5นจิ$านวินค��เร�ยกวิ)า

odd parity (แทนค)าดิวิย 1) ถุาจิ$านวิน 1 ในสดิมืภ!ท��ง n แถุวิ เป5นจิ$านวินค0) เร�ยกวิ)า

even parity (แทนค)าดิวิย 0)

Page 10: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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

Page 11: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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

Page 12: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 12

สร%ปแนวิค�ดิการย)อยข้อควิามื101010101010101010

….

01011011….

ข้��นต้อนวิ�ธ�ย)อย

ข้อควิามื

ข้อมื0ลัต้นฉบ�บ

ข้อควิามืย)อย

แนวคื�ดิข้องก์ารัย!อยข้�อคืวามื

Page 13: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 13

ส่��งท��ต�องคื-าน0งถ้0งข้องก์ารัย!อยข้�อคืวามื การย)อยข้อควิามืจิ$าเป5นต้องมื�ค%ณสมืบ�ต้�ดิ�งน��ค�อ

1. ข้อควิามืต้นฉบ�บเดิ�ยวิก�นต้องไดิข้อควิามืย)อยเดิ�ยวิก�น2. การย)อยข้อควิามืไมื)สามืารถุดิ$าเน�นการในทางกลั�บก�น

3. เมื��อก$าหันดิใหัมื�ข้อควิามื 2 ข้อควิามื ถุาค$านวิณหัาข้อควิามืย)อยข้องท��ง 2 ข้อควิามื ข้อควิามืย)อยท��ไดิต้องแต้กต้)างก�น

Page 14: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 14

ข้�อคืวามืย!อยส่-าห้รั�บข้�อมื�ลต�นฉบ�บเดิ�ยวก์�นต�องไดิ�ข้�อคืวามืย!อยเดิ�ยวก์�น

ข้��นต้อนวิ�ธ�ย)อย

ข้อควิามื

ข้อควิามืย)อยท��ไดิต้องมื�ข้อควิามืเดิ�ยวิ

ข้อมื0ลัต้นฉบ�บ

ข้อควิามืย)อย

ข้�อคืวามืย!อยส่-าห้รั�บข้�อมื�ลต�นฉบ�บเดิ�ยวก์�นต�องไดิ�ข้�อคืวามืย!อยเดิ�ยวก์�น

Page 15: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 15

ก์ารัย!อยข้�อคืวามืไมื!ส่ามืารัถ้ดิ-าเน�นก์ารัในทางก์ล�บก์�น

ก์ารัย!อยข้�อคืวามืไมื!ส่ามืารัถ้ดิ-าเน�นก์ารัในทางก์ล�บก์�น

ข้�อมื�ลต�นฉบ�บ

ข้อควิามืย)อย

ไมื)สามืารถุหัาข้อควิามืต้นฉบ�บโดิยใชื่ข้� �นต้อนวิ�ธ�ในทางกลั�บก�น

ข้��นต้อนวิ�ธ�ย)อย

ข้อควิามื

Page 16: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 16

ข้�อคืวามืย!อย 2 ข้�อคืวามืจิาก์ข้�อคืวามืท��ต!างก์�นไดิ�ข้�อคืวามืย!อยท��ต!างก์�นข้อควิามื

ต้นฉบ�บบลั'อค 1

ข้อควิามืย)อย 1(MD1)

ข้อควิามืต้นฉบ�บ

บลั'อค 2

ข้อควิามืย)อย 2(MD2)

ข้อควิามืย)อย 2

ข้อควิามืน��แต้กต้)างก�น

ข้�อคืวามืย!อย 2 ข้�อคืวามืจิาก์ข้�อคืวามืท��ต!างก์�นไดิ�ข้�อคืวามืย!อยท��ต!างก์�น

ข้��นต้อนวิ�ธ�ย)อย

ข้อควิามื

ข้��นต้อนวิ�ธ�ย)อย

ข้อควิามื

Page 17: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 17

ก์ารัชื่นก์�น (Collision)

ข้อควิามื 2 ข้อควิามืไดิข้อควิามืย)อยเดิ�ยวิก�น

Page 18: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 18

MD5

ข้��นต้อนวิ�ธ�ย)อยข้อควิามืท��ถุ0กพื่�ฒนาโดิย Ron Rivest ผู้ลัลั�พื่ธ!จิากข้��นต้อนวิ�ธ�ย)อยข้อควิามืจิะมื�ข้นาดิ 128

บ�ต้ ข้อดิ�

ท$างานไดิเร'วิ ผู้ลัลั�พื่ธ!หัร�อข้อควิามืย)อยท��ไดิไมื)เก�ดิการชื่นก�น

Page 19: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 19

การท$างานข้อง MD5

น$าข้อมื0ลับลั'อกลัะ 512 บ�ต้ -> ดิ$าเน�นการต้ามืข้��นต้อนวิ�ธ�ย)อยข้อควิามื ->ผู้ลัลั�พื่ธ!ข้นาดิ 128 บ�ต้ ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding) ข้�2นตอนท�� 2 การระบ%ข้นาดิข้องข้อควิามืต้นฉบ�บ (Append

Length) ข้�2นตอนท�� 3 แบ)งข้อควิามืออกเป5นบลั'อคลัะ 512 บ�ต้ ข้�2นตอนท�� 4 ก$าหันดิค)าเร��มืต้นข้องต้�วิแปรลั0กโซ) ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อค

Page 20: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 20

ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding)

M + Pd + 64 = 512 n

โดิย M ค�อ ข้อควิามืต้นฉบ�บ Pd ค�อ จิ$านวินบ�ต้ท��เพื่��มืเข้าไป

แลัะ n ค�อ จิ$านวินเต้'มืบวิก ** บ�ต้ท��เพื่��มืน��จิะเร��มืต้นดิวิย 1 แลัะต้ามืดิวิย 0 เท)าก�บจิ$านวินบ�ต้ท��ต้องการเพื่��มืเข้าไป

Page 21: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 21

ข้�2นตอนท�� 1 การเพื่��มืบ�ต้หัลั�งข้อควิามื (Padding) (ต้)อ )ข้อควิามืต้นฉบ�บ การเพื่��มืบ�ต้อ�ก - (1 512

บ�ต้)

ข้อควิามืต้นฉบ�บ บ�ต้ท��เพื่��มื(100...0)

ข้�2นตอนก์ารัเพ��มืบ�ต

ข้�อส่�งเก์ต* แมืวิ)าข้นาดิข้องข้อควิามืเมื��อรวิมืก�บ 64 บ�ต้ แลัวิมื�ค)าเท)าก�บจิ$านวินเท)าข้อง 512 บ�ต้ แต้)ต้องเพื่��มื Pd ดิวิย

เชื่)น ข้อควิามืมื�ข้นาดิ 448 เมื��อรวิมืก�บ 64 บ�ต้ แลัวิจิะมื�ค)าเท)าก�บ 512 บ�ต้ ก'ต้องเพื่��มืบ�ต้อ�ก 512 บ�ต้ เพื่��อใหัข้อควิามืมื�ข้นาดิ 960 บ�ต้ ซ8�งจิะเหั'นไดิวิ)า ข้นาดิข้องบ�ต้ท��เพื่��มืเข้าไปจิะอย0)ระหัวิ)าง 1 ถุ8ง 512

Page 22: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 22

ข้�2นตอนท�� 2 การระบ%ข้นาดิข้องข้อควิามืต้นฉบ�บ (Append Length) น$าค)าข้นาดิข้องข้อควิามืต้นฉบ�บเร��มืต้นไปเพื่��มืในส)วิน

ทายส%ดิข้องข้อควิามืหัลั�งจิากการเพื่��มืบ�ต้ในข้��นต้อนท�� 1

ในกรณ�ท��ข้นาดิข้องข้อควิามืต้นฉบ�บมืากกวิ)า 264 บ�ต้ น��นก'ค�อ มื�ข้นาดิยาวิมืาก ๆ ใหัเลั�อกบ�ต้ต้$�า (low-order bit) 64 บ�ต้

ข้อควิามืต้นฉบ�บ การเพื่��มืบ�ต้อ�ก - (1 512 บ�ต้)

ข้นาดิข้องข้อควิามื (บ�ต้)

ข้อควิามืต้นฉบ�บ บ�ต้ท��เพื่��มื(100...0)

ข้นาดิข้องข้อควิามื (บ�ต้)

Page 23: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 23

ข้�2นตอนท�� 3 แบ)งข้อควิามืออกเป5นบลั'อคลัะ 512 บ�ต้

ข้อมื0ลัท��จิะน$าไปดิ$าเน�นการย)อยข้อควิามื

บลั'อค 1 บลั'อค 2 บลั'อค 3 . . . บลั'อค n 512 บ�ต้ 512 บ�ต้ 512

บ�ต้ 512 บ�ต้ แบ!งข้�อมื�ลออก์เป3นบล4อคืละ 512 บ�ต

Page 24: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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กโซ)

Page 25: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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

Page 26: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 26

ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อก (ต้)อ) ข้�2นตอนย!อยท�� 5.2 แบ)งข้อควิามื 512 บ�ต้ข้องบลั'อค

ท��ดิ$าเน�นการข้ณะน��นออกเป5นบลั'อคย)อย 16 บลั'อค โดิยแต้)ลัะบลั'อคย)อยมื�ข้นาดิ 32 บ�ต้

บลั'อคย)อย 1

บลั'อคย)อย 2

.... บลั'อคย)อย n

32 บ�ต้ 32 บ�ต้ ... 32 บ�ต้

ข้อควิามืบลั'อค 1 ( 512 บ�ต้)

Page 27: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 27

ข้�2นตอนท�� 5 การดิ$าเน�นการก�บบลั'อก (ต้)อ) ข้�2นตอนย!อยท�� 5.3 มื�การดิ$าเน�นการ 4 รอบ โดิย

แต้)ลัะรอบ ดิ$าเน�นการก�บ 16 บลั'อคย)อย ข้อมื0ลัน$าเข้าข้องแต้)ลัะรอบค�อ ก) ข้อควิามื16 บลั'อคย)อย ข้) ต้�วิแปร a, b, c แลัะ d แลัะ ค) ค)าคงท�� ซ8�งในท��น��เร�ยกวิ)า tบลั'อคย)อย

16 บลั'อคค)าคงท��

ta b c d

ก์ารัดิ-าเน�นก์ารัใน 1 รัอบ

1 รอบข้องการดิ$าเน�นการ

Page 28: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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)

Page 29: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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 เพื่��อจิะดิ$าเน�นการต้)อไป

Page 30: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 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 บ�ต้

Page 31: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 31

ข้��นต้อนการดิ$าเน�นการ 1 รอบข้อง MD5 (ต้)อ) ฟั�งก์�ชื่�น P ค�อ การดิ$าเน�นการซ8�งเก�ดิข้8�นแต้กต้)างก�นท��ง 4

รอบ โดิยดิ$าเน�นการทางต้รรกศาสต้ร!ก�บต้�วิแปร b, c แลัะ d ซ8�งฟั งก!ชื่�น P ท��ง 4 รอบแสดิงดิ�งต้าราง

ห้มืายเห้ต* ต้�วิดิ$าเน�นการต้รรกะ

AND แทนดิวิย

OR แทนดิวิย

NOT แทนดิวิย

แลัะXOR แทนดิวิย

Page 32: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 32

คืวามืแตก์ต!างรัะห้ว!าง 5MD ก์�บ 4

Page 33: 344-484   วิทยาการเข้ารหัสลับเบื้องต้น

บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 33

ปรัะส่�ทธ์�ภาพข้อง MD5

Rivest ใชื่หัลั�กการค�ดิท��ท$าใหัข้� �นต้อนวิ�ธ�ซ�บซอนแลัะมื�การส%)มืเท)าท��จิะเป5นไปไดิมืากท��ส%ดิ

เป5นการยากมืากท��ข้อควิามืย)อย 2 ข้อควิามืท��ไดิจิากการดิ$าเน�นการ MD5 จิะมื�ค)าเท)าก�น

แต้)ก'มื�ผู้0พื่ยายามืท��จิะโจิมืต้�ข้อควิามืย)อยท��ไดิจิากการดิ$าเน�นการ MD5 เชื่)น Berson Boer แลัะ Bosselaers Dobbertin