next up previous contents
Next: 3 Chiffrement polyalphabétique Up: 2 Chiffrement monoalphabétique Previous: Exemple de chiffrement linéaire   Contents


2.5 Exemple d'implémentation

Voici un programme (en langage Perl) opérant un chiffrement additif. Chaque octet (représentant habituellement une lettre) est traité comme un nombre auquel est additionné la clé. Les opérations se font modulo 256, un octet représentant 8 bits et $ 2^{8}=256$. Le code ASCII2 est utilisé pour retransformer les nombres en caractères.

#!/usr/bin/perl

$key = shift;

while (<>) {

    print map( { chr( ( $key + ord ) % 256 ) } split (//) );

}

La plupart des 256 caractères du code ASCII ne sont pas imprimables. Le chiffrement d'une phrase de texte courant ne produirait donc pas de résultats appréciables. Cependant, voici un chiffrement-déchiffrement en chaîne qui pourrait être intéressant:

$ echo "Chiffrement monoalphabétique" | ./MonoShift 32 | ./MonoShift 224

Chiffrement monoalphabétique

On voit que chiffrer un texte clair avec un clé $ x$ et que le chiffrer ensuite avec une clé $ 256-x$ produit le texte initial.



Simon Perreault 2002-06-02