Bài tập Đại số nhúng chìm nửa nhóm vào nhóm, rất hay, bài tập rất hay và các bạn nên down về tham khảo thêm. tài liệu là bản tóm tắt cho các bạn tham khảo và làm luận văn tốt nghiệp, rất hay. Thể loại thuộc về toán học Đại số
Trang 1Bảo Mật Thông Tin
Trần Nhật Quang Khoa Công Nghệ Thông Tin – ĐH Sư Phạm Kỹ Thuật TP HCM
trannhatquang4810@gmail.com
Trang 2 Thuật toán Euclid
Thuật toán Euclid mở rộng
Các Nội Dung
Trang 3 (Nhắc lại: Lý thuyết số nghiên cứu các số nguyên Vì vậy
các số ở đây đều là số nguyên.)
Ước số chung lớn nhất (Greatest Common Divisor - gcd)
của 2 số a, b là số lớn nhất chia hết cả a và b.
Ký hiệu: gcd(a, b) hay (a, b)
Thuật toán Euclid rất hiệu quả để tìm gcd.
Ước Số Chung Lớn Nhất
Trang 4 Thuật toán Euclid được dùng để tìm ước chung lớn nhất.
Ta có phép chia a/b:
a = q.b + r
Nếu số d: d|a và d|b d|r
Nên: gcd( a, b) = gcd( b, r)
Thuật toán Euclid: Giả sử a ≥ b > 0
Đặt g 0 = a, g 1 = b
Lặp tìm số dư: g i+1 = g i-1 mod g i (g i +1 là số dư của g i-1 cho g i
)
Cho đến khi g k+1 = 0
Lúc đó: (a,b) = g k
Thuật Toán Euclid
Trang 5 Ví dụ 1: Tìm (8, 6)
(8, 6) = (6, 2) = (2, 0)
Hay: 8620
(8, 6) = 2
Ví dụ 2: Tìm (128, 48)
(128, 48) = (48, 32) = (32, 16) = (16, 0)
Hay: 1284832160
(128, 48) = 16
Ví Dụ Thuật Toán Euclid
Trang 7 Dùng để tìm số nghịch đảo a -1 mod n của số a.
a -1 là nghịch đảo của a theo mod n nếu a.a -1 = 1 mod n
Ví dụ: 3.7 = 1 mod 10 7 = 3-1 mod 10
Nếu (a, n) = 1 thì luôn nghịch đảo của a theo mod n (điều
kiện để dùng Euclid mở rộng).
Sử dụng thuật toán Euclid mở rộng để
tìm các giá trị g i ,u i ,v i sao cho g i = u i .n + v i .a.
Từ 1 = u k .n + v k .a suy ra v k là nghịch đảo của a
vì u k .n + v k .a mod n = v k .a mod n.
Thuật Toán Euclid Mở Rộng
Trang 8 g0 = n, u0 = 1, v0 = 0 : g 0 = u 0 n + v 0 a
g1 = a, u1 = 0, v1 = 1 : g 1 = u 1 n + v 1 a
• y = g 0 div g 1 (chia lấy nguyên)
g 0 = u 0 n + v 0 a
g 1 = u 1 n + v 1 a X y
-(g0 – y g1) = (u0 – y u1) n + (v0 – y v1) a
g 2 = u 2 n + v 2 a ( g 2 = g 0 mod g 1 )
• y = g 1 div g 2
(g1 – y g2) = (u1 – y u2) n + (v1 – y v2) a
…………
Đến khi gk+1 = 0 ta có gk = gcd(a,n) = 1 v k = a -1 (mod n)
Thuật Toán Euclid Mở Rộng (2)
Trang 9 TT tìm nghịch đảo của a theo mod n ( (a,n)=1 , n>a>0)
(nếu a > n lấy a = a mod n)
• g0 = n, u0 = 1, v0 = 0
• g1 = a, u1 = 0, v1 = 1
• Lặp:
y = g i-1 div g i
g i+1 = g i-1 mod g i
ui+1 = ui-1 – y ui
v i+1 = v i-1 – y v i
• Đến khi gk = 1 ta có vk= a -1 mod n
Thuật Toán Euclid Mở Rộng (3)
Trang 10Tìm 3 -1 mod 460 : a=3, n=460
i y g u(n) v(a) Đẳng thức tương đương
Ở đây k=2 Vậy: 3 -1 mod 460 = -153 = 307 mod 460
Tìm 299 -1 mod 323: a= 299, n= 323 :
i y g u(n) v(a) Đẳng thức tương đương
-1
Ví Dụ
Trang 11 Tìm 299 -1 mod 323: (a=299, n= 323)
Vậy: 299 -1 mod 323 = 148
Giải Thuật Rút Gọn
Trang 12 Tập số dư đầy đủ theo mod n: [0 n-1]
Tập số dư rút gọn theo mod n: chỉ gồm các số trong
[0 n-1] nguyên tố cùng nhau với n.
Ví dụ: n = 10
Tập số dư đầy đủ: {0,1,2,3,4,5,6,7,8,9}
Tập số dư rút gọn: {1,3,7,9}
Số phần tử trong tập số dư rút gọn gọi là hàm phi Euler
Ký hiệu: φ(n)
Ví dụ: φ(10) = 4
Hàm Phi Euler
Trang 13 Một số tính chất của φ(n):
Nếu n là số nguyên tố thì: φ(n) = n-1
Nếu n là số nguyên tố thì: φ(n r ) = n r-1 (n-1)
Phân tích n thành thừa số nguyên tố: n = p a q b (p, q… là
số nguyên tố) φ(n) = φ(p a q b ) = φ(p a ) φ(q b )…
Ví dụ: φ(2000) = φ(2.103) = φ(2.23.53) = φ(24.53) =
φ(24).φ(53) = 23.(2-1) 52.(5-1) = 800
Hàm Phi Euler (2)
Trang 14 Định lý nhỏ Fermat
Định lý Euler
Bây giờ ta có vài cách tính nghịch đảo a -1 mod n
đảo
Định Lý Nhỏ Fermat Và Định Lý Euler
Trang 15 Ta thường cần tìm các số nguyên tố rất lớn.
để tìm các số nguyên tố không lớn lắm)
Một vài hợp số (số không phải số nguyên tố) cũng thỏa
đẳng thức trên Các hợp số đó gọi là các GIẢ NGUYÊN TỐ.
sau:
Tìm Các Số Nguyên Tố Lớn
Trang 16 Tính các logarit rời rạc sau:
2x = 3 mod 5; 4 x = 2 mod 13; 5 x = 3 mod 7;
6x = 10 mod 11; 7 x = 3 mod 13; 8 x = 3 mod 11
(65,91); (102,238); (110,154); (171,285); (185,259)
57, 61, 65, 79, 83, 85, 2012, 323
Thử sai; Định lý Euler; TT Euclid mở rộng
11-1 mod 35; 13 -1 mod 48;
17-1 mod 199; 21 -1 mod 197;
Bài Tập
Trang 17*1+ Đặng Trường Sơn, BMTT_06_NumberTheory.ppt, ĐH Sư
Phạm Kỹ Thuật TP HCM
[2] William Stallings, Cryptography and Network Security
Principles and Practices, Fourth Edition, Prentice Hall,
November 16, 2005
[3] Dương Anh Đức và Trần Minh Triết, Mã hóa và ứng
dụng, Đại học Quốc gia thành phố Hồ Chí Minh, 2005.
[4] http://vi.wikipedia.org/wiki/Giải_thuật_Euclid
*5+ http://vi.wikipedia.org/wiki/Định_lý_nhỏ_Fermat
Tài Liệu Tham Khảo