กิจกรรม 1
ให้นกศึกษาจับกลุ่มเพื่อวิเคราะห์ปัญหาของ SymmetricKey
ั
Cryptography โดยพิจารณาจากประเด็นปั ญหาต่อไปนี้
ในการใช้งาน Symmetric Key Cryptography นัน key ที่ใช้ในการทา
้
Encryption และ Decryption ต้องมีความสัมพันธ์กนอย่างไร?
ั
Alice ต้องการส่งข้อมูลลับไปให้กบ Bob อย่างไรก็ตาม Alice ไม่เคยรูจก
ั
้ ั
Bob มาก่อน และไม่เคยมีปฏิสมพันธ์กบ Bob มาก่อน ในกรณี น้ ี Alice
ั
ั
สามารถใช้ Symmetric Key Cryptography ในการเข้ารหัสข้อมูลไปให้
Bob โดยที่ Bob สามารถถอดรหัสได้เลยหรือไม่ ถ้าไม่ คิดว่าต้องมีกลไก
ใดเกิดขึ้ นก่อนที่จะเริ่ม Symmetric Key Cryptography
Faculty of Information Technology
Page
15
16.
Diffie-Hellman
Diffie-Hellman อาศัยหลักการว่าการคานวณค่าของเอ็กโปเนนเชียล
(Exponential) นันง่ายกว่าการคานวณล็ อกการิทึม (Logarithm) โดย
้
อัลกอริทึมนี้ จะอนุญาตให้คนสองคนสามารถสร้าง Secret Key เพื่อใช้ใน
การเข้ารหัสข้อมูล
ขันตอนการทางาน
้
เริ่มโดยการเลื อกตัวเลขจำนวนเฉพำะ ที่มีค่ามากค่าหนึ่ ง เป็ น p แล้วต้อง
เลื อกอีกตัวเลขหนึ่ ง สมมติว่าเป็ น g โดยที่ g < p และ g ต้องเป็ น
Primitive เมื่ออ้างกับ p (Primitive Root Modulo p)
‣ ถ้า g เป็ น Primitive ของ p ก็ต่อเมื่อ ถ้าเราสามารถหาจานวนเต็ม i โดยที่ gi =
j (mod p) สาหรับทุกค่าของ j ที่มีค่าตังแต่ 1 ถึง p-1
้
Faculty of Information Technology
Page
16
17.
Diffie-Hellman (Example)
ตัวอย่าง เลือกg = 3, p = 5
ทดสอบคุณสมบัติ Primitive
‣
‣
‣
‣
‣
‣
g1 mod 5 = 3 mod 5 = 3
g2 mod 5 = 9 mod 5 = 4
g3 mod 5 = 27 mod 5 = 2
g4 mod 5 = 81 mod 5 = 1
g5 mod 5 = 243 mod 5 = 3
g6 mod 5 = 729 mod 5 = 4
ดังนัน 3 เป็ น primitive ของจานวนเฉพาะ 5
้
Faculty of Information Technology
Page
17
18.
Diffie-Hellman
วิธีการสร้าง SecretKey
Bob
Alice
เลือกค่า g และ p
เลือกเลขที่มีค่ามากๆ a
คานวณ A = ga mod p
ส่ง g, p, A ให้ Bob
รับ B จาก Bob
คานวณหาค่า K = Ba mod p
Faculty of Information Technology
g, p, A
B
รับ g, p, A
เลือกเลขที่มีค่ามากๆ b
ส่งค่า B = gb mod p ให้ Alice
คานวณหาค่า K = Ab mod p
Page
18
19.
Diffie-Hellman
g =3 and p = 5
Bob
Alice
เลือกค่า g=3 และ p=5
เลือก a = 2
คานวณ A = 32 mod 5 = 4
ส่ง g=3, p=5, A=4 ให้ Bob
g=3, p=5,
A=4
รับ B จาก Bob
คานวณหาค่า K = 22 mod 5 = 4
Faculty of Information Technology
B
รับ g=3, p=5, A=4
เลือกเลขที่มีค่ามากๆ b = 3
ส่งค่า B = 33 mod 5 = 2 ให้
Alice
คานวณหาค่า K = 43 mod 5 = 4
Page
19