ครั้งที่ 6

Download Report

Transcript ครั้งที่ 6

887110
Introduction to discrete
structure
บทที่ 5 ทฤษฎีจำนวน
Number Theory
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
1
ทฤษฎีจำนวน (Number Theory)
• เป็ นสำขำหนึ่งในวิชำคณิตศำสตร ์ ทีศ
่ ึ กษำ
เกีย
่ วกับคุณสมบัตข
ิ องจำนวนเต็ม
• มีบทบำทสำคัญในขัน
้ ตอนวิธต
ี ำงๆ
เช่น
่
– Hash function : ใช้ในกำรตรวจสอบขอมู
้ ล หรือ
กำรเขำรหั
ส
้
– Cryptography : กำรแปลงขอควำมปกติ
ให้กลำยเป็ น
้
ขอควำมลั
บทีม
่ แ
ี ตคู
ำนั
เช่น กำร
้
่ สนทนำเท
่
่ ้นทีเ่ ขำใจ
้
เขำรหั
สขอควำม
HELLO จะถูกแปลงให้เป็ นคำวำ่
้
้
JGNNQ
– Digital signatures
: ลำยเซ็ นตอิ
์ เล็กทรอนิกส์
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
2
ภำพรวมของเนื้อหำ
1. กำรหำร
– กำรหำรลงตัว
– กำรหำรแบบมีเศษ
2.
3.
4.
5.
6.
จำนวนเฉพำะ (prime numbers)
ตัวหำรรวมมำก
(ห.ร.ม.)
่
Euclid’s Algorithm
Modulus
จำนวนเฉพำะสั มพัทธ ์
(Relative
Primality) คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
3
ภำพรวมของเนื้อหำ 2
7. Pairwise relatively prime
8. ตัวคูณรวมน
่
้ อย (ค.ร.น.)
9. Modular Congruence
10.Hashing Function
11.Pseudo-random Numbers
12.กำรเขำรหั
ส/กำรถอดรหัส
้
13.RSA encryption
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
4
กำรหำร (Division)
• กำหนดให้ a และ b เป็ นจำนวนเต็ม
– a หำร b ลงตัว เมือ
่ b = am โดยที่ m เป็ น
จำนวนเต็มจำนวนหนึ่ง แทนดวยสั
ญลักษณ ์ a | b
้
– กรณีท ี่ a หำร b ไมลงตั
ว หมำยควำมวำ่ b =
่
am + r โดยที่ r เป็ นเศษของกำรหำร (0 < r < a)
แทนดวยสั
ญลักษณ ์ a  b
้
•
•
•
•
เรียก
เรียก
เรียก
เรียก
a วำ่ ตัวหำร (divisor)
b วำ่ ตัวตัง้ (dividend)
m วำ่ ผลหำร (quotient)
r วำ่ เศษ (remainder)
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
5
ตัวอยำงกำรหำรยำว
่
a the
divisor
b the
dividend
m the
quotient
3
31 117
93
r the
remainder
24
117 = 31·3 + 24
b = am + r
a the
divisor
b the
dividend
4
3  11
 12
1
m the
quotient
r the
remainder
-11 = 3·(-4) +1
ข้อสังเกต: เศษจะเป็ นจำนวนลบไม่ได้
b = am + r
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
6
กิจกรรมที่ 1
• จงพิจำรณำวำข
้เป็ นจริงหรือไม่
่ อต
้ อไปนี
่
1.
2.
3.
4.
5.
77 | 7
7 | 77
24 | 24
0 | 24
24 | 0
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
7
จำนวนเฉพำะ (prime number)
• จำนวนเต็มบวก p ทีม
่ ค
ี ำมำกกว
ำ่ 1 เป็ น
่
จำนวนเฉพำะก็ตอเมื
่ มีแต่ 1 และ p เทำนั
่ อ
่ ้น
ทีห
่ ำร p ลงตัว เช่น 2, 3, 5, 7
• จำนวนเต็มทีม
่ ค
ี ำมำกกว
ำ่ 1 ทีไ่ มใช
่
่ ่ จำนวน
เฉพำะ เรำจะเรียกวำ่ จำนวนประกอบ
(composite number) เพรำะจำนวนดังกลำว
่
เกิดจำกกำรคูณกันของจำนวนเต็มทีม
่ ำกกวำ่ 1
สองจำนวน เช่น
–4=2.2
–6=2.3
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
8
กำรทดสอบกำรเป็ นจำนวนเฉพำะ
• วิธก
ี ำรทดสอบวำจ
่ ำนวนเต็ม p เป็ นจำนวน
เฉพำะหรือไมแบบง
ำยคื
อ ลองหำร p ดวย
่
่
้
จำนวนเฉพำะทีม
่ ค
ี ำน
่ ้ อยกวำ่ p
– วิธน
ี ี้อำจใช้เวลำนำนหำกจำนวนเต็ม p มีคำมำกๆ
่
• เรำสำมำรถลดภำระของกำรลองหำรไดจำก
้
ทฤษฎีบท p
– ทฤษฎีบท : ถำ้ p เป็ นจำนวนประกอบแลว
้ p
ตองมี
ตวั ประกอบเฉพำะตั
วหนึ่งทีม
่ ค
ี ำไม
มำกกว
ำ่
p
้
่
่
p ท เรำสำมำรถทดสอบกำรเป็ น
• จำกทฤษฎีบ
จำนวนเฉพำะโดยกำรลองหำรดวยจ
ำนวน
้
คณะวิทยำกำรสำรสนเทศ
เฉพำะทีไ่ มเกิ
น
นั่นคือ ถำ้ 9
่
ม. บูรพำ
ตัวอยำง
่
จำนวนตอไปนี
้ 0 , 1, 2 , 3, 4, 5, 6, 7, 8, 9, 10
่
จำนวนใดเป็ นจำนวนเฉพำะ
วิธท
ี ำ
– 0 และ 1 ไมใช
่ ่ จำนวนเฉพำะ เพรำะจำนวนเฉพำะ
เป็ นจำนวนทีม
่ ำกกวำ่ 1
– 2, 3, 5, 7 เป็ นจำนวนเฉพำะ เพรำะมีแค่ 1 และ
ตัวมันเองทีห
่ ำรลงตัว
– 4, 6, 8, 9, 10 ไมใช
่ ่ จำนวนเฉพำะ เพรำะหำรดวย
้
2 หรือ 3 ลงตัว
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
10
กิจกรรมที่ 2
• จงทดสอบวำ่ 139 และ 143 เป็ นจำนวน
เฉพำะหรือไม่
143
139
• ขอแนะน
ำ : เขียนจำนวนเฉพำะทีม
่ ค
ี ำน
้
่ ้ อยกวำ่
หรือเทำกั
และ
่ บ
จำกนั้นนำจำนวนเฉพำะดังกลำวไปหำรกั
บจำนวนที่
่
กำหนด
– ถำมี
้ จำนวนเฉพำะตัวใดตัวหนึ่งหำรลงตัว แสดงวำ่
จำนวนนั้นไมใช
่ ่ จำนวนเฉพำะ
– ถำไม
มี
่ ำรลงตัว สรุปวำ่ จำนวน
้
่ จำนวนเฉพำะใดทีห
คณะวิทยำกำรสำรสนเทศ
นั้นเป็ นจำนวนเฉพำะ
11
ม. บูรพำ
กิจกรรมที่ 2
• จงทดสอบวำ่ 139 และ 143 เป็ นจำนวน
เฉพำะหรื
อไม่
139
≈ 11
ลองทดสอบนำจำนวนเฉพำะทีน
่ ้ อยกวำหรื
อเทำกั
่
่ บ 11
ไปทดสอบ
นั่นคือ
143
2, 3, 5 , 7 , 11 พบวำ่ ไมมี
่ ำร 139 ลงตัว
่ ตวั เลขใดทีห
ดังนั้น 139 เป็ นจำนวนเฉพำะ
≈ 11
อเทำกั
ลองทดสอบนำจำนวนเฉพำะทีน
่ ้ อยกวำหรื
่ บ 11
่
ไปทดสอบ นั่นคืคณะวิ
อ ทยำกำรสำรสนเทศ
ม. บูรพำ
12
ตัวหำรรวมมำก
(ห.ร.ม.)
่
• เรำเรียกวำ่ a เป็ นตัวหำรรวมของ
b และ c
่
เมือ
่ a | b และ a | c
• กรณีท ี่ a เป็ นตัวหำรรวมที
ม
่ ค
ี ำมำกที
ส
่ ุด เรำ
่
่
เรียก a วำเป็
ำนวนเต็ม
่ นตัวหำรรวมมำกของจ
่
b และ c เขียนแทนดวย
gcd(b,c)
้
• ตัวอยำง
่
– gcd(20 , 15) = 5
– gcd(13 , 31) = 1
– gcd(420, 21) = 21
คณะวิทยำกำรสำรสนเทศ
– gcd(0 , n) = n เมือ
่ ม.n>
0 (จำนวนเต็มบวกใดๆก็13
บูรพำ
วิธก
ี ำรหำ ห.ร.ม โดยกำรแยกตัว
ประกอบ
• กำรหำ gcd (m,n) ทำไดโดยแยกตั
วประกอบ
้
ของจำนวนเต็ม m และ n จำกนั้นเลือก
จำนวนเฉพำะทีป
่ รำกฎอยูในทั
ง้ m และ n มำ
่
เป็ นคำตอบ
• ตัวอยำง
จงหำ gcd(84 , 96)
่
– 84 = 2 . 2 . 3 . 7
– 96 = 2 . 2 . 2 . 2 . 2 . 3
– ดังนั้น gcd(84 , 96)
= 22 . 31 . 71
= 25 . 31 . 70
= 2 2 . 31 . 70
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
14
กิจกรรมที่ 3
จงหำ ห.ร.ม หรือ gcd ตอไปนี
้
่
1. gcd(48 , 72)
2. gcd(11 , 77)
3. gcd(33 , 77)
4. gcd(24 , 36)
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
15
กำรหำ ห.ร.ม ดวยขั
น
้ ตอนวิธแ
ี บบ
้
ยุคลิค
• วิธก
ี ำรหำ ห.ร.ม. ของ gcd (a,b) ดวยวิ
ธย
ี ุค
้
ลิค procedure
มีขน
้ั ตอนดัgcd
งนี้ (a, b: positive
integers)
while b  0
begin
r ≔ a mod b; a ≔ b;
≔ r;
end
return a คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
b
16
มอดุโล (Modulus)
• มอดุโล หรือเรียกยอๆว
ำ่ mod เป็ นกำร
่
ดำเนินกำรกับจำนวนเต็มเพือ
่ หำเศษทีเ่ หลือจำก
กำรหำร
• ตัวอยำง
่
113 mod
24 = 17
4
24 mod
113
29
7=6
96
5
7  29
 35
17
6
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
-
17
ตัวอยำง1
: กำรหำ ห.ร.ม ดวย
่
้
ขัน
้ ตอนวิธแ
ี บบยุคลิค
gcd (44 , 32)
a
44
32
12
8
4
b
32
12
8
4
0
b=0?
N
N
N
N
Y
r = a mod b
44 mod 32 = 12
32 mod 12 = 8
12 mod 8 = 4
8 mod 4 = 0
ดังนั้น gcd (44 , 32) = 4
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
18
ตัวอยำง2
: กำรหำ ห.ร.ม ดวย
่
้
ขัน
้ ตอนวิธแ
ี บบยุคลิค
a b
r=a%b
b
gcd (44,32)
= gcd (44 mod 32, 32)
= gcd (32, 12)
a=b,b
=r
= gcd (32 mod 12 , 12)
= gcd (12, 8)
a=b,b
=r
= gcd (12 mod 8 , 8)
= gcd (8 , 4)
a=b,b
=r
คณะวิทยำกำรสำรสนเทศ
19
= gcd (8 mod
4 , 4)
ม. บูรพำ
กิจกรรมที่ 4
• จงหำ gcd โดยใช้ Euclid ‘s Algorithm
1.
2.
3.
4.
5.
gcd (372 , 164)
gcd (299 , 26)
gcd (414 , 662)
gcd (1740 , 1120)
gcd (1246 , 132)
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
20
จำนวนเฉพำะสั มพัทธ ์ (relatively
prime)
• ในกรณีท ี่ gcd(m , n) = 1 หมำยควำมวำ่ m
และ n ไมมี
่ ำกกวำ่ 1 รวมกั
นเลย
่ ตวั หำรทีม
่
เรำเรียก m และ n วำเป็
่ นจำนวนเฉพำะ
สั มพัทธ ์
• ตัวอยำงเช
่
่ น 84 กับ 125 เป็ นจำนวน
เฉพำะสั มพัทธเพรำะ
์
– 84 = 2.2.3.7
– 125 = 5.5.5
จะเห็ นวำจ
นที่
่ ำนวนทัง้ สองไมมี
่ ตวั ประกอบรวมกั
่
มำกกวำ่ 1 คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
21
กิจกรรมที่ 4
• จงพิจำรณำวำ่ ขอใดต
อไปนี
้เป็ นจำนวนเฉพำะ
้
่
สั มพัทธ ์ gcd(19,72) = 1 ดังนั้น 19 และ 72 เป็ น
ำนวนเฉพำะสั
1. 19 และ จgcd(24,25)
72
= ม1พัดัทงธนั์ ้น 24 และ 25 เป็ น
จ25
ำนวนเฉพำะสั
2. 24 และ gcd(15,28)
= 1มพั
ดังทนัธ้น์ 15 และ 28 เป็ น
ำนวนเฉพำะสั
ธ้น
์ 15 และ 28
3. 15 และ จgcd(55,28)
28
= 1มพั
ดัท
งนั
นจำนวนเฉพำะสั มพัทธ ์
4. 55 และ เป็
28
gcd(35,28) = 7 ดังนั้น 35 และ 28 ไม่
เป็ นจำนวนเฉพำะสั มพัทธ ์
5. 35 และ 28
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
22
Pairwise relatively prime
• ถำเรำมี
เซตของจำนวนเต็ม {a1, a2, a3, … an}
้
เรำจะกลำวว
ำมั
่
่ นเป็ นจำนวนเฉพำะสั มพัทธเป็
์ น
คู่ (Pairwise relatively prime) ถำ(a
้ i, aj) ทุก
คูเป็
่ นจำนวนเฉพำะสั มพัทธ ์
• ตัวอยำง
จงพิจำรณำวำแต
ละข
อต
้เป็ น
่
่
่
้ อไปนี
่
Pairwise relatively prime หรือไม่
– {15, 17, 27} ไมเป็
่ น เพรำะ gcd (15, 27) = 3
– {15, 17, 28} เป็ น เพรำะ
• gcd (15, 17) = 1
• gcd (15, 28) = 1
• gcd (17, 28)คณะวิ
= 1 ทยำกำรสำรสนเทศ
ม. บูรพำ
23
ตัวคูณรวมน
่
้ อย (ค.ร.น)
• กำหนด a และ b เป็ นจำนวนเต็มทีไ่ มใช
่ ่ ศูนย ์
เรียกจำนวนเต็มบวก c ทีม
่ ค
ี ำน
่ ุด ซึง่
่ ้ อยทีส
a | c และ b | c วำเป็
่ น "ตัวคูณรวมน
่
้ อย"
(ค.ร.น.) ของ a และ b เขียนแทนดวย
้ lcm(a,
b) a  p1a p 2a  p na
b
b
b
b

p
p

p
• ถำ้ ตัวประกอบเฉพำะของจ
ำนวนเต็มสอง
1
2
n
จำนวนแทนดmax(
วย
max( a , b )
a ,b )
max( a , b )
lcm ( a , b )  p ้
p
p
1
1
n
2
n
2
1
–
–
1
1
2
n
2
2
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
n
n
24
ตัวอยำง
่
จงหำ lcm (60 , 54)
วิธท
ี ำ
60 = 2 . 2 . 3 . 5
= 21 . 31 . 51
54 = 2 . 3 . 3 . 3
= 21 . 33 . 50
ดังนั้น lcm(60 , 54)
= 22 . 33 . 51
= 4 . 27 . 5
= 540
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
25
กิจกรรมที่ 5
จงหำ ค.ร.น หรือ lcm ตอไปนี
้
่
1.
2.
3.
4.
5.
lcm(10,100)
lcm(10 , 100)=22 . 52
lcm(7,5) lcm(7 , 5) =71 . 51
lcm(9,21)lcm(9 , 21) =32 . 71
lcm(3,7) lcm(3 , 7) =31 . 71
lcm(4,6) lcm(4 , 6) =22 . 31
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
26
Modular Congruence
• กำหนดให้ a,b  Z และ m  Z+
• a คอนกรูเอนซกั
์ บ b มอดุโล m เขียนแทน
ดวย
a  b (mod m) หมำยควำมวำ่ m | a –
้
b ( m หำร a ลบ b ลงตัว)
• ขอสั
้ งเกต
– a  b (mod m) ก็ตอเมื
่ a mod m = b mod m
่ อ
– a  b (mod m) ก็ตอเมื
่ มีจำนวนเต็ม k ซึง่ ทำ
่ อ
ให้ a = b + km
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
28
ตัวอยำง
่
• จงพิจำรณำวำ่ ขอใดต
อไปนี
นจริงm) เมือ่ m
้
่ a  b้เป็(mod
|a–b
1. 3 3 (mod 17)
จริง เพรำะ จำนวนใดๆ congruence กับตัวเองเสมอ 3 – 3
2. 3 3 (mod 17)
เท็จ เพรำะ 3 – (-3) = 6 ไมสำมำรถหำรได
ลงตั
วดวย
่
้
้
17 3. 172 177 (mod 5)
จริง เพรำะ 172 – 177 = -5 หำรไดลงตั
วดวย
5
้
้
4. -13 13 (mod 26)
วดวย
จริง เพรำะเพรำะ -13 – 13 = -26 หำรไดลงตั
้
้
คณะวิทยำกำรสำรสนเทศ
26
29
ม. บูรพำ
Congruence Theorem
กำหนดให้ a,b,c,d  Z และ m , n  Z+
1. ถำ้ a  b (mod m) และ c  d (mod m)
ดังนั้น
– a + c  b + d (mod m) และ
– ac  bd (mod m)
2. ถำ้ a  b (mod m) และ b  c (mod m)
ดังนั้น
– a  c (mod m)
n  bn (mod
3. ถำ้ a  b (mod
m)
ดั
ง
นั
้
น
a
คณะวิทยำกำรสำรสนเทศ
30
ม. บูรพำ
m)
ตัวอยำง
่
• จงหำคำตอบของโจทยต
้
์ อไปนี
่
1. 3071001 mod 102
2. (-45 · 77) mod 17
3.  10  mod 11
23


i4
i

คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
31
วิธท
ี ำ 1
1. หำ 3071001 mod 102 โดยใช้กฎกำรยกกำลัง (กฎ
ขอที
้ ่ 3)
กฎ : a  b (mod m) ดังนั้น an  bn (mod m)
ำ่ b กอน
วิธท
ี ำ เรำตองหำค
m | a - b นั่นคือ 1
้
่
เพรำะ 102 | 307 - 1
จำกกฎ 307n1n (mod 102) ถำ้ 3071 (mod 102)
ดังนั้น :
3071001
 11001 (mod 102)
 1 (mod 102)
ดังนั้น, 3071001 mod 102 = 1
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
32
วิธท
ี ำ 2
2. หำ (-45 · 77) mod 17 โดยใช้กฎกำรคูณ
กฎ : ถำ้ ab (mod m) และ cd (mod m), ดังนั้น
ac  bd (mod m)
วิธท
ี ำ เรำตองหำ
b และ d
้
หำ b ไดจำก
-45 b (mod 17)
้
แสดงวำ่ 17 | -45 - ? ดังนั้น
b คือ 6 เพรำะ
17 | -51
หำ d ไดจำก
77 d (mod 17)
้
แสดงวำ่ 17 | 77 - ? ดังนั้น
d คือ 9 เพรำะ
17 | 68
นำ b และ d ทีห
่ ำได
ไปแทนค
ำ่ จะได้
้ ทยำกำรสำรสนเทศ
คณะวิ
33
ม. บูรพำ
(-45 . 77)  (6.9) (mod
m)
วิธท
ี ำ 2
2. หำ (-45 · 77) mod 17 โดยใช้กฎกำรคูณ
กฎ : ถำ้ ab (mod m) และ cd (mod m), ดังนั้น
ac  bd (mod m)
วิธท
ี ำ
(-45·77)  (6·9) (mod 17)
 54 (mod 17)
3
ดังนั้น (-45·77) mod 17 = 3
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
34
Hashing Function
• แฮชชิง่ ฟังกชั
์ น h เป็ นกำรกำหนดตำแหน่ง
ของหน่วยควำมจำ h(k) ให้กับเรคอรดข
์ อมู
้ ล
• เรคอรดข
ดระบุ
ไดโดยกำรใช
์ อมู
้ ลแตละเรคอร
่
์
้
้
คีย ์ ซึง่ คำของคี
ยต
ซ
่
์ องไม
้
่ ำ้ กัน
• นั่นคือ
h(k) = k mod m
โดยที่ m เป็ นขนำดของหน่วยควำมจำที่
สำมำรถใช้งำนได้
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
36
ตัวอยำง
่
• กำหนดให้ m = 111 เรคอรด
์ จงหำวำ่ นักเรียน
ทีม
่ รี หัสตอไปนี
้ จะถูกเก็บอยูในต
ำแหน่งทีเ่ ทำไหร
่
่
่
่
ของหน่วยควำมจำ
– รหัส 64212848
h (64212848)
= 64212848 mod 111
= 14
– รหัส 37149212
h (37149212 ) = 37149212 mod 111
= 65
– รหัส 24666707
h (24666707)
= 24666707 mod 111
= 65
สั งเกตเห็ นวำต
ดกำรชนกั
น
37
่ ำแหน่งของ 2 รหัสสุดทำยเกิ
้
Pseudo-random Numbers
วเลขสุ่มแบบเทียมโดยใช้คอนกรูเอนซ ์
• กำรสรำงตั
้
• เริม
่ ดวยกำรเลื
อกจำนวนเต็มบวก 4 จำนวน
้
ไดแก
้ ่
–
–
–
–
มอดุโล (m)
พหุคูณ (a)
คำที
่ ขึน
้ (c)
่ เ่ พิม
คำเริ
่ ตน
่ ม
้ x0
โดยที่ 2  a < m , 0  c < m , 0  x0 < m
• เพือ
่ ทำกำรสรำงล
ำดับเลขสุ่มเทียม xn ซึง่ 0  xn
้
< m โดยใช้เงือ
่ นไข
xn+1 = (axn + c) mod m
คณะวิ
ทยำกำรสำรสนเทศ
• กำรสรำงชุ
ดเลขสุ
ยมทีด
่ น
ี ิยมเลือกคำ่ a,c,m38
้
่ มเที
ม. บูรพำ
ตัวอยำง
่
• กำหนดมอดุโล (m) = 1000 เพือ
่ สรำงชุ
ดเลข
้
สุ่มเทียมทีม
่ ค
ี ำ่ 0 – 999 จำกนั้นกำหนดคำตั
่ ว
แปรตำงๆ
ดังนี้
่
– คำที
่ ขึน
้ c = 467 , คำพหุ
คูณ a = 293 , คำ่
่ เ่ พิม
่
เริม
่ ตน
้ x0 = 426
• จำก xn+1 = (axn + c) mod m จะไดชุ
้ ดเลขสุ่มเทียม
3 ลำดับแรกดังนี้
– x1 = ((293 x 426) + 467) mod 1000 = 285
– x2 = ((293 x 285) + 467) mod 1000 = 972
– x3 = ((293 x 972)
467) mod 1000 = 263
คณะวิท+ยำกำรสำรสนเทศ
ม. บูรพำ
39
กำรเขำรหั
ส – ถอดรหัส :
้
Caesar’s Cipher
• เป็ นกำรเขำรหั
สขอควำมอย
ำงง
ขน
้ั ตอน
้
้
่ ำยมี
่
ดังนี้
1. แปลงขอควำมตั
วอักษรพิมพใหญ
เป็
้
่ นตัวเลข
์
ระหวำง
0 – 25 เช่น A เป็ น 0, B เป็ น 1, c
่
เป็ น 2 เป็ นตน
้
2. นำตัวเลขทีผ
่ ำนกำรแปลงแต
ละตั
วไปผำนฟั
งกชั
่
่
่
์ น
กำรเขำรหั
สทีก
่ ำหนด
้
3. แปลงตัวเลขทีไ่ ดจำกฟั
งกชั
สกลับเป็ น
้
้
์ นกำรเขำรหั
ตัวอักษร จะไดข
เ่ ขำรหั
ส
้ อควำมที
้
้
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
40
ตัวอยำง
่
• กำหนดฟังกชั
สคือ f(a) = (a +
์ นในกำรเขำรหั
้
3) mod 26 จงเขำรหั
สขอควำม
้
้
“YESTERDAY”
วิธท
ี ำ
Y E S T E R D
A Y
1. แปลงจำกขอควำมไปเป็
24 4 18
นตัวเลข
้
19 4 17 3 0 24
2. นำตัวเลขไปผำนฟั
งกชั
1 7 21 22 7
่
์ น
20 6 3 1
คณะวิทยำกำรสำรสนเทศ
41
ม. บูรนตั
พำ วอักษร
3. แปลงตัวเลขกลับไปเป็
B H V
กำรถอดรหัส
• เป็ นกำรใช้ฟังกชั
์ นทีใ่ ช้ในกำร
์ นผกผันของฟังกชั
เขำรหั
ส จำกนั้นทำในทำนองเดียวกันกับกำร
้
เขำรหั
ส
้
ส f(a) = (a + 3)
จำกฟังกชั
• ตัวอยำง
้
่
์ นกำรเขำรหั
mod 26 จงถอดรหัส “WHQ”
-1(a) = (a - 3) mod 26
วิธท
ี ำ หำฟังกชั
น
ผกผั
น
f
์
แปลงขอควำมเป็
22 7
นตัวเลข
้
16
นำตัวเลขไปผำนในฟั
งกชั
19 4
่
์ น
13
คณะวินข
ทยำกำรสำรสนเทศ
แปลงตัวเลขกลับไปเป็
อควำม
T
E 42
้
ม. บูรพำ
กำรเขำรหั
สแบบ RSA
้
• RSA เป็ นมำตรฐำนกำรเข้ำรหัสข้อมูลทีค
่ ด
ิ ค้นโดย
Ron Rivest, Adi Shamir และ Leonard Adleman
• RSA อำศั ยรหัสข้อมูล 2 ตัวคือ Public key และ
Private key เพือ
่ ใช้ในกำรเข้ำรหัสและถอดรหัส
ข้อมูล และทัง้ 2 key จะต้องเป็ นคูของมั
นเอง
่
เทำนั
กตอง
่ ้น จึงสำมำรถถอดรหัสไดอย
้ ำงถู
่
้
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
43
กำรเขำรหั
สแบบ RSA (ตอ)
้
่
e mod m
อมู
ล
ส
ข
• กำรเขำรหั
C
=
P
้
้
d mod m
• กำรถอดรหัสขอมู
ล
P
=
C
้
โดยที่
– C เป็ นขอมู
ำรหั
ส
้ ลทีไ่ ดจำกกำรเข
้
้
– P เป็ นขอมู
่ องกำรเข
ำรหั
ส
้ ลทีต
้
้
– e เป็ น public key ใช้ในกำรเขำรหั
ส
้
– d เป็ น private key ใช้ในกำรถอดรหัส
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
44
กำรเขำรหั
สแบบ RSA (ตอ)
้
่
คณะวิทยำกำรสำรสนเทศ
ม. บูรพำ
45