Envoyer des paquets de données à l'internet:
Pour envoyer un fichier de données à travers l'internet,
il faut souvent le diviser en petits paquets et les envoyer par de differents
chemins. On le fait de cette facon, premièrement parce qu'un grand
paquet occuperait la liaison totalement et deuxièmement, parce que
des paquets moins grands sont moins affectés par des perturbations
lors de la transmission. Le matériel d'un grand paquet serait détruit
alors qu'une partie de petit paquets arriverait sans être l'objet
de la dégradation du signal. Alors, les petits paquets prennent
moins de place d'une liaison, c.v.d. qu'ils peuvent être envoyés
beaucoup plus rapidement. Puis, si une liaison est perturbée, seulement
une partie du message sera détruite ou perdue parce que les autres
parties prennent peut-être de différents chemins qui ne seront
probablement pas dégradés. En plus, on peut envoyer ces petits
paquets plusieurs fois pour qu'ils arrivent.
Codage d'informations:
p et q | des nombres premiers assez grands |
n | produit de p et q |
Phi(n) | (p-1) (q-1) |
e | nombre premier qui est premier avec Phi(n) |
d | calculé par la formule : ed mod Phi(n) = 1 |
La clé publique est le couple [e , n]
c = m^e mod n
Le capteur peut décrypter c en utilisant la clé privée par la formule:
m = c^d mod n
Tout le monde peut crypter avec la clé publique du correspondant mais seul ce correspondant peut lire le message crypté.
Exemple :
(En réalité, il faudrait prendre des nombres beaucoup plus grands à cause de la sécurité!)
La personne X choisit deux nombres premiers p et q :
p = 11 (nombre premier) n = 187 = (p * q)
e = 7 et n = 187. Pour crypter m, Y calcule alors, utilisant la formule c = m^e mod n :
18^7 mod 187
c = 612220032 mod 187
c = 171
Y envoie alors ce nombre crypté c = 171 à Y. Mais une autre personne Z peut capter ce nombre c. Il est extrèmement difficile de trouver le nombre d à partir de la clé publique. Heureusement, seulement X connaît la clé privé, d = 23, alors il est le seul à pouvoir décrypter avec la formule m = c^d mod n :
m = 171^23 mod 187
m = 18
Sur le plan des mathématiques, ils se posent quelques problèmes:
Pour crypter et décrypter, il
faut calculer une puissance et un modulo. La puissance génère
des nombres très grands. Alors, il est impossible de la calculer
par une calculette normale. Une solution est l'algorithme "repeated square
and multiply algorithm".
S'il y a des nombres trop grands à essayer toutes les valeurs
de d dans [(p-1)(q-1)], il y a la solution d'appliquer l'"Algorithme d'Euclide
Etendu". Cet algorithme est utilisé très souvent dans des
opérations mathématiques.