Le chiffre de Porta expliqué : le système réciproque révolutionnaire à 13 tables de Della Porta
Découvrez comment fonctionne le chiffre Porta avec ses 13 alphabets réciproques. Explorez la biographie de della Porta, le cryptage étape par étape, la preuve auto-réciproque et l'analyse de sécurité.
Présentation
Le chiffre Porta occupe une place particulière dans l’histoire de la cryptographie. Inventé en 1563 par le mathématicien napolitain Giovanni Battista della Porta, ce fut l'un des premiers chiffres polyalphabétiques à présenter une propriété auto-réciproque, c'est-à-dire que la même opération qui crypte un message le décrypte également. Cette conception élégante le rendait plus simple à utiliser sur le terrain que nombre de ses contemporains et introduisait des idées qui se répercuteraient à travers des siècles de développement du chiffrement.
Contrairement au chiffre Vigenère plus connu, qui utilise 26 alphabets décalés, le chiffre Porta n'utilise que 13 tables alphabétiques spécialement construites. Chaque table échange la première moitié de l'alphabet avec la seconde moitié selon un modèle unique, créant ainsi un système dans lequel le cryptage et le déchiffrement sont des opérations identiques. Cette qualité réciproque était remarquable au XVIe siècle et reste instructive pour quiconque étudie les systèmes cryptographiques classiques.
Essayez notre outil gratuit Porta Cipher pour crypter et déchiffrer les messages à l'aide du système original à 13 tables de della Porta.
Giovanni Battista della Porta : Le mathématicien de la Renaissance
Petite enfance et éducation
Giovanni Battista della Porta est né à Vico Equense, près de Naples, en 1535. Il a grandi dans une famille riche qui valorisait la recherche intellectuelle, et son éducation était large dans la tradition de la Renaissance - couvrant la philosophie naturelle, les mathématiques, l'optique, l'agriculture et ce que l'on appellerait aujourd'hui la science expérimentale. À l'âge de quinze ans, della Porta avait déjà commencé à écrire son premier ouvrage majeur, Magia Naturalis (Magie Naturelle), un vaste recueil d'observations scientifiques, d'expériences et de curiosités qui serait publié en quatre volumes en 1558, puis étendu à vingt volumes en 1589.
Della Porta n’était pas simplement un compilateur de connaissances. C'était un expérimentateur. Il construisit l'une des premières caméras obscures connues, contribua au développement du télescope (un différend prioritaire avec Galilée s'ensuivrait) et fonda l'Accademia dei Segreti (Académie des secrets) à Naples - l'une des premières sociétés scientifiques d'Europe. L'Inquisition a finalement fermé l'Académie, méfiante quant à l'accent mis sur les « secrets », mais della Porta a continué son travail sans se laisser décourager.
De Furtivis Literarum Notis (1563)
C'est dans cette atmosphère d'exploration intellectuelle que della Porta publia De Furtivis Literarum Notis (De la notation secrète des lettres) en 1563. Ce traité fut l'un des ouvrages cryptographiques les plus importants de la Renaissance. Il couvrait non seulement les propres inventions de della Porta en matière de chiffrement, mais fournissait également un traitement systématique de la cryptanalyse - l'art de déchiffrer les chiffres - ce qui en faisait l'un des premiers ouvrages européens à traiter le décryptage comme une discipline rigoureuse.
Le livre décrit plusieurs systèmes de chiffrement, mais celui qui porte encore aujourd'hui le nom de della Porta est le chiffrement réciproque polyalphabétique construit à partir de 13 tables alphabétiques appariées. Ce système était une réponse directe aux limites des chiffrements de substitution plus simples, dont Della Porta reconnaissait qu'ils étaient vulnérables à l'analyse de fréquence.
Vie ultérieure et héritage
Della Porta a continué à publier de manière prolifique tout au long de sa vie. Ses œuvres touchent à la physionomie, à la distillation, à l'hydraulique, à la fortification et au théâtre (il écrit de nombreuses comédies). Il mourut à Naples en 1615, laissant derrière lui une œuvre qui couvrait toute l'étendue de la recherche sur la Renaissance. Dans l'histoire de la cryptographie, son nom perdure aux côtés de Léon Battista Alberti, Johannes Trithemius et Blaise de Vigenère comme l'un des fondateurs du cryptage polyalphabétique.
Comment fonctionne le chiffrement Porta
Le système à 13 tables
La caractéristique déterminante du chiffre Porta est son utilisation de 13 alphabets chiffrés, chacun contrôlé par une paire de lettres clés. Les lettres clés sont appariées comme suit :
| Tableau | Lettres clés |
|---|---|
| 0 | UNE, B |
| 1 | C, D |
| 2 | E, F |
| 3 | G, H |
| 4 | Je, J |
| 5 | K, L |
| 6 | M, N |
| 7 | O, P |
| 8 | Q, R |
| 9 | S, T |
| 10 | U, V |
| 11 | W, X |
| 12 | Y, Z |
Chaque paire de lettres clés sélectionne l'une des 13 tables. Puisqu’il y a 26 lettres et 13 paires, chaque lettre de l’alphabet correspond à exactement un tableau.
Les tableaux alphabétiques
Chaque table de chiffrement Porta divise l'alphabet de 26 lettres en deux moitiés :
- Première mi-temps : A B C D E F G H I J K L M (positions 0-12)
- Deuxième mi-temps : N O P Q R S T U V W X Y Z (positions 13-25)
Dans chaque tableau, la première moitié est mappée à la seconde moitié et vice versa. Le mappage spécifique varie selon la table. Dans le tableau 0 (lettres clés A/B), la cartographie est simple :
Plain: A B C D E F G H I J K L M
Cipher: N O P Q R S T U V W X Y Z
Ainsi, A chiffre en N, B en O, C en P, et ainsi de suite. Surtout, N recrypte en A, O en B et P en C. Il s'agit de la propriété réciproque à l'œuvre au sein d'une seule table.
Pour le tableau 1 (lettres clés C/D), la seconde moitié se décale d'une position :
Plain: A B C D E F G H I J K L M
Cipher: O P Q R S T U V W X Y Z N
Pour le tableau 2 (lettres clés E/F) :
Plain: A B C D E F G H I J K L M
Cipher: P Q R S T U V W X Y Z N O
Cette tendance se poursuit dans les 13 tableaux. En général, pour le tableau n, le mappage de la seconde moitié est décalé de n positions. L'ensemble complet des tables définit le chiffre Porta.
Le processus de cryptage
Pour chiffrer un message à l'aide du chiffrement Porta :
- Choisissez un mot-clé. Par exemple : NAPLES.
- Écrivez le mot-clé au-dessus du texte brut, en le répétant si nécessaire.
Key: N A P L E S N A P L E S N A P L E S
Plain: T H E P O R T A C I P H E R I S R E
- Pour chaque lettre en clair, recherchez le tableau correspondant à la lettre clé au-dessus.
- Recherchez la lettre en texte brut dans ce tableau pour trouver la lettre en texte chiffré.
Examinons les premières lettres :
-
Tavec cléN: N appartient au tableau 6 (paire M/N). Dans le tableau 6, le mappage de la première moitié est décalé de 6 : A→T, B→U, C→V, ... Pour la seconde moitié, T revient en arrière. En regardant T (qui est dans la seconde moitié, position 19), nous trouvons qu'il correspond à A. Donc T →A.
-
Havec cléA: A appartient au tableau 0. Dans le tableau 0, H (position 7 dans la première moitié) correspond à U (position 7 dans la seconde moitié). Alors H →U.
-
Eavec cléP : P appartient au tableau 7 (paire O/P). Dans le tableau 7, E (position 4 dans la première moitié) correspond à la lettre en position (4 + 7) mod 13 + 13 = position 24 = Y. Attendez – soyons plus précis avec la formule.
La formule mathématique
Le chiffre Porta peut être exprimé mathématiquement. Soit p la position de la lettre en texte brut (0-25) et k la position de la lettre clé (0-25). Définissez le numéro de table comme t = floor(k / 2).
Si la lettre en clair se trouve dans la première moitié (p < 13) :
- c* = (p + t)mod 13 + 13
Si la lettre en clair se trouve dans la seconde moitié (p >= 13) :
- c* = (p - t) mod 13
Ou de manière équivalente, si p >= 13 :
- c* = ((p - 13) - t) module 13
Cette formule rend la propriété réciproque immédiatement visible. Le chiffrement d’une première moitié de lettre produit une seconde moitié de lettre, et le chiffrement d’une seconde moitié de lettre produit une première moitié de lettre. Appliquer deux fois la même opération vous ramène à la lettre originale.
Exemple de chiffrement complet
Chiffrons le message "SECRETS ARE SAFE" avec le mot-clé "PORTA".
Étape 1 : Alignez la clé et le texte brut.
Key: P O R T A P O R T A P O R T A
Plain: S E C R E T S A R E S A F E S
Étape 2 : Déterminez les numéros de table.
| Lettre clé | Paire | Numéro de tableau |
|---|---|---|
| P | Sortie | 7 |
| Ô | Sortie | 7 |
| R | Q/R | 8 |
| T | S/T | 9 |
| Un | A/B | 0 |
Étape 3 : Chiffrez chaque lettre.-S(pos 18, seconde moitié) avec tableau 7 : c = (18 - 13 - 7) mod 13 = (-2) mod 13 = 11 →L-E(pos 4, première moitié) avec tableau 7 : c = (4 + 7) mod 13 + 13 = 11 + 13 = 24 →Y-C(pos 2, première moitié) avec tableau 8 : c = (2 + 8) mod 13 + 13 = 10 + 13 = 23 →X-R(pos 17, seconde moitié) avec tableau 9 : c = (17 - 13 - 9) mod 13 = (-5) mod 13 = 8 →I-E(pos 4, première moitié) avec tableau 0 : c = (4 + 0) mod 13 + 13 = 4 + 13 = 17 →R-T(pos 19, seconde moitié) avec tableau 7 : c = (19 - 13 - 7) mod 13 = (-1) mod 13 = 12 →M-S(pos 18, seconde moitié) avec tableau 7 : c = (18 - 13 - 7) mod 13 = (-2) mod 13 = 11 →L-A(pos 0, première moitié) avec tableau 8 : c = (0 + 8) mod 13 + 13 = 8 + 13 = 21 →V-R(pos 17, seconde moitié) avec tableau 9 : c = (17 - 13 - 9) mod 13 = (-5) mod 13 = 8 →I-E(pos 4, première moitié) avec tableau 0 : c = (4 + 0) mod 13 + 13 = 17 →R-S(pos 18, seconde moitié) avec tableau 7 : c = (18 - 13 - 7) mod 13 = 11 →L-A(pos 0, première moitié) avec tableau 7 : c = (0 + 7) mod 13 + 13 = 20 →U-F(pos 5, première moitié) avec tableau 8 : c = (5 + 8) mod 13 + 13 = 0 + 13 = 13 →N-E(pos 4, première moitié) avec tableau 9 : c = (4 + 9) mod 13 + 13 = 0 + 13 = 13 →N-S(pos 18, seconde moitié) avec table 0 : c = (18 - 13 - 0) mod 13 = 5 →F
Résultat :
Plain: S E C R E T S A R E S A F E S
Key: P O R T A P O R T A P O R T A
Cipher: L Y X I R M L V I R L U N N F
Étape 4 : Vérifier le déchiffrement. Le chiffrement Porta étant auto-réciproque, nous pouvons déchiffrer en effectuant exactement la même opération sur le texte chiffré avec la même clé :
Key: P O R T A P O R T A P O R T A
Cipher: L Y X I R M L V I R L U N N F
Plain: S E C R E T S A R E S A F E S
Le message d'origine est récupéré. Aucun algorithme de décryptage distinct n’est nécessaire.
La propriété auto-réciproque : pourquoi ça marche
Définition
Un chiffre est auto-réciproque(également appeléinvolutif) si le chiffrement d'une lettre de texte chiffré avec la même clé produit la lettre d'origine en texte brut. Formellement :
- E(E(p, k), k) = p* pour tout p et k
Preuve du chiffre Porta
Considérons une lettre en texte brut p dans la première moitié (0 <= p < 13) avec le numéro de table t :
-
Premier cryptage : c = (p + t) mod 13 + 13. Notez que c >= 13, donc c est dans la seconde moitié.
-
Deuxième cryptage (en appliquant le même tableau à c) : Puisque c >= 13, nous utilisons la formule de la seconde moitié :
- c'* = ((c - 13) - t) mod 13 = ((p + t) mod 13 - t) mod 13 = p mod 13 = p.
Puisque p < 13, c' = p. Le texte brut d'origine est récupéré.
La preuve d'une lettre en clair dans la seconde moitié est symétrique. Si p >= 13 :
-
Premier cryptage : c = (p - 13 - t) mod 13. Notez que c < 13, donc c est dans la première moitié.
-
Deuxième cryptage : Puisque c < 13, nous utilisons la formule de la première moitié :
- c'* = (c + t) mod 13 + 13 = ((p - 13 - t) mod 13 + t) mod 13 + 13 = (p - 13) mod 13 + 13 = p.
Ceci termine la preuve. La propriété auto-réciproque est valable car les formules de la première moitié et de la seconde moitié sont des inverses exacts l'une de l'autre et chaque table permute toujours entre les deux moitiés.
Importance pratique
La propriété auto-réciproque constituait un avantage pratique substantiel au XVIe siècle. Les communicateurs militaires et diplomatiques utilisant le chiffre Porta n'avaient besoin de mémoriser qu'une seule procédure, et le même tableau servait à la fois au cryptage et au déchiffrement. Cela a réduit les erreurs, simplifié la formation et éliminé le besoin de tables de déchiffrement distinctes – un avantage logistique important lorsque les chiffrements étaient utilisés sous pression.
Chiffre de Porta contre Chiffre de Vigenère
Le chiffre Porta et le chiffre Vigenère sont tous deux des systèmes de substitution polyalphabétique qui utilisent des mots-clés répétitifs, mais ils diffèrent de manière importante.
| Fonctionnalité | Chiffre Porta | Chiffre de Vigenère |
|---|---|---|
| Nombre d'alphabets | 13 | 26 |
| Structure alphabétique | Réciproque (échange les moitiés) | Décalé (César décale) |
| Auto-réciproque | Oui | Non |
| Lettres clés par tableau | 2 (jumelés) | 1 |
| Taille de l'alphabet du texte chiffré | 26 | 26 |
| Espace clé effectif (par position) | 13 valeurs | 26 valeurs |
| Décryptage | Identique au cryptage | Nécessite une opération inverse |
Comparaison de sécurité
Le chiffre de Vigenère a 26 alphabets de substitution possibles par position clé, tandis que le chiffre Porta n'en a que 13. Cela signifie que l'espace clé effectif par position du chiffre Porta est la moitié de celui du chiffre Vigenère. Pour un mot-clé de longueur n, le Vigenère a 26^n clés possibles tandis que le Porta en a 13^n (puisque chaque lettre clé correspond à l'une des 13 tables, qu'il s'agisse, disons, A ou B).
Cependant, la structure réciproque du chiffre Porta introduit une contrainte que le chiffre Vigenère n'a pas : les lettres en clair de la première moitié de l'alphabet produisent toujours du texte chiffré dans la seconde moitié, et vice versa. Cette régularité structurelle peut être exploitée lors de la cryptanalyse.
Relation historique
La relation entre ces chiffres va plus loin que la simple similitude. Della Porta et Blaise de Vigenère travaillaient tous deux dans le cadre d'une tradition initiée par Léon Battista le disque chiffré d'Alberti dans les années 1460 et formalisée par Johannes la tabula recta de Trithemius en 1508. Le système de Della Porta est apparu en 1563, tandis que le traitement définitif de Vigenère est arrivé 1586. Les deux systèmes représentent des solutions différentes au même problème fondamental : comment créer un chiffre polyalphabétique qui résiste à l'analyse de fréquence.
Analyse de sécurité du chiffrement Porta
Points forts (pour son époque)
Le chiffre Porta offrait de réels avantages par rapport aux chiffrements monoalphabétiques :
-
Résistance à l'analyse de fréquence simple. Étant donné que chaque lettre de texte en clair peut correspondre à plusieurs lettres de texte chiffré en fonction de la clé, les attaques simples par fréquence de lettre qui ont dévasté les chiffrements monoalphabétiques ne fonctionnent pas directement.
-
Simplicité opérationnelle. La propriété auto-réciproque réduit le risque d'erreurs de l'opérateur et simplifie l'utilisation sur le terrain.
-
Représentation compacte des clés. Un mot-clé court peut contrôler un message long, rendant la distribution des clés plus facile que les systèmes nécessitant des tables alphabétiques complètes.
Vulnérabilités
Malgré sa sophistication pour les années 1560, le chiffre Porta présente plusieurs faiblesses par rapport aux normes analytiques modernes :
-
Espace clé réduit. Avec seulement 13 tables efficaces, chaque position clé offre moins de possibilités que le Vigenère, ce qui rend les attaques par force brute plus faciles à gérer.
-
Contrainte de demi-échange. L'exigence structurelle selon laquelle les lettres de la première moitié doivent toujours être chiffrées en lettres de la seconde moitié (et vice versa) entraîne une fuite d'informations. Un attaquant qui sait qu'une lettre se trouve dans le texte chiffré peut immédiatement exclure 13 valeurs possibles en texte clair.
-
Examen Kasiski. Comme tous les chiffres polyalphabétiques à clés répétitives, le chiffre Porta est vulnérable à l'examen Kasiski. Des séquences répétées dans le texte chiffré révèlent la longueur du mot-clé, après quoi chaque position peut être analysée individuellement.
-
Indice de coïncidence. La méthode statistique de William Friedman pour déterminer la longueur des mots clés fonctionne aussi efficacement contre le chiffre Porta que contre le chiffre Vigenère.
-
Attaques de texte clair connu. Si une partie du texte clair est connue ou devinable, les lettres clés correspondantes peuvent être récupérées immédiatement, et la nature répétitive du mot clé permet souvent de déduire la clé entière.
Influence historique sur les chiffres ultérieurs
L'influence du chiffre Porta s'étend au-delà de son utilisation directe. Plusieurs de ses concepts sont apparus dans les développements cryptographiques ultérieurs :
Le principe de réciprocité
L’idée qu’un chiffre pourrait être son propre inverse – que la même opération chiffre et déchiffre – s’est avérée durablement attrayante. Le chiffre de Beaufort, développé au XIXe siècle, possède également cette propriété auto-réciproque, bien qu'il y parvienne grâce à un mécanisme mathématique différent. Même la machine Enigma, utilisée pendant la guerre mondiale II, incorporait des éléments réciproques (involutifs) dans la conception de son réflecteur, garantissant que le processus de décryptage de la machine était identique à son processus de cryptage.
Lettres clés appariées
Le concept d'appariement de lettres clés (A/B, C/D, etc.) pour réduire le nombre d'alphabets effectifs est réapparu sous diverses formes dans les conceptions de chiffrement ultérieures. Cela représente une première reconnaissance du compromis entre la complexité des clés et la simplicité opérationnelle – une tension qui persiste dans la conception des systèmes cryptographiques modernes.
Cryptanalyse systématique
Le De Furtivis Literarum Notis de Della Porta ne se contente pas de présenter de nouveaux chiffres. Il décrit également des méthodes permettant de briser les codes existants, notamment des techniques permettant d'identifier les types de chiffrement et d'exploiter les faiblesses structurelles. Cette double focalisation sur la construction du chiffrement et la cryptanalyse était en avance sur son temps et anticipait le principe moderne selon lequel la sécurité d'un chiffrement devait être évaluée par une attaque systématique.
Implémentation du chiffrement Porta
Algorithme étape par étape
Le chiffre Porta peut être implémenté avec un algorithme simple :
- Convertissez la lettre en clair en nombre (A=0, B=1, ..., Z=25).
- Convertissez la lettre clé en numéro de table : t = floor(key_position / 2).
- Si le numéro du texte en clair est inférieur à 13 : résultat = (texte en clair + t) mod 13 + 13.
- Si le numéro du texte en clair est 13 ou plus : résultat = (texte en clair - 13 - t) mod 13.
- Reconvertissez le résultat en lettre.
Travailler avec des caractères non alphabétiques
Traditionnellement, le chiffre Porta traite uniquement les 26 lettres de l’alphabet latin. Les espaces, les chiffres et la ponctuation sont soit supprimés avant le cryptage, soit transmis sans modification. Lors de la suppression des espaces, le texte chiffré résultant est généralement formaté en groupes de cinq lettres pour plus de lisibilité et pour masquer les limites des mots.
Questions fréquemment posées
Qu'est-ce qui différencie le chiffre Porta du chiffre Vigenère ?
La différence la plus significative est que le chiffre Porta utilise 13 alphabets réciproques tandis que le chiffre Vigenère utilise 26 alphabets décalés. Dans le chiffre Porta, chaque alphabet échange la première moitié de l’alphabet avec la seconde moitié, rendant les opérations de cryptage et de décryptage identiques. Le chiffre de Vigenère nécessite une étape de décryptage distincte (soustraire la clé au lieu de l'ajouter). Le nombre réduit d'alphabets du chiffre Porta signifie également un espace clé effectif plus petit.
Pourquoi le chiffre Porta est-il appelé « auto-réciproque » ?
Un chiffre est auto-réciproque lorsque la fonction de chiffrement est son propre inverse. Dans le chiffrement Porta, si vous chiffrez une lettre puis chiffrez à nouveau le résultat en utilisant la même lettre clé, vous récupérez la lettre originale. Cela se produit parce que chaque table alphabétique Porta est une involution : elle échange des paires de lettres, donc appliquer l'échange deux fois ramène chaque lettre à sa position de départ. En pratique, cela signifie que la même procédure et la même clé sont utilisées pour le cryptage et le déchiffrement.
Dans quelle mesure le chiffrement Porta est-il sécurisé ?
Selon les normes modernes, le chiffre Porta n’est pas sécurisé. Il est vulnérable à l'examen Kasiski (qui révèle la longueur du mot-clé), à l'analyse de fréquence (appliquée à chaque position clé séparément une fois que la longueur du mot-clé est connue) et aux attaques par force brute (puisque chaque position clé n'a que 13 possibilités). Cependant, lorsque della Porta l'a introduit en 1563, il représentait une avancée significative par rapport aux chiffres de substitution monoalphabétiques, qui pouvaient être déchiffrés par un simple comptage de fréquence de lettres.
Le chiffre Porta peut-il être déchiffré par un ordinateur ?
Oui, assez facilement. Un ordinateur peut essayer toutes les longueurs de mots clés possibles, appliquer l'indice de coïncidence pour confirmer la longueur correcte, puis tester les 13 valeurs de tableau possibles pour chaque position. Pour un mot-clé de longueur n, une recherche par force brute nécessite au plus 13^n tentatives, ce qui est trivial sur le plan informatique pour des mots-clés de n'importe quelle longueur pratique. Même sans force brute, les méthodes statistiques peuvent généralement récupérer la clé à partir d’un texte chiffré de quelques centaines de caractères.
Qui était Giovanni Battista della Porta ?
Giovanni Battista della Porta (1535-1615) était un mathématicien napolitain dont les intérêts couvraient la philosophie naturelle, l'optique, la cryptographie, l'agriculture et le théâtre. Il publia le chiffre Porta dans son traité de 1563 De Furtivis Literarum Notis, qui fut l'une des œuvres cryptographiques les plus importantes de la Renaissance. Au-delà de la cryptographie, on se souvient de della Porta pour ses contributions à l'optique (y compris ses premiers travaux sur la chambre noire et le télescope), sa fondation de l'une des premières sociétés scientifiques d'Europe et son encyclopédie Magia Naturalis. Il était un contemporain de Galilée et correspondait avec de nombreux érudits de premier plan de son époque.