Le scénario est simple, vous voulez envoyer un message sur un bout de papier à un ami à l'autre bout de la classe. Pour arriver à destination, votre message va devoir passer de main en main, mais vous ne voulez surtout pas que ces "intermédiaires" puissent prendre connaissance du contenu. C'est pour ce genre de scénario qu'ont été inventé les algorithmes de chiffrement symétrique (aussi appelé "*cipher*"). Si l'on veut schématiser le fonctionnement, vous avez trois choses : - Une clé privée qui est généralement un nombre très grand. - Une fonction mathématique qui permet d'encrypter que l'on va appeler `encrypt`. - Une fonction mathématique qui permet de décrypter que l'on va appeler `decrypt`. Pour transmettre votre message, vous allez donc utiliser la fonction `encrypt` avec deux paramètres, votre clé privée et le message que vous souhaitez encrypter. Cela donnera comme résultat une chaîne de caractère bizarre qui semble aléatoire. C'est cette chaîne de caractère que vous allez écrire sur le bout de papier et envoyer à votre ami. Une fois qu'il aura reçu le bout de papier, votre ami pourra utiliser la fonction `decrypt` avec deux paramètres, la chaîne de caractère bizarre qui est écrite sur le bout de papier et la clé privée. Il pourra ainsi voir le message que vous avez envoyé. Pour que tout ceci fonctionne, il faut bien évidement que vous et votre ami aient pu échanger votre clé privée sans que personne ne la connaisse.