Projet de programmation Cryptographie, le système RSA

(Z/nZ)×
Z/nZ
kZ/nZk n
k(Z/nZ)×pgcd(n, k)=1
k(Z/nZ)×
⇔ ∃l(Z/nZ)k·l= 1
⇔ ∃lZ,mZkl 1 = nm.
⇔ ∃lZ,mZkl nm = 1.
pgcd(k, n)=1 .
(Z/nZ)×φ(n)φ
(Z/nZ)×
n
n(Z/nZ)×= (Z/nZ)\{0}={1, ..., n 1}
card((Z/nZ)×) = n1
(Z/nZ)×
(p, q)
(p, q) = (29,37)
n=pq= 1073
m=φ(n) = 1008
e d α β N
αe=β mod(n)
βd=α mod(n)
e e m
u v
eu +mv = 1 d=u u m
e= 71
d= 1079
(e, n) = (71,1073)
(d, n) = (1079,1073)
3072 101 108 108 111
n
[72,101,108,108,111]
7271 = 943 mod(1073) 10171 = 566 mod(1073)
10871 = 530 mod(1073) 11171 = 111 mod(1073)
943566530530111
e d
(Z/nZ)×
[943,566,530,530,111]
9431079 = 72 mod(1073) 5661079 = 101 mod(1073)
5301079 = 108 mod(1073) 1111079 = 111 mod(1073)
072101108108111
[72,101,108,108,111] [H, e, l, l, o]
n n
2 2
nn
n
(n)
L= (2, n + 1)
= [ ]
(L[0] L[0]) <=n
(L[0])
L= [x x L[1 :] x%L[0] ! = 0]
(L)
anm
m
m
p·anm
(a, n, m)
p= 1
n > 0
(n%2 == 0)
a= (aa)%m
n=n/2
p= (pa)%m
n=n1
p
a b
a b
u v au +bv = 1
au = 1 b u a b
u v a b
u
a b
b r r a b
u v
a0m0
M4(Z)
a01
m00
(q, r)=(Ent(a
m), a%m
a u
m s=m s
r u qs
b
a=a0u+m0s
a0=a0·1 + m0·0
αiα i
a0uk+1 +m0sk+1 =a0·(uk1mk2
mk1·sk1) + m0·(sk1mk2
mk1·sk)
=ak1mk2
mk1·(a0sk1+m0sk)
=ak1mk2
mk1·(a0uk+m0sk)
=ak1mk2
mk1·(ak)
=ak+1
a=a0u+m0v a0
a1a0m0u
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !