Chương 2 Cơ sở toán học của lý thuyết mật mã
Trang 2 Cho a, b≠0 là các số nguyên Ta nói a chia hết cho b nếu tồn tại 1 số c sao cho:
Trang 3 Với a, b, c, d, e ∈Z, ta có:
- Nếu a|b và b|c ⇒ a|c
- Nếu a|b, thì ac|bc ∀c
- Nếu c|a và c|b, thì c| da+ be ∀d, e
- Nếu a|b và b≠0, thì |a|≤|b|
- Nếu a|b và b|a, thì |a|=|b|
Tính chia hết của các số nguyên
Trang 4Đối với mọi số n, d\{0}, luôn tồn tại duy nhất các số q, r∈Z sao cho:
n=qd+r với 0<r<|d|
n là số bị chia (divident), d là số chia (divisor), q thương số (quotient), r là số dư (remainder), ký hiệu Rd (n)
Trang 5 Cho hai số a, b ∈Z\{0}, c∈Z được gọi là ước chung của a và b nếu c|a và c|b
C được gọi là ước chung lớn nhất, ký hiệu gcd(a, b), nếu nó là số nguyên lớn nhất a, b chia hết
Ước chung lớn nhất(greatest common divisor- gcd)
Trang 6 Cho hai số a, b ∈Z\{0}, c∈Z được gọi là bộichung của a và b nếu a|c và b|c
C được gọi là bộichung nhỏ nhất, ký hiệu lcm(a, b), nếu nó là số nguyên nhỏ nhất chia hết cho a, b
Bội chung nhỏ nhất(Least common multiple)
Trang 7 Input: hai số không âm a, b, a>=b
Output: gcd(a, b).
Trong khi b>=0 thực hiện: r a mod b
a b b r
Cho kết quả (a)
Thuật toán Euclide tìm UCLN
Trang 8 Thuật toán Euclid mở rộng dùng để tìm hai số x, y thỏa mãn phương trình sau:
ax + by = gcd(a, b)
Thuật toán Euclid mở rộng
Trang 9Euclide mở rộng
Trang 10 Cho a=4864, b= 3458, tìm (d, x, y)
Ví dụ
(38, 32, -45)
Trang 11Số tự nhiên 1<n ∈N được gọi là số nguyên
tố(prime) nếu nó chỉ chia hết cho chính nó và cho 1.
Số tự hiên n∈N không phải là nguyên tố được gọi là hợp số(composite).
Hai số a và b được gọi là nguyên tố cùng nhau nếu gcd(a, b)=1.
Mọi số nguyên n>1đều có thể viết dưới dạng:n=p1a1 p2a2 …pkak
Lưu ý: số 1 không pải là ngto cũng không phải là hợp số.
Nguyên tố và hợp số
Trang 12 Hàm đếm các số nguyên tố(prime counting
function) ∏(n) cho kết quả là các số nguyên tố nhỏ hơn hay bằng n∈N
∏(n)=|{p∈P| p≤n}|
Hàm đếm các số nguyên tố
Trang 13 Mỗi số tự nhiên n ∈N đều có thể phân tích thành các thừa số nguyên tố duy nhất
ep (n): là số mũ của p
Ví dụ: 4725=32 53 7
Phân tích hợp số thành thừa số nguyên tố
Trang 14 Ví dụ: tìm gcd và lcm của ( 143, 220)
143=11.13
220= 2^2 5 11
Gcd(143, 220)= 2min(2,0) 5min(1,0) 11 13min(1, 0)
lcm(143, 220)= 2max(2,0) 5max(1,0) 11 13max(1, 0)
Phân tích hợp số thành thừa số nguyên tố
Trang 15 Dùng để đếm các số <n ∈N nguyên tố cùng nhau với n.
Trang 16 Với mọi số nguyên n có thể phân tích thành thừa số nguyên tố thì
Ví dụ: ɸ(45)= ɸ(32 5)=(3-1)2-1 (5-1)1-1 =24
Euler’s Totient function
Trang 17 Từ ɸ(p.q)=(p-1)(q-1), ta có thể tính p khi biết ɸ(p.q) theo công thức sau:
Công thức này được dùng trong mã hóa công khai RSA
Euler’s Totient function
Trang 18 Cho a, b∈Z, n∈N a được gọi là đồng dư với b
theo modulo n nếu n|a-b( tức a-b chia hết cho n, hay a và b chia cho n cùng số dư)
Trang 19Với mọi số n∈N, a, b,c ∈Z các tính chất sau luôn thỏa mãn:
1. aa(mod n)- tính chất phản xạ
2. Nếu ab(mod n) thì ba(mod n)- tính đối xứng.
3. If ab(mod n) and bc(mod n) thì ac(mod n) (tính bắc cầu)
Quan hệ đồng dư theo modular n là quan hệ tương đương
Tính chất đồng dư modular n
Trang 20 Có thể thực hiện các phép cộng và nhân phần dư tương tự như cộng nhân các số nguyên.
Ví dụ:
Các phép toán đồng dư
RR
Trang 21 Nếu tồn tại một số b∈Zn sao cho ab1(mod n) thì b được gọi là nghịch đảo nhân của a modulo n.
Điều kiện để a có nghịch đảo nhân khi và chỉ khi gcd(a, n)=1 ( a, n nguyên tố cùng nhau).
Ví dụ: 8= 22-1 (mod 25) vì:
8.22=176=1(mod 25)
Nghịch đảo nhân
ab
Trang 22 Cho m=5, a=2 gcd(2,5)=1, do đó 2 có nghịch đảo nhân modulo 5.
Trang 23 C1: giải thuật Euclid mở rộng
C2: dùng giải thuật tính số mũ nhanh
Cách tìm nghịch đảo nhân
a 1 p 2 mod
Trang 24 Để tìm nghịch đảo nhân modulo n , áp dụng Euclid mở rộng:
x là nghịch đảo nhân a modulo n
Nếu gcd(a, n)=k>1 thì a không có nghịch đảo nhân modulo n.
Cách tìm nghịch đảo nhân(tt)
Trang 25Ví dụ
Trang 26 Phép tính đồng dư mod m tách tập số nguyên ra m lớp, mỗi lớp là tập các số nguyên đồng dư với
nhau theo mod m.
Ký hiệu: ℤ/mℤ
Mỗi số lớp ℤ/mℤ có đúng 1 số nằm trong đoạn [0,
m-1], cho nên mỗi số nguyên a đại diện cho 1 lớp.
Các phép tính trong lớp thông qua đại diện lớp.
Lớp đồng dư
Trang 272.3 Định lý số dư trung hoa
Là hệ thống gồm k phương trình đồng dư với n1,…, nk từng đôi một là nguyên tố cùng nhau Hệ thống có 1 nghiệm duy nhất x ∈Zn
Trang 28 Đặt mi =n/ni với i=1,2,…,k
yi =m-1
i (mod ni ) yi là nghịch đảo nhân của mi modulo ni.
Khi đó nghiệm x được tính như sau:
Tìm số dư trung hoa
Trang 29 Cho hệ 3 pt đồng dư sau:
Hãy tìm nghiệm x???
Ví dụ
xxx
Trang 30 n1=7, n2=11 n3=13 (tất cả đều nguyên tố cùng nhau).
Trang 31 Tính y: y1143-1 (mod 7)=5y291-1 (mod 11)=4
Trang 32x
Trang 34Lũy thừa modulo
Trang 35 Sử dụng triển khai số mũ b thành các phép bình phương và phép nhân.
The square-and-multiply algorithm
Trang 36 Tính 722 (mod 11)
◦B1: b=(22)10 (10110)2
◦B2: áp dụng giải thuật trên
Ví dụ
Trang 37 Chúng ta nói hàm: f: XY là hàm một chiều nếu
f(x) có thể tính toán hiệu quả với mọi x∈X,
nhưng f-1(y) không thể tính toán hiệu quả với mọi y∈RY.
“tính toán hiệu quả” ở đây chúng ta nói tới độ phức tạp tính toán
Ví dụ: hàm RSA
hàm bình phương modular hàm logarith rời rạc
Hàm một chiều
Trang 38 A one-way function f : X → Y is a trapdoor
function if there is a trapdoor information t and a PPT algorithm I that can be used to efficiently compute x’= I(f(x),t) with f(x’)= f(x).
Trapdoor function
Trang 39Q&A