1) Les origines de la substitution polyalphabétique

a) Les débuts de la substitution polyalphabétique avec Alberti

Leon Battista Alberti - F5

La cryptographie par substitution avec des chiffres polyalphabétiques apparaît réellement à la fin du XVI ème siècle. Mais en revenant un peu en arrière on s’aperçoit que l’on pourrait attribuer cette invention à un grand artiste du XV ème siècle : Leon Battista Alberti (1404~1472).

Qu'est-ce la cryptographie par substitution polyalphabétique ?

Par définition, la substitution polyalphabétique ne fait pas correspondre à une lettre une seule et autre unique lettre, comme la substitution monoalphabétique, mais bien à plusieurs lettres. Par exemple, un A du texte clair peut être aussi bien associé à un Q qu'à un Z ou un V. La sécurité est ainsi renforcée.

Qui est Alberti ?

Alberti est l’un des grands personnages qui contribuera à la création de magnifiques œuvres architecturales de la Renaissance. Alberti est peintre mais aussi compositeur, poète et philosophe. De plus, il sera l’auteur de la première analyse scientifique de la perspective. L’architecture reste cependant son domaine favori, il écrira même le premier traité d'architecture imprimé : le « De Re Aedificatoria ».

C’est dans les alentours des années 1460 qu’Alberti consacrera une bonne partie de ses études scientifiques et artistiques à la cryptographie. Il proposa par ailleurs aux scientifiques d’utiliser de deux à plusieurs alphabets désordonnés en passant de l’un à l’autre durant le déchiffrement dans le but d’échapper à l’analyse des fréquences des décryptologues. Cet étape représente un événement majeur dans l’évolution de la cryptographie à travers les âges. Cependant Alberti se contente d’inventer le concept et laisse donc son œuvre inachevée. On peut considéré qu’Alberti et son concept reste la source principale d’inspiration pour les scientifiques qui lui succèdèrent et qui eurent pour tâche de concrétiser ces découvertes : Jean Trithème, Giovanni Battista Bellaso, Giovanni Porta et Blaise de Vigenère.

Quel est le procédé du cadrant chiffrant d'Alberti ?

Alberti est donc un personnage phare de la renaissance, et plus particulièrement dans le domaine de la cryptologie. En 1466 il écrivit une œuvre très importante traitant de la cryptologie et des sciences en général. Cet essai « De Componendis Cyphris » comporte 25 pages en latin sur la cryptographie et est par conséquent le plus ancien ouvrage de cryptologie du monde occidental.
Alberti va commencer par expliquer comment les décryptements sont possibles et à partir de cette étude il va pouvoir exposer des méthodes de prévention. Ensuite il passera en revue plusieurs systèmes de cryptographie : substitutions en tout genre, transpositions de lettres dans un mot, encres sympathiques... Il aboutit son œuvre par un cryptosystème qu’il inventa : : Le cadran chiffrant. Il le présente ainsi : «Je découpe deux disques dans une plaque de cuivre. L'un, plus grand, sera fixe, et l'autre, plus petit, mobile. Le diamètre du disque fixe est supérieur d'un neuvième à celui du disque mobile. Je divise la circonférence de chacun d'eux en vingt-quatre parties égales appelées secteurs. Dans chaque secteur du grand disque j'inscris en suivant l'ordre alphabétique normal une lettre majuscule rouge: d'abord A, ensuite B, puis C, etc., omettant H et K [et Y] qui ne sont pas indispensables.»

Cadrant chiffrant - F5

Alberti obtenait ainsi 20 lettre, J, U et W n'étant pas contenus dans son alphabet. Il reste donc quatre secteurs qu'Alberti remplira avec les chiffres 1, 2, 3 et 4. Dans le cas du disque mobile, il inscrivait dans chaque secteur une lettre minuscule en noir, mais dans un ordre totalement incohérent contrairement au disque fixe. Ainsi, on peut imaginer le cas suivant : la première le b, la deuxième le f et la troisième le e, puis ainsi de suite jusqu'à ce que les vingt-quatre secteurs soient comblés (l'alphabet latin comprenant 24 lettres avec & comme dernier). Ensuite, il place le petit disque sur le grand, il ajoute une aiguille au centre de tel façon que passée dans les deux centres, elle serve d'axe commun autour duquel on fera tourner le disque mobile.

Puis le système est simple, deux utilisateurs disposant chacun de cadrans identiques, conviennent entre eux d'une lettre indice prise dans le cercle mobile, prenons pour exemple K. Puis, pour crypter, l'expéditeur place cette même lettre en face d'une autre lettre quelconque du disque fixe. Celui ci informe ensuite son correspondant de la position du disque mobile en écrivant en tête du cryptogramme cettre lettre-clef. Alberti donne comme exemple le K en face du B.

b) Un cryptosystème concret de la substitution polyalphabétique : le chiffre de Vigenère

Qui était Blaise de Vigenère ?

Blaise de Vigenère était un grand diplomate français du temps de la Renaissance. Au début de sa carrière, son intérêt à la cryptographie était purement professionnel et avait un cadre pratique. Vers 1560, après avoir fait des économies et avoir mis beaucoup d'argent de côté, il décida d'abandonner son travail de diplomate et de se consacrer uniquement à l'étude. Il examina les travaux de grands chercheurs tel que Giovanni Battista Della Porta mais aussi et surtout les travaux d'Alberti.

Il va en effet reprendre son travail à fin de le concrétiser. C'est d'ailleurs à lui que l'on attribuera le mérite du résultat final. Le chiffre ainsi créé fut baptisé : chiffre de Vigenère.

Quel est le principe du chiffre de Vigenère?

   Prenons par exemple le mot Cryptographie. On associe ce mot à une clef Chiffre. On dispose la clé en dessous du mot et si nécessaire on la répète pour combler un éventuel manque. Ici on comblera par CHIFFR. L'utilisation du chiffre de Vigenère est simple.

En effet, soient n la position de la lettre du message à chiffrer,
l la longueur de la clé,
k la position de la lettre de la clef qui doit servir à crypter, (cette lettre est la [[(n-1) modulo l]+1]ème lettre de la clé)
donc la nouvelle position de la lettre est [( n + k - 2) modulo 26] + 1. (voir démonstration quasi-équivalente du chiffre de César.)

Le chiffre de Vigenère est en fait un chiffre amélioré de César qui, au lieu de décaler toutes les lettres d'une valeur entière constante, les fait décaler selon une valeur variable qui dépend de la clé .

D'après notre exemple, la 6ème lettre du message est "O". La position de "O" dans l'alphabet est la 15ème place. La lettre qui correspond à "O" dans la clef est la lettre R qui a pour position dans l'alphabet la 18ème place. Donc on fait le calcul : [(15 + 18 - 2) modulo 26] + 1 = 6. La sixième lettre de l'alphabet est le F donc le O associé au R de la clef sera crypté par la lettre F. Une différence énorme comparé à la méthode de César serait le fait que plusieurs lettres identiques sont cryptés par des lettres différentes. Le cryptosystème par substitution polyalphabétique se trouve être donc à l'époque une valeur sûre comme moyen de cryptage si l'on ne possède pas la clé.

Le principal avantage qu'apporte le chiffre de Vigenère est qu'une même lettre pourra être chiffrée de différentes façons. Si on reprend l'exemple utilisé précedemment, on remarque que le "R" a été crypté en deux lettres différentes : le "Y" et le "T". Vigenère invente ainsi un chiffre reprenant le principe de la substitution polyalphabétique.