344-484 ววววววววววววววววววว ววววววววว บบบบบ 6 บบบบบบบบบบ บบบบบบบบบบบบบบบบบบบบบ ( บบบ)
Jan 27, 2016
344-484 วิ�ทยาการเข้ารหั�สลั�บเบ��องต้น
บทท�� 6 ลายมือชื่�อดิ�จิ�ตอลและฟั�งก์�ชื่�นแฮชื่ (ต�อ)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 2
เน��อหัา
ลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signatures) MD5 SHA (Secure Hash Algorithm) MAC (Message Authentication Code) HMAC เทคน�คลัายมื�อชื่��อดิ�จิ�ต้อลั
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 3
Secure Hash Algorithm(SHA)
ไดิถู&กพั�ฒนาข้)�นมืาจิากสถูาบ�นมืาต้รฐานแลัะเทคโนโลัย�แหั,งชื่าต้�ข้องสหัร�ฐอเมืร�กา (NIST) ร,วิมืก�บ National Security Agency (NSA)
ปี. ค.ศ . 1993 ไดิเผยแพัร, SHA เปี1นมืาต้รฐานท��ใชื่ในการปีระมืวิลัผลัสารสนเทศกลัาง (Federal Information Processing Standard : FIPS PUB 180)
ปี. ค.ศ . 1995 ไดิเปีลั��ยนชื่��อเปี1น SHA-1 SHA ปีร�บปีร3งมืาจิาก MD4 แลัะมื�ควิามืคลัายคลั)งก�บ
MD4 มืาก
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 4
ก์ารท�างานของ SHA
ข��นตอนท�� 1 การเพั��มืบ�ต้หัลั�งข้อควิามื (Padding) คลัายก�บ MD5
ข��นตอนท�� 2 การระบ3ข้นาดิควิามืยาวิข้องข้อควิามืต้นฉบ�บ (Append length)
ข��นตอนท�� 3 แบ,งข้อควิามืออกเปี1นบลั5อกลัะ 512 บ�ต้ ข��นตอนท�� 4 ก6าหันดิค,าเร��มืต้นข้องต้�วิแปีรลั&กโซ่,
ก6าหันดิค,าเร��มืต้นใหัก�บต้�วิแปีรลั&กโซ่, 5 ต้�วิแปีร ค�อ A, B, C, D แลัะ E
โดิยต้�วิแปีร A, B, C แลัะ D มื�ค,าเหัมื�อนก�บใน 5MD แลัะ E มื�ค,าเท,าก�บ (C3 D2 E1 F0)
16
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 5
ก์ารท�างานของ SHA (ต�อ)
ข��นตอนท�� 5 การดิ6าเน�นการก�บบลั5อก ข��นตอนย�อยท�� 51. ส6าเนาค,าเร��มืต้นข้องต้�วิแปีรลั&กโซ่, ใหัก�บ
ต้�วิแปีรต้,อไปีน��ค�อ a , b , c , d แลัะe กลั,าวิค�อ a = A, b = B, c = C , d = D แลัะ e = E
ข��นตอนย�อยท�� 52 แบ,งข้อควิามื 512 บ�ต้ข้องบลั5อคท��ดิ6าเน�นการข้ณะน��นออกเปี1นบลั5อคย,อย 16บลั5อก โดิยแต้,บลั5อกย,อยมื�ข้นาดิ 32บ�ต้
ข��นตอนย�อยท�� 53 มื�การดิ6าเน�นการ 4 รอบ โดิยแต้,ลัะรอบปีระกอบดิวิย 20ข้��นต้อน ข้อมื&ลัน6าเข้าข้องแต้,ลัะรอบค�อ ก ) ข้อควิามื 16บลั5อคย,อย ข้ ) ร�จิ�สเต้อร! abcde แลัะ ค ) ค,าคงท�� K[t ] ซ่)�ง 0 t 79 แลัะค,าคงท�� K[t ] มื� 4 ค,า
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 6
ก์ารท�างานของ SHA (ต�อ)
ข��นตอนย�อยท�� 54. การดิ6าเน�นการ SHA 4 รอบ แต้,ลัะรอบดิ6าเน�นการอ�ก 20 คร��ง
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 7
ก์ารท�างานของ SHA (ต�อ)
เข้�ยนใหัอย&,ในร&ปีสมืการคณ�ต้ศาสต้ร!ดิ�งน��abcde = ( e +P ( b , c , d ) + s 5 (a) + W[t ] + K[t ] ), a ,s30( b ), c , d)
โดิยท��a , b , c , d , e = ต้�วิแปีรลั&กโซ่, ท��ไดิกลั,าวิข้างต้น
P = ฟั งก!ชื่�นหัน)�งซ่)�งจิะกลั,าวิต้,อไปีsi = การเลั��อนบ�ต้เปี1นวิงทางซ่ายข้องบลั5อคย,อยข้นาดิ 32 บ�ต้ เปี1นจิ6านวิน i บ�ต้W[t ] = ค,าข้นาดิ 32 บ�ต้ท��ไดิมืาจิากบลั5อคย,อย 32 บ�ต้ข้ณะน��น K[t ] = ค,าคงท�� 1 ใน 4 ค,า
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 8
ก์ารท�างานของ SHA (ต�อ)
ฟั�งก์�ชื่�น P ค�อ การดิ6าเน�นการซ่)�งเก�ดิข้)�นแต้กต้,างก�นท��ง 4 รอบ โดิยดิ6าเน�นการทางต้รรกศาสต้ร!ก�บต้�วิแปีร b , c , แลัะ d ซ่)�งฟั งก!ชื่�น P ท��ง 4รอบแสดิงดิ�งต้าราง
หมืายเหต" ต้�วิดิ6าเน�นการต้รรกะ AND แทนดิวิย OR แทนดิวิย
NOT แทนดิวิย แลัะ XOR แทนดิวิย
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 9
ก์ารท�างานของ SHA (ต�อ)
ส6าหัร�บค,าข้อง W[t ] ท�� 0 t 15ค�อ ค,าข้อง M[t ] ( ข้อมื&ลัน6าเข้า 16บลั5อคย,อย มื�ชื่��อวิ,า M [0], M[1], … M[
15 ส,วินค,าข้อง W[t ] ท��เหัลั�อ (1 6 t 7 9 )ค6านวิณจิากสมืการคณ�ต้ศาสต้ร!
W[t ] = s 1(W[t-16] W[t- 14] W[t- 8 ] W[t-3 ])
สร3ปีค,าข้อง W ใน SHA-1 ดิ�งน��
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 10
ความืแตก์ต�างระหว�าง 5MD ก์�บ -SHA 1
ความืแตก์ต�างระหว�าง 5MD ก์�บ -1SHA
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 11
Message Authentication Code(MAC) มื�ควิามืคลัายคลั)งก�บการย,อยข้อควิามื(Message
Digest) มืาก แต� การย,อยข้อควิามื เปี1นการพั�มืพั!ลัายน��วิมื�อข้อง
ข้อควิามืวิ�ธี�หัน)�ง ซ่)�งไมื�มื�ส่�วนของก์ระบวนก์ารเข(ารห�ส่ล�บ
ข้��นต้อนท�� 1
ส,งก3ญแ
จิ(K1)
Message Authentication Code (MAC)
ข้อควิามื
(M)
ข้อควิามื
(M)
ข้อควิามื
(M)
MAC(H1)
MAC(H1)
+
MAC(H2)
ก3ญแจิ
(K1)
ข้��นต้อนท�� 2
ข้��นต้อนท�� 3
ข้��นต้อนท�� 4
MAC(H1)
MAC(H2)
เปีร�ยบเท�ยบ
ผู้*(ส่�ง(ก์)
ผู้*(ร�บ(ข)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 12
Message Authentication Code(MAC) ควิามืส6าค�ญข้อง MAC
ท6าใหัผ&ร �บมื��นใจิไดิวิ,า ข้อควิามืท��ส,งมืาไมื,ถู&กเปีลั��ยนแปีลัง ท6าใหัผ&ร �บมื��นใจิไดิวิ,า ข้อควิามืท��ส,งมืาน��นมืาจิากผ&ส,งท��ต้�ดิต้,อดิวิย
จิร�ง ๆ MAC คลัายก�บการดิ6าเน�นการเข้ารหั�สข้อควิามื แต� การ
เข้ารหั�สลั�บดิวิยก3ญแจิแบบสมืมืาต้รน��น จิะมื�ข้��นต้อนในการถูอดิรหั�สข้อควิามื ซ่)�งการท6างานจิะต้รงข้ามืก�น ส6าหัร�บ MAC ท��งผู้*(ส่�งและผู้*(ร�บดิ�าเน�นก์ารเข(ารห�ส่ข(อความือย�างเดิ�ยว ดิ�งน��น ข้��นต้อนวิ�ธี�ข้อง MAC จิ)งเปี1นเพั�ยงฟั�งก์�ชื่�นทางเดิ�ยว (one-way function)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 13
HMAC
- Hash based Message Authentication Code
น6ามืาใชื่ในก�บ โปีรโต้คอลัควิามืปีลัอดิภั�ยข้องข้อมื&ลับนอ�นเต้อร!เน5ต้ (Inte
[[[[[[[[[ ( ) ) แลัะ โปีรโต้คอลั [[[[[ [[[[[[[[[(( ))
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 14
ก์ารท�างานของ HMAC
แนวิค�ดิข้องการท6างานข้อง HMAC น6าหัลั�กการท6างานข้องการย,อยข้อควิามื เชื่,น MD5 หัร�อ
SHA-1 โดิยมืองการย,อยข้อควิามืเปี1นเสมื�อนกลั,องดิ6า แลัะ
ใชื่ก3ญแจิสมืมืาต้รเพั��อเข้ารหั�สข้อควิามืย,อย เพั��อใหัไดิผลัลั�พัธี! MAC
หล�ก์ก์ารท�างานของ HMAC
เข้ารหั�สดิวิยก3ญแจิ (K)
ข้อควิามื(M)
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื เชื่,น MD5
หัร�อ SHA-1
ข้อควิามืย,อย (MD)
MAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 15
ก์ารท�างานของ HMAC (ต�อ)
ต้�วิแปีรต้,าง ๆ ท��ใชื่ใน HMAC ดิ�งน�� MD = ข้��นต้อนวิ�ธี�ย,อยข้อควิามืหัร�อฟั งก!ชื่�นแฮชื่ท��น6ามืาใชื่
(เชื่,น - MD5, SHA 1 เปี1นต้น)M = ข้อควิามืน6าเข้าซ่)�งน6ามืาค6านวิณหัาค,า MACL = จิ6านวินบลั5อคข้องข้อควิามื Mb = จิ6านวินบ�ต้ข้องแต้,ลัะบลั5อกK = ก3ญแจิสมืมืาต้รท��ใชื่ร,วิมืก�นใน HMACipad = สายอ�กข้ระ (string) 00110110 โดิยท6าซ่6�า b 8/คร��งopad = สายอ�กข้ระ (string) 01011010 โดิยท6าซ่6�า b 8 คร��ง
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 16
ข��นตอนท�� 1 ท6าใหัข้นาดิข้องก3ญแจิ K เท,าก�บ b
ก์ารท�างานของ HMAC (ต�อ)
K>bY N
น6า K ไปีดิ6าเน�นการย,อยข้อควิามืเพั��อใหัข้นาดิ
ข้องก3ญแจิ K= bK<b
Y N
เพั��มืค,า 0 ต้ามืจิ6านวินบ�ต้ท��ข้าดิหัายไปีซ่)�งท6าใหั
K= b
ดิ6าเน�นการข้��นต้อนท�� 2ต้,อไปี
ข��นตอนท�� 1 ของ HMAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 17
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 2 ดิ6าเน�นการ XOR ( ) ก3ญแจิ K ก�บ ipad ไดิผลัลั�พัธี!ค�อ S1
ก3ญแจิ K
ipad
S1
ข��นตอนท�� 2 ของ HMAC
+
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 18
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 3 เต้�มืข้อควิามืต้นฉบ�บ (M ) ต้,อทาย S1
S1 ข้อควิามืต้นฉบ�บ (M)
S1 ข้อควิามืต้นฉบ�บ (M)
ข��นตอนท�� 3 ของ HMAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 19
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 4 ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
S1 ข้อควิามืต้นฉบ�บ (M)
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
(MD algorithm)
H
ข��นตอนท�� 4 ของ HMAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 20
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 5 ดิ6าเน�นการ XOR ( ) ก3ญแจิ K ก�บ opad ไดิผลัลั�พัธี!ค�อ S2
ก3ญแจิ K
opad
S2
ข��นตอนท�� 5 ของ HMAC
+
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 21
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 6 เต้�มืข้อควิามืย,อย (H ) ต้,อทาย S2
S2 H
S2 H
ข��นตอนท�� 6 ของ HMAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 22
ก์ารท�างานของ HMAC (ต�อ)
ข��นตอนท�� 7 ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
ข��นตอนท�� 7 ของ HMAC
HS2
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
(MD algorithm)
MAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 23
ก์ารท�างานของ HMAC (ต�อ)
S1 ข้อควิามื (M)
ข��นตอนว�ธี�ก์ารท�างานของ HMAC
ก3ญแจิ (K)
แปีลังก3ญแจิ (K)
ipad
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
HS2
Hแปีลังก3ญแจิ (K) opad
HMAC
+
+
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 24
ข(อเส่�ยของ HMAC
HMAC ไมื,ไดิแกปี ญหัาต้,อไปีน�� ย�งคงมื�ปี ญหัาเดิ�มืค�อ การแลักเปีลั��ยนก3ญแจิ สมืมืต้�ใหัไมื,มื�ปี ญหัาการแลักเปีลั��ยนก3ญแจิก5ต้ามื การใชื่ข้� �นต้อน
วิ�ธี�น��ก5ไมื,สามืารถูใชื่ไดิก�บกรณ�ท��มื�จิ6านวินผ&ร �บมืากกวิ,า 1คน ผ&ร �บไมื,สามืารถูมื��นใจิไดิวิ,าข้อควิามืท��ส,งมืาจิากผ&ส,งจิร�งๆ ไมื,ใชื่,มืา
จิากผ&ร �บคนใดิคนหัน)�งในกลั3,มื เพัราะผ&ร �บคนอ��น ๆ ก5ทราบก3ญแจิสมืมืาต้รต้�วิเดิ�ยวิก�นน��เชื่,นก�น
กรณ�ท��สามืารถูแกปี ญหัาดิ�งกลั,าวิข้างต้น ท��ง 2ฝ่@ายร�บทราบก3ญแจิสมืมืาต้รดิวิยก�น ดิ�งน��น จิะพั�ส&จิน!ไดิอย,างไรวิ,าค,า MACท��ไดิเก�ดิจิากผ&ส,ง หัร�อ ผ&ร �บก�นแน,ท��ดิ6าเน�นการข้)�นมืา แลัะก5เปี1นไปีไดิท��ท� �ง 2ฝ่@ายร& ข้อควิามืต้นฉบ�บแลัะค,า MAC
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 25
เทคน�คลายมือชื่�อดิ�จิ�ตอล
สถูาบ�นมืาต้รฐานแลัะเทคโนโลัย�แหั,งชื่าต้�ข้องสหัร�ฐอเมืร�กา (NIST) ไดิพั�ฒนา มืาต้รฐานลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signature Standard: DSS) ส6าหัร�บการดิ6าเน�นการเก��ยวิก�บลัายมื�อชื่��อดิ�จิ�ต้อลัข้)�น ชื่��อ PUB 186 ในปี. ค.ศ . 19
91 แลัะไดิมื�การแกไข้ปีร�บปีร3งในปี. ค.ศ . 1993 แลัะ 1 996
ข้��นต้อนวิ�ธี�ลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signature Algorithm : DSA) โดิย DSA แลัวิใชื่เพั��อดิ6าเน�นการลัายมื�อชื่��อดิ�จิ�ต้อลัใหัก�บข้อควิามืเพั�ยงอย,างเดิ�ยวิ
ข้��นต้อนวิ�ธี� RSA ค�อ เข้ารหั�สข้อควิามืแลัะย�งสามืารถูน6ามืาใชื่เพั��อดิ6าเน�นการลัายมื�อชื่��อดิ�จิ�ต้อลัใหัก�บข้อควิามืไดิ
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 26
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล
ข��นตอนท�� 1 ผ&ส,ง (นาย ก ) ย,อยข้อควิามืต้นฉบ�บดิวิย SHA-1 ไดิข้อควิามืย,อย (MD1)
ข้อควิามืต้นฉบ�บ
(M)
ข้��นต้อนวิ�ธี�การย,อยข้อควิามื
(SHA-1)
ก์ารค�านวณหาข(อความืย�อย
ข้อควิามืย,อย(MD1)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 27
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
ข��นตอนท�� 2 ผ&ส,ง (นาย ก ) เข้ารหั�สข้อควิามืย,อยดิวิยก3ญแจิส,วินต้�วิ ผลัลั�พัธี!ท��ไดิเร�ยกวิ,า ลัายมื�อชื่��อดิ�จิ�ต้อลั (Digital Signature: DS)
ข้อควิามืย,อย
(MD1)
ลัายมื�อชื่��อดิ�จิ�ต้อลั(DS)เข้ารหั�สดิวิย
ก3ญแจิส,วินต้�วิข้องผ&ส,งก์ารส่ร(างลายมือชื่�อดิ�จิ�ตอล
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 28
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
ข��นตอนท�� 3 ผ&ส,ง (นาย ก ) ส,งข้อควิามืต้นฉบ�บ (M ) พัรอมืลัายมื�อชื่��อดิ�จิ�ต้อลั (DS) ไปีใหัผ&ร �บ (นาย ข้ ) ผู้*(ส่�ง
(ก์)ผู้*(ร�บ(ข)
เคร�อข้,าย
ข้อควิามืต้นฉบ�บ
(M)
ลัายมื�อชื่��อดิ�จิ�ต้อลั (DS)
ก์ารส่�งข(อความืต(นฉบ�บและลายมือชื่�อดิ�จิ�ตอลไปดิ(วยก์�น
+ข้อควิามืต้นฉบ�บ
(M)
ลัายมื�อชื่��อดิ�จิ�ต้อลั (DS)
+
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 29
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
ข��นตอนท�� 4 ผ&ร �บใชื่ข้� �นต้อนวิ�ธี�การย,อยข้อควิามืเดิ�ยวิก�บท��ผ&ส,งใชื่เพั��อหัาข้อควิามืย,อย (MD2) ข้องต้นเอง
ข้อควิามืต้นฉบ�บ
(M)
ข้อควิามืย,อย (MD2)
ข้��นต้อนวิ�ธี�ย,อยข้อควิามื(SHA-1)
ผู้*(ร�บดิ�าเน�นก์ารย�อยข(อความืของตนเอง
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 30
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
ข��นตอนท�� 5 ผ&ร �บ (นาย ข้ ) ใชื่ก3ญแจิสาธีารณะข้องผ&ส,ง (นาย ก ) เพั��อถูอดิรหั�สลัายมื�อชื่��อดิ�จิ�ต้อลั ผลัลั�พัธี!ท��ไดิค�อ ข้อควิามืย,อย (MD1)
ลัายมื�อชื่��อดิ�จิ�ต้อลั(DS)
ข้อควิามืย,อย (MD1)
ถูอดิรหั�สดิวิยก3ญแจิ
สาธีารณะข้องผ&ส,งผู้*(ร�บร�บข(อความืย�อยของผู้*(ส่�ง
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 31
RSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
ข��นตอนท�� 6 นาย ข้ น6าข้อควิามืย,อยท��ง 2 (MD 1 แลัะ MD2) มืาเปีร�ยบเท�ยบก�น
มื��นใจิแลัะยอมืร�บข้อควิามืต้นฉบ�บ (M)
ปีฏิ�เสธีข้อควิามืต้นฉบ�บ (M)
ข้อควิามืย,อย (MD1)
ก์ารตรวจิส่อบลายมือชื่�อดิ�จิ�ตอล
ข้อควิามืย,อย (MD2)
MD1 = MD2
Yes No
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 32
DSA ก์�บลายมือชื่�อดิ�จิ�ตอล
ข้��นต้อนวิ�ธี�ข้อง DSA ค,อนข้างซ่�บซ่อน ต้�วิแปีรท��เก��ยวิข้องมื�ดิ�งน��
p = จิ6านวินเฉพัาะท��มื�ควิามืยาวิข้นาดิ L บ�ต้ โดิย L = ผลัค&ณข้อง 64 ซ่)�งมื�ค,าระหัวิ,าง 512 ถู)ง [1024ต้�วิ
อย,างเชื่,น 512L = หัร�อ 576 หัร�อ 640 หัร�อ 1024... ) โดิยมืาต้รฐานท��วิไปี 512p =
q = ต้�วิปีระกอบข้อง p- 1ซ่)�งมื�ข้นาดิ 160บ�ต้g = h (p-1q mod p โดิย h ค�อ จิ6านวินท��นอยกวิ,า ( p- 1) เชื่,น h
(p-1)/q mod q 1>x = จิ6านวินท��นอยกวิ,า qy = gx mod p
[ = ข้��นต้อนวิ�ธี�การย,อยข้อควิามื ( โดิยปีรกต้�ค�อ -SHA 1)
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 33
DSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ) ต้�วิแปีร 3 ต้�วิแรกค�อ p , q แลัะ g เปี1นต้�วิแปีรท��ปีระกาศใหัร& ก�น
ท��วิไปี ต้�วิแปีร x ค�อก3ญแจิส,วินต้�วิซ่)�งส�มืพั�นธี!ก�บก3ญแจิสาธีารณะ y ก6าหันดิใหั ผ&ส,งต้องการส,งข้อควิามื (M ) แลัะ ลัายมื�อชื่��อดิ�จิ�ต้อลั
ไปีใหัผ&ร �บ โดิยมื�ข้��นต้อนวิ�ธี�ดิ�งน��1 . ผ&ส,งสรางจิ6านวินส3,มืข้)�นมืา 1 ต้�วิ (k ) ซ่)�งมื�ค,านอย q 2. ผ&ส,งค6านวิณหัาค,า
r = (gk mod p ) mod qs = (k1 (H(m ) + xr )) mod q
ค,า r แลัะ s ค�อลัายมื�อชื่��อข้องผ&ส,ง ซ่)�งผ&ส,งค,าเหัลั,าน��ไปีใหัผ&ร �บเพั��อต้รวิจิสอบ
บทท�� 6 ลัายมื�อชื่��อดิ�จิ�ต้อลัแลัะฟั งก!ชื่�นแฮชื่ 34
DSA ก์�บลายมือชื่�อดิ�จิ�ตอล (ต�อ)
3 . ผ&ร�บค6านวิณค,า w = s- 1 mod q1u = (H(m *) w ) mod q2u = (rw ) mod q
v = ((g 1u * y 2u ) mod p ) mod qถูา v = r แลัวิ แสดิงวิ,าลัายมื�อชื่��อถู&กต้อง มื�ฉะน��น
ปีฏิ�เสธีลัายมื�อชื่��อน��