19. ขั้นตอนในการเลือกคีย์ของ RSA
เลือกเลขจํานวนเฉพาะ (prime number) p และ q ที่มีการต่างกัน
‣ หลักในการเลือกตัวเลขทั้งสองนี้คอ ยิ่งมากยิ่งทําให้ยากต่อการถอดรหัสลับได้ แต่
ื
ก็จะทําให้การเข้าและถอดรหัสช้าลง
คํานวณ n = pq
คํานวณ m = (p-1)(q-1)
เลือกค่า e ที่ 1 < e < m และตัวหารร่วมมาก (gcd) ของ e กับ m เป็น 1
ดังนั้น e และ m จึงเป็นจํานวนเฉพาะซึ่งกันและกัน
‣ หาโดยการสุม e แล้วทดสอบว่า gcd(e, m) เป็น 1 หรือไม่
่
คํานวณหาเลข d โดยที่ ed mod m = 1
Public Key = ค่า (e, n)
Private Key = ค่า (d, n)
Faculty of Information Technology
Page
19
20. ขั้นตอนการเข้าและถอดรหัส
RSA Encryption
เมื่อต้องการส่งข้อมูล M โดย M < n ในการเข้ารหัสนั้นจะใช้ Public Key
(e, n) โดยใช้สูตร
‣ Ciphertext
C = Me mod n
RSA Decryption
ถอดรหัส ciphertext C โดยใช้ Private Key (d, n) โดยใช้สูตร
‣ Message
M = Cd mod n
ตัวอย่าง
‣ p = 5, q = 7, n = 35, m = 24
‣ e = 5, d = 29
Faculty of Information Technology
Page
20
21. ตัวอย่างการเข้ารหัส
n = 35, e = 5
Plaintext
M
Me
Ciphertext = Me mod n
L
12
248832
17
O
15
759375
15
V
22
5153632
22
E
5
3125
10
Faculty of Information Technology
Page
21
22. ตัวอย่างการถอดรหัส
n = 35, d = 29
Cd
Ciphertext
M= Cd mod n
Plaintext
17
48196857210675091509141182522307000
12
L
15
12783403948858939111232757568359400
15
O
22
8.5164331908653770195619449972111e+38
22
V
10
100000000000000000000000000000
5
E
Faculty of Information Technology
Page
22