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
⇔ ∃l∈Z,∃m∈Zkl −1 = nm.
⇔ ∃l∈Z,∃m∈Zkl −nm = 1.
⇔pgcd(k, n)=1 .
(Z/nZ)×φ(n)φ
(Z/nZ)×
n
n(Z/nZ)×= (Z/nZ)\{0}={1, ..., n −1}
card((Z/nZ)×) = n−1
(Z/nZ)×
(p, q)
(p, q) = (29,37)
n=p∗q= 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)
∗
3→072 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
n√n
√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= (a∗a)%m
n=n/2
p= (p∗a)%m
n=n−1
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·(uk−1−mk−2
mk−1·sk−1) + m0·(sk−1−mk−2
mk−1·sk)
=ak−1−mk−2
mk−1·(a0sk−1+m0sk)
=ak−1−mk−2
mk−1·(a0uk+m0sk)
=ak−1−mk−2
mk−1·(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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!