Hệ mật mã được xây dựng dựa trên tính khó giải của bài toán phân tích một số thành thừa số nguyên tố hay còn gọi là bài toán RSA.Ưu điểm:‐ Mã hóa hay thiết lập chữ kí điện tử với vai trò
TÌM NGHỊCH ĐẢO MODULO
Lý thuyết về nghịch đảo modulo
Cho a là số nguyên và k là số nguyên dương Khi đó tồn tại số nguyên duy nhất q và r, với 0≤r k< , sao cho a=kq r+
Trong phép chia số nguyên, gọi: n là số chia, a là số bị chia, q là thương số và r là số dư Mod và Div lần lượt là các ký hiệu phép toán được sử dụng biểu diễn thương số và phần dư: a÷n=q,amod n r=
Nếu số nguyên a chia hết cho số nguyên n thì amod n=0.
Trong lập trình, ta có kí hiệu như sau:
Hình 1.1.1.2.1 Minh họa phép toán mod và div trong lập trình
Hình 1.1.1.2.2 Minh họa phép toán mod và div ngoại lệ
Hình 1.1.2.1.1 Minh họa phép toán cộng trừ mod
Hình 1.1.2.1.1 Minh họa phép toán nhân mod
1.1.2.2 Đồng dư Modulo Định nghĩa: Nếu a và b là số nguyên và m là số nguyên dương thì a dồng dư với b theo modulo m nếu amod m=bmod m Ký hiệu a≡b(modm) để chỉ ra rằng a là đồng dư với b theo modulo m. Định lý 1: Cho a và b là các số nguyên, và m là một số nguyên dương Khi đó a≡b (modm) khi và chỉ khi m∨(a−b), (hay gọi là m là ước của a−b).
Chứng minh: a=xm v+ và b=ym t+
Ta có: a≡b khi và chỉ khi v=t a−b=xm+v−(ym+t)
Vậy m là ước của a−b. Định lý 2: Cho a và b là các số nguyên, và m là một số nguyên dương Khi đó a≡b (modm) khi và chỉ khi tồn tại một số nguyên k sao cho a=b+km. Định lý 3: Cho m là số nguyên dương Nếu a≡b (modm)vàc≡ d(modm) thì a+c≡ b+d(modm) và ac≡bd(modm).
1.1.3 Giải thuật Euclid mở rộng
Phương trình diophantine: ax+by c= (1)
Theo định lí Bézout (Bézout’s indentify): Cho hai số nguyên a, b khi đó luôn tồn tại hai số x, y sao cho: ax+by=GCD(a,b).
Nếu d=GCD(a,b) thì tồn tại các số nguyên x,y sao cho ax+by dThuật toán Euclide mở rộng: a, b không đồng thời bằng 0.
Ví dụ: Tìm gcd(258,147), và ax+by=GCD(a,b). Áp dụng thuật toán Euclid, ta có
Tồn tại x=4, y=-7 thì phương trình : 258x+147y=3 thoã mãn.
Hình 1.1.3.1 Minh họa thuật toán Euclid mở rộng
Tính nghịch đảo Modulo tìm UCLN
Định nghĩa: Cho b là số nguyên và x, m là các số nguyên dương (x