SlideShare a Scribd company logo
1 of 17
Bả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
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 2
 Thuật toán Euclid
 Thuật toán Euclid mở rộng
Các Nội Dung
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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 g0 = a, g1 = b
 Lặp tìm số dư: gi+1 = gi-1 mod gi (gi +1 là số dư của gi-1 cho gi
)
Cho đến khi gk+1 = 0
 Lúc đó: (a,b) = gk
Thuật Toán Euclid
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 5
 Ví dụ 1: Tìm (8, 6)
 (8, 6) = (6, 2) = (2, 0)
 Hay: 8620
  (8, 6) = 2
 Ví dụ 2: Tìm (128, 48)
 (128, 48) = (48, 32) = (32, 16) = (16, 0)
 Hay: 1284832160
  (128, 48) = 16
Ví Dụ Thuật Toán Euclid
Bảo Mật Thông TinChương 5. Lý Thuyết Số (tt) 6
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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ị gi ,ui ,vi sao cho gi = ui.n + vi.a.
(v y gi n 1)
 Từ 1 = uk.n + vk.a suy ra vk là nghịch đảo của a
vì uk.n + vk.a mod n = vk.a mod n.
Thuật Toán Euclid Mở Rộng
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 8
 g0 = n, u0 = 1, v0 = 0 : g0 = u0 . n + v0 . a
 g1 = a, u1 = 0, v1 = 1 : g1 = u1 . n + v1 . a
• y = g0 div g1 (chia lấy nguyên)
g0 = u0 . n + v0 . a
g1 = u1 . n + v1 . a X y
---------------------------------------
(g0 – y. g1) = (u0 – y. u1) . n + (v0 – y. v1) . a
 g2 = u2 . n + v2 . a (g2 = g0 mod g1)
• y = g1 div g2
(g1 – y. g2) = (u1 – y. u2) . n + (v1 – y. v2) . a
 g3 = u3 . n + v3 . a
…………..
Đến khi gk+1 = 0 ta có gk = gcd(a,n) = 1  vk =a-1(mod n)
Thuật Toán Euclid Mở Rộng (2)
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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 = gi-1 div gi
gi+1 = gi-1 mod gi
ui+1 = ui-1 – y . ui
vi+1 = vi-1 – y . vi
• Đến khi gk = 1 ta có vk = a-1 mod n
Thuật Toán Euclid Mở Rộng (3)
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 10
Tìm 3-1 mod 460: a=3, n=460
i y g u(n) v(a) Đẳng thức tương đương
0 - 460 1 0 460 = 1*460 + 0*3
1 - 3 0 1 3 = 0*460 + 1*3
2 153 1 1 -153 1 = 1*460 + -153*3
Ở đâ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
0 - 323 1 0 323 = 1.323 + 0.299
1 - 299 0 1 299 = 0.323 + 1.299
2 1 24 1 -1 24 = 1.323 + -1.299
3 12 11 -12 13 11 = -12.323 + 13.299
4 2 2 25 -27 2 = 25.323 + -27.299
5 5 1 -137 148 1 = -137.323 + 148.299
Vậy: 299-1 mod 323 = 148
Ví Dụ
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 11
 Tìm 299-1mod 323: (a=299, n=323)
y g v
- 323 0
- 299 1
1 24 -1
12 11 13
2 2 -27
5 1 148
Vậy: 299-1 mod 323 = 148
Giải Thuật Rút Gọn
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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ì: φ(nr) = nr-1(n-1)
 : φ(a.b) = φ(a).φ(b)
 Phân tích n thành thừa số nguyên tố: n = pa. qb... (p, q… là
số nguyên tố)  φ(n) = φ(pa. qb... ) = φ(pa). φ(qb)…
 Ví dụ: φ(2000) = φ(2.103) = φ(2.23.53) = φ(24.53) =
φ(24).φ(53) = 23.(2-1) . 52.(5-1) = 800
Hàm Phi Euler (2)
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 14
 Định lý nhỏ Fermat
 Giả sử p là số nguyên tố và (a,p)=1
 Khi đó: ap-1 = 1 mod p
 Định lý Euler
 Là trường hợp tổng quát của định lý Fermat
 Với mọi số nguyên dương n và (a,n)=1
 Khi đó: aφ(n) = 1 mod n
 Bây giờ ta có vài cách tính nghịch đảo a-1 mod n
1. Lần lượt tìm 1,...,n-1 số a-1 sao cho: a.a-1 = 1 mod n
2. Sử dụng thuật toán Euclid mở rộng để tìm số nghịch
đảo
3. Nếu đã biết φ(n) thì từ định lý Euler ta tìm được:
a-1 = aφ(n)-1 mod n
Định Lý Nhỏ Fermat Và Định Lý Euler
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 15
 Ta thường cần tìm các số nguyên tố rất lớn.
 Phương pháp cổ điển: sàng Erastosthene. (Cách này chỉ dùng
để tìm các số nguyên tố không lớn lắm).
 Ta có thể kiểm tra (gần đúng) số nguyên tố bằng định lý nhỏ
Fermat: an-1 = 1 mod n với (a,n)=1
 Tất cả các số nguyên tố ‘n’ đều thỏa đẳng thức trên
 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Ố.
 Để đoán 1 số n nào đó là số nguyên tố hay không, ta làm test
sau:
 Chọn số lượng lớn (ví dụ: 100) các số ‘a‘ sao cho: (a,n)=1
 Kiểm tra: an-1 = 1 mod n ?
• Nếu có 1 số a nào đó không thỏa thì n không là số nguyên tố
• Nếu thỏa cho tất cả các giá trị a có thể kết luận gần đúng rằng n là
số nguyên tố (95%)
Tìm Các Số Nguyên Tố Lớn
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 16
 Tính các logarit rời rạc sau:
 2x = 3 mod 5; 4x = 2 mod 13; 5x = 3 mod 7;
 6x = 10 mod 11; 7x = 3 mod 13; 8x = 3 mod 11
 Tính ƯSCLN (gcd):
 (65,91); (102,238); (110,154); (171,285); (185,259)
 Tính hàm phi Euler φ(n) của:
 57, 61, 65, 79, 83, 85, 2012, 323
 Tính số nghịch đảo sử dụng 1 trong các cách sau:
 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
Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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

More Related Content

What's hot

Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toán
Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toánTổng hợp các phương pháp giải phương trình và hệ phương trình môn toán
Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toánhuyenltv274
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Nhóc Nhóc
 
Chuyen de toan logic roi rac li thuyet to hop
Chuyen de toan logic  roi rac li thuyet to hopChuyen de toan logic  roi rac li thuyet to hop
Chuyen de toan logic roi rac li thuyet to hoplephucduc06011999
 
9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyênThấy Tên Tao Không
 
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tinakprovip
 
Giải bài tập Phương pháp tính
Giải bài tập Phương pháp tínhGiải bài tập Phương pháp tính
Giải bài tập Phương pháp tínhdinhtrongtran39
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]Bui Loi
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cậnDiên Vĩ
 
Diophantine equations Phương trình diophant
Diophantine equations Phương trình diophantDiophantine equations Phương trình diophant
Diophantine equations Phương trình diophantBui Loi
 
Các phương pháp đếm nâng cao
Các phương pháp đếm nâng caoCác phương pháp đếm nâng cao
Các phương pháp đếm nâng caoThế Giới Tinh Hoa
 
Các phương pháp hay giải Phuong trinh-vo-ty
Các phương pháp hay giải Phuong trinh-vo-tyCác phương pháp hay giải Phuong trinh-vo-ty
Các phương pháp hay giải Phuong trinh-vo-tyroggerbob
 
Hệ Hoán Vị Vòng Quanh
Hệ Hoán Vị Vòng QuanhHệ Hoán Vị Vòng Quanh
Hệ Hoán Vị Vòng QuanhNhập Vân Long
 

What's hot (20)

Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toán
Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toánTổng hợp các phương pháp giải phương trình và hệ phương trình môn toán
Tổng hợp các phương pháp giải phương trình và hệ phương trình môn toán
 
Luận văn: Lý thuyết đồ thị với các bài toán phổ thông, HAY, 9đ
Luận văn: Lý thuyết đồ thị với các bài toán phổ thông, HAY, 9đLuận văn: Lý thuyết đồ thị với các bài toán phổ thông, HAY, 9đ
Luận văn: Lý thuyết đồ thị với các bài toán phổ thông, HAY, 9đ
 
Scp mod p
Scp mod pScp mod p
Scp mod p
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03
 
Chuyen de toan logic roi rac li thuyet to hop
Chuyen de toan logic  roi rac li thuyet to hopChuyen de toan logic  roi rac li thuyet to hop
Chuyen de toan logic roi rac li thuyet to hop
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên
 
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tin
 
Đệ quy và quay lui
Đệ quy và quay luiĐệ quy và quay lui
Đệ quy và quay lui
 
Giải bài tập Phương pháp tính
Giải bài tập Phương pháp tínhGiải bài tập Phương pháp tính
Giải bài tập Phương pháp tính
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]
 
Chuong03
Chuong03Chuong03
Chuong03
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cận
 
Diophantine equations Phương trình diophant
Diophantine equations Phương trình diophantDiophantine equations Phương trình diophant
Diophantine equations Phương trình diophant
 
Các phương pháp đếm nâng cao
Các phương pháp đếm nâng caoCác phương pháp đếm nâng cao
Các phương pháp đếm nâng cao
 
Chuong01
Chuong01Chuong01
Chuong01
 
Các phương pháp hay giải Phuong trinh-vo-ty
Các phương pháp hay giải Phuong trinh-vo-tyCác phương pháp hay giải Phuong trinh-vo-ty
Các phương pháp hay giải Phuong trinh-vo-ty
 
Bìa tập đại số tổ hợp
Bìa tập đại số tổ hợpBìa tập đại số tổ hợp
Bìa tập đại số tổ hợp
 
Hệ Hoán Vị Vòng Quanh
Hệ Hoán Vị Vòng QuanhHệ Hoán Vị Vòng Quanh
Hệ Hoán Vị Vòng Quanh
 

Viewers also liked

Cđ đồng dư thức trong toán 7
Cđ đồng dư thức trong toán 7Cđ đồng dư thức trong toán 7
Cđ đồng dư thức trong toán 7Cảnh
 
Bài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaBài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaThế Giới Tinh Hoa
 
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10Tom tat-ly-thuyet-chuong-5-hoa-hoc-10
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10thuan13111982
 
Bài tập phương trình nghiệm nguyên
Bài tập phương trình nghiệm nguyênBài tập phương trình nghiệm nguyên
Bài tập phương trình nghiệm nguyênDuong BUn
 

Viewers also liked (6)

Điên toán đám mây
Điên toán đám mâyĐiên toán đám mây
Điên toán đám mây
 
Bt dai so hoang
Bt dai so hoangBt dai so hoang
Bt dai so hoang
 
Cđ đồng dư thức trong toán 7
Cđ đồng dư thức trong toán 7Cđ đồng dư thức trong toán 7
Cđ đồng dư thức trong toán 7
 
Bài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaBài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữa
 
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10Tom tat-ly-thuyet-chuong-5-hoa-hoc-10
Tom tat-ly-thuyet-chuong-5-hoa-hoc-10
 
Bài tập phương trình nghiệm nguyên
Bài tập phương trình nghiệm nguyênBài tập phương trình nghiệm nguyên
Bài tập phương trình nghiệm nguyên
 

Similar to 07 chương 5. lý thuyết số (2)

Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 
ThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNguest717ec2
 
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...Nguyen Thanh Tu Collection
 
Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43lovestem
 
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo tyHuynh ICT
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Loc Tran
 
Chuyên đề phương trình bậc nhật một ẩn - số 2
Chuyên đề phương trình bậc nhật một ẩn - số 2Chuyên đề phương trình bậc nhật một ẩn - số 2
Chuyên đề phương trình bậc nhật một ẩn - số 2Lê Hữu Bảo
 
Pp giai pt va hpt khong mau muc
Pp giai pt va hpt khong mau mucPp giai pt va hpt khong mau muc
Pp giai pt va hpt khong mau muckeolac410
 
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newton
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newtonNhị thức newton và Phương pháp giải các bài tập về Nhị thức newton
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newtonLinh Nguyễn
 
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyen
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyenChuyen%20de%20phuong%20trinh%20nghiem%20nguyen
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyenTam Vu Minh
 
11 phuong phap giai pth
11 phuong phap giai pth11 phuong phap giai pth
11 phuong phap giai pthPhuc Nguyen
 
Cac phuong phap giai pt ham thuong dung
Cac phuong phap giai pt ham thuong dungCac phuong phap giai pt ham thuong dung
Cac phuong phap giai pt ham thuong dungljmonking
 

Similar to 07 chương 5. lý thuyết số (2) (20)

Ch04
Ch04Ch04
Ch04
 
MATMAT- Chuong1
MATMAT- Chuong1MATMAT- Chuong1
MATMAT- Chuong1
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 
ThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáNThiếT Kế Và đáNh Giá ThuậT ToáN
ThiếT Kế Và đáNh Giá ThuậT ToáN
 
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...
TỔNG HỢP CHUYÊN ĐỀ ĐẠT GIẢI MỘT SỐ VẤN ĐỀ SỐ HỌC TRONG CÁC KÌ THI OLYMPIC TOÁ...
 
Bt daiso10-c3
Bt daiso10-c3Bt daiso10-c3
Bt daiso10-c3
 
Olympiad help
Olympiad helpOlympiad help
Olympiad help
 
Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43
 
Gt de quy
Gt de quyGt de quy
Gt de quy
 
Gt de quy_2
Gt de quy_2Gt de quy_2
Gt de quy_2
 
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty
[Vnmath.com] phuong phap dat an phu voi phuong trinh vo ty
 
Pt to-hop-nhi-thuc-newton
Pt to-hop-nhi-thuc-newtonPt to-hop-nhi-thuc-newton
Pt to-hop-nhi-thuc-newton
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)
 
Chuyên đề phương trình bậc nhật một ẩn - số 2
Chuyên đề phương trình bậc nhật một ẩn - số 2Chuyên đề phương trình bậc nhật một ẩn - số 2
Chuyên đề phương trình bậc nhật một ẩn - số 2
 
Pp giai pt va hpt khong mau muc
Pp giai pt va hpt khong mau mucPp giai pt va hpt khong mau muc
Pp giai pt va hpt khong mau muc
 
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newton
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newtonNhị thức newton và Phương pháp giải các bài tập về Nhị thức newton
Nhị thức newton và Phương pháp giải các bài tập về Nhị thức newton
 
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyen
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyenChuyen%20de%20phuong%20trinh%20nghiem%20nguyen
Chuyen%20de%20phuong%20trinh%20nghiem%20nguyen
 
11 phuong phap giai pth
11 phuong phap giai pth11 phuong phap giai pth
11 phuong phap giai pth
 
Cac phuong phap giai pt ham thuong dung
Cac phuong phap giai pt ham thuong dungCac phuong phap giai pt ham thuong dung
Cac phuong phap giai pt ham thuong dung
 

07 chương 5. lý thuyết số (2)

  • 1. Bả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
  • 2. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 2  Thuật toán Euclid  Thuật toán Euclid mở rộng Các Nội Dung
  • 3. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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
  • 4. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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 g0 = a, g1 = b  Lặp tìm số dư: gi+1 = gi-1 mod gi (gi +1 là số dư của gi-1 cho gi ) Cho đến khi gk+1 = 0  Lúc đó: (a,b) = gk Thuật Toán Euclid
  • 5. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 5  Ví dụ 1: Tìm (8, 6)  (8, 6) = (6, 2) = (2, 0)  Hay: 8620   (8, 6) = 2  Ví dụ 2: Tìm (128, 48)  (128, 48) = (48, 32) = (32, 16) = (16, 0)  Hay: 1284832160   (128, 48) = 16 Ví Dụ Thuật Toán Euclid
  • 6. Bảo Mật Thông TinChương 5. Lý Thuyết Số (tt) 6
  • 7. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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ị gi ,ui ,vi sao cho gi = ui.n + vi.a. (v y gi n 1)  Từ 1 = uk.n + vk.a suy ra vk là nghịch đảo của a vì uk.n + vk.a mod n = vk.a mod n. Thuật Toán Euclid Mở Rộng
  • 8. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 8  g0 = n, u0 = 1, v0 = 0 : g0 = u0 . n + v0 . a  g1 = a, u1 = 0, v1 = 1 : g1 = u1 . n + v1 . a • y = g0 div g1 (chia lấy nguyên) g0 = u0 . n + v0 . a g1 = u1 . n + v1 . a X y --------------------------------------- (g0 – y. g1) = (u0 – y. u1) . n + (v0 – y. v1) . a  g2 = u2 . n + v2 . a (g2 = g0 mod g1) • y = g1 div g2 (g1 – y. g2) = (u1 – y. u2) . n + (v1 – y. v2) . a  g3 = u3 . n + v3 . a ………….. Đến khi gk+1 = 0 ta có gk = gcd(a,n) = 1  vk =a-1(mod n) Thuật Toán Euclid Mở Rộng (2)
  • 9. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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 = gi-1 div gi gi+1 = gi-1 mod gi ui+1 = ui-1 – y . ui vi+1 = vi-1 – y . vi • Đến khi gk = 1 ta có vk = a-1 mod n Thuật Toán Euclid Mở Rộng (3)
  • 10. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 10 Tìm 3-1 mod 460: a=3, n=460 i y g u(n) v(a) Đẳng thức tương đương 0 - 460 1 0 460 = 1*460 + 0*3 1 - 3 0 1 3 = 0*460 + 1*3 2 153 1 1 -153 1 = 1*460 + -153*3 Ở đâ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 0 - 323 1 0 323 = 1.323 + 0.299 1 - 299 0 1 299 = 0.323 + 1.299 2 1 24 1 -1 24 = 1.323 + -1.299 3 12 11 -12 13 11 = -12.323 + 13.299 4 2 2 25 -27 2 = 25.323 + -27.299 5 5 1 -137 148 1 = -137.323 + 148.299 Vậy: 299-1 mod 323 = 148 Ví Dụ
  • 11. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 11  Tìm 299-1mod 323: (a=299, n=323) y g v - 323 0 - 299 1 1 24 -1 12 11 13 2 2 -27 5 1 148 Vậy: 299-1 mod 323 = 148 Giải Thuật Rút Gọn
  • 12. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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
  • 13. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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ì: φ(nr) = nr-1(n-1)  : φ(a.b) = φ(a).φ(b)  Phân tích n thành thừa số nguyên tố: n = pa. qb... (p, q… là số nguyên tố)  φ(n) = φ(pa. qb... ) = φ(pa). φ(qb)…  Ví dụ: φ(2000) = φ(2.103) = φ(2.23.53) = φ(24.53) = φ(24).φ(53) = 23.(2-1) . 52.(5-1) = 800 Hàm Phi Euler (2)
  • 14. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 14  Định lý nhỏ Fermat  Giả sử p là số nguyên tố và (a,p)=1  Khi đó: ap-1 = 1 mod p  Định lý Euler  Là trường hợp tổng quát của định lý Fermat  Với mọi số nguyên dương n và (a,n)=1  Khi đó: aφ(n) = 1 mod n  Bây giờ ta có vài cách tính nghịch đảo a-1 mod n 1. Lần lượt tìm 1,...,n-1 số a-1 sao cho: a.a-1 = 1 mod n 2. Sử dụng thuật toán Euclid mở rộng để tìm số nghịch đảo 3. Nếu đã biết φ(n) thì từ định lý Euler ta tìm được: a-1 = aφ(n)-1 mod n Định Lý Nhỏ Fermat Và Định Lý Euler
  • 15. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 15  Ta thường cần tìm các số nguyên tố rất lớn.  Phương pháp cổ điển: sàng Erastosthene. (Cách này chỉ dùng để tìm các số nguyên tố không lớn lắm).  Ta có thể kiểm tra (gần đúng) số nguyên tố bằng định lý nhỏ Fermat: an-1 = 1 mod n với (a,n)=1  Tất cả các số nguyên tố ‘n’ đều thỏa đẳng thức trên  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Ố.  Để đoán 1 số n nào đó là số nguyên tố hay không, ta làm test sau:  Chọn số lượng lớn (ví dụ: 100) các số ‘a‘ sao cho: (a,n)=1  Kiểm tra: an-1 = 1 mod n ? • Nếu có 1 số a nào đó không thỏa thì n không là số nguyên tố • Nếu thỏa cho tất cả các giá trị a có thể kết luận gần đúng rằng n là số nguyên tố (95%) Tìm Các Số Nguyên Tố Lớn
  • 16. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 16  Tính các logarit rời rạc sau:  2x = 3 mod 5; 4x = 2 mod 13; 5x = 3 mod 7;  6x = 10 mod 11; 7x = 3 mod 13; 8x = 3 mod 11  Tính ƯSCLN (gcd):  (65,91); (102,238); (110,154); (171,285); (185,259)  Tính hàm phi Euler φ(n) của:  57, 61, 65, 79, 83, 85, 2012, 323  Tính số nghịch đảo sử dụng 1 trong các cách sau:  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
  • 17. Bảo Mật Thông Tin Chương 5. Lý Thuyết Số (tt) 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