1 Le cryptage avec la méthode RSA
Il faut d’abord une correspondance entre lettres d’un message à coder et nombres.
Pour passer d’un message à une suite de nombres, on groupe plusieurs caractères
(car sinon on pourrait décrypter le message en utilisant des statistiques de fréquence
des caractères en fonction de la langue), le groupement est l’écriture d’un nombre en
une base donnée (256 ici correspondant au codage ASCII d’un caractère), par exem-
ple, puisque asc("BONJOUR")=[66,79,78,74,79,85,82], si on groupe par 3,
devient les nombres (66*256+79)*256+78=4345678, (74*256+79)*256+85=4869973,
(82*256+0)*256+0 =5373952.
0
1 ! 2 " 3 # 4 $ 5 % 6 & 7 8 ( 9 ) 10 *
11 + 12 , 13 - 14 . 15 / 16 0 17 1 18 2 19 3 20 4
21 5 22 6 23 7 24 8 25 9 26 : 27 ; 28 < 29 = 30 >
31 ? 32 @ 33 A 34 B 35 C 36 D 37 E 38 F 39 G 40 H
41 I 42 J 43 K 44 L 45 M 46 N 47 O 48 P 49 Q 50 R
51 S 52 T 53 U 54 V 55 W 56 X 57 Y 58 Z 59 [ 60
61 ] 62 ˆ 63 _ 64 ‘ 65 a 66 b 67 c 68 d 69 e 70 f
71 g 72 h 73 i 74 j 75 k 76 l 77 m 78 n 79 o 80 p
81 q 82 r 83 s 84 t 85 u 86 v 87 w 88 x 89 y 90 z
91 { 92 | 93 } 94 ˜ 95 ê 96 ù 97 ç 98 à 99 è 100 é
Tartampion choisit deux grand nombres premiers et et pose , puis il
choisit un nombre premier avec (par exemple il prend pour un
nombre premier plus grand que et que ).
Il calcule l’entier pour que (d’après l’identité de Bézout
il existe des entiers et tel que ). Puis il met dans
l’annuaire les nombres et (quand est grand et sont difficiles à obtenir à partir
de ), le couple est la clé publique alors que est la clé secréte qui va
servir à décoder le message : bien sûr et restent secrets car sinon n’importe qui peut
calculer en fonction de avec l’identité de Bézout.
La fonction de codage est la suivante :
à un entier (de préférence premier avec , c’est le cas si et ), fait
correspondre .
Par exemple, codé par les nombres 4345678, 4869973, 5373952. qui
seront transformés par en 156330358492191937, 126697584810299952, 50295601528998788
car powmod(4345678,u,n)=15633035849219193 etc...
La fonction de décodage est la suivante :
à un entier , on fait correspondre . Pour décoder l’exemple, on a :
powmod(15633035849219193,m,n)=4345678 etc...
Pour montrer que , on utilise le petit théorème de Fermat :
si et sont premiers, si et si est premier avec alors :
On peut appliquer ce théorème ici car : et sont premiers, et est premier
1
avec puisque et donc on a donc bien :
Un exemple : et
:
( est un nombre premier et ne divise pas )
On cherche en tapant on trouve : et on a :
Pour coder, on utilise la clé publique et et pour décoder, on utilise la clé secréte
et .
Exemple avec
2
1 / 2 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 !