Ma page cryptographique
Les codes de Louis XIV
|
IntroductionLe nomenclature (en anglais nomenclator), fut la première méthode de chiffrement utilisée dés la renaissance pour permettre le dialogue entre les ambassades naissantes. Le nomenclature évolua en code. Une des principale innovation technologique des codes fut l’invention des codes à double tables: une table pour chiffrer et une autre pour déchiffrer. Cette invention fut faite par les cryptanalystes Rossignol attachés au service du roi Louis XIV vers la fin du XVII siècle. Cette technique de codage à double tables est appelée aussi le Grand chiffre. Dans cette page Web nous allons décrire son invention, ses caractéristiques, les méthodes antérieures et donner des exemples de codes de l’époque de Louis XIV utilisant une ou deux tables. Les codes, le grand chiffreLes codesDés le début de l’utilisation de la crytpographie durant la renaissance, la méthode utilisée fut les nomenclatures. Ce n’était, au début, que de simples alphabets de substitution. Les cryptanalystes de l’époque cassaient facilement les cryptogrammes en découvrant les voyelles. De fait, pour contrer cette attaque, une même voyelle fut codée de différentes manières (e = 31, 55, 88). Ultérieurement, cette technique fut étendue à toutes les lettres. Toujours dans l’esprit de contrer les analyses de fréquences, on coda non seulement les lettres, mais aussi les syllabes (ba, be bi, bo, bu, ...), les mots les plus fréquents ainsi que certains noms propres (roi, pape, l’empereur, …). En conséquence, le nombre de groupes chiffrant passa de quelques dizaines de groupes à plusieurs centaines.La représentation des groupes chiffrantAu tout début, un groupe chiffrant était une simple lettre, mais dés que chaque voyelle et ensuite chaque lettre fut représentée par plusieurs groupes chiffrant, les lettres ne suffirent plus. On utilisa alors des symboles géométriques (carré, triangle, …), les symboles provenant de l’alchimie et plein d’autres caractères (y compris des chiffres et des nombres) et même on inventa des caractères (cf. le code de 1643). Tant que le nombre de groupe chiffrant était peu élevé, cette technique fut suffisante. Mais avec l’accroissement du nombre de groupe, l’utilisation de caractères spéciaux devint une vraie galère pour le personnel du chiffre. On se tourna alors vers l’utilisation de nombre (110. 679. 443. 718.). Quelques fois le même nombre pouvait avoir plusieurs significations en les surmontant de symboles (//, -, .., ~, ^, \) comme dans le code de 1676. Mais en final, l’usage exclusif de nombres devint la règle, d’où les termes de « chiffre » (pour code), chiffrer (pour coder), déchiffrer (pour décoder), chiffreur (la personne qui chiffre et déchiffre) , ... Les codes à double tables (le grand chiffre)Un code (un nomenclature) était écrit sur une seule feuille. Pour aider au déchiffrement, les groupes étaient écrits dans l’ordre numérique. Pour aider au chiffrement, la signification de ces groupes suivaient aussi un ordre; par exemple, 43 = ra, 44 = re, 45 = ri, 46 = ro, 47 = ru. Ainsi il était facile de chiffrer et déchiffrer. Malheureusement cet ordre aide le cryptanalyste : si il déchiffre les codes 43 (ra) et 44 (re) il peut en déduire la signification des codes suivants (45 = ri, 46 = ro, 47 = ru). C’est pour casser cette régularité qu’a été inventé les codes à double tables : une table pour chiffrer et une autre pour déchiffrer. La table pour déchiffrer contient la liste des codes chiffrant dans l’ordre numérique : … 43 = ra, 44 = pour, 45 = x, 46 = pu … La table pour chiffrer contient les codes dans l’ordre alphabétique : pi = 314, po = 110, pour = 44, pu = 46, … Avec cette méthode, même si le cryptanalyste a déchiffré quelques codes, il n’a aucun indice pour en déchiffrer d’autres. Remarque : personnellement je confond le terme « Grand Chiffre » avec l’usage de tables chiffrante et déchiffrante. Le terme de « Grand Chiffre » en fait, a été inventé par Bazeries en fin du XIX siècle lorsqu’il déchiffra des lettres chiffrées de Louis XIV échangées avec le maréchal Catinat . Il crée aussi l’expression « Petit Chiffre » pour décrire une méthode qui utilise aussi deux tables mais dont le nombre de groupes chiffrant est moins élevé et donc assure une sécurité moins forte et qui donc est utilisée pour des échanges moins stratégiques. Références |