. Các chỉ số trùng hợp tương hỗ quan sát được
b. Thuật toán mã hoá và giải mã
+Mãhoá:
http://www.ebook.edu.vn 76
Bước 1:Anhậnkhoácông khaicủaB.
Bước 2:Abiểudiễnthông tincầngửithànhsốm(0<= m<=n-1) Bước 3:Tínhc= memodn
Bước 4:GửicchoB.
+ Giảimã:Bgiảimãbằngcáchtính m=cdmodn
*Chứngminh hệmậtRSA
+ Cầnchứngminh:m=(memod n)dmodn Thật vậy p,qlàsốnguyêntố, n=pq, Φ (n) =(p-1)(q-1)nêntacó mΦ(n) =1 modn Mặtkhác,doed= 1modnnêned=k Φ (n) +1 Theođịnh lýFermattacó xp-1 =1modp x(p-1)(q-1)=1mod p xq-1 =1modq x(p-1)(q-1)=1mod q xΦ(n) =1 modn
(memod n)dmodn=medmodn =mk.Φ(n)+1
modn
=m1modn =m(dpcm)
*Vídụ: B chọnp=5,q=7.Khiđón=35, Φ =24 Chọn e=5(evà Φ nguyêntốcùngnhau). Letter m me c=me modn Encrypt I 12 1524832 17 c cd m=cdmod n letter Decrypt 17 481968572106750915091411825223072000 123.3
4.2.2. Mộtsố thuậttoántriển khaitrong RSA I
*Thuật toán“bìnhphươngvànhân”nhưsau:
http://www.ebook.edu.vn 77
Tínhxbmodn
i
i)z=1
ii)choichạytừgiátrịl-1về 0 z=z2mod n
Nếubi= 1thìz=z*xmodn
iii)giátrịcầntìmchínhlàgiá trịzcuốicùng.
Nhưvậysử dụngthuật toán“bình phươngvà nhân”sẽ làmgiảmsố phép nhân modulo cần thiết, để tính x modn nhiều nhất là 2,trong l là số bíttrong biểu diễn nhị phân của b. Vì l ≤ k nên có thể coi xb mod n được thực hiện trongthờigianđathức0(k3).
*Thuậttoán Ơclítmởrộng.
Begin g0:= Φ(n)
;g1:=e; u0:=1;u1:=0; v0:=0;v1:=1;