Chiffre de colline
Dans la cryptographie classique , le chiffre de colline de est un chiffrement par substitution polygraphique basé sur l'algèbre linéaire . Inventé par la colline de Lester S. de dans le 1929 , c'était le premier chiffre polygraphique dans lequel il était pratique (cependant à peine) pour opérer plus de trois symboles immédiatement. La discussion suivante assume une connaissance élémentaire de la théorie des matrices De .
Opération
Chaque lettre est d'abord codée comme nombre. Souvent l'arrangement le plus simple est employé : A = 0, B =1,…, Z=25, mais ceci n'est pas un dispositif essentiel du chiffre. Un bloc de lettres du n est alors considéré comme vecteur des dimensions de n et multiplié par des × d'un n ; matrice , modulo 26 de de n de . (Si on emploie un plus grand nombre que 26 pour la base modulaire, alors un arrangement différent de nombre peut être employé pour coder les lettres, et les espaces ou le puncuation peuvent également être employés.) La matrice entière est considérée la clef de chiffre, et devrait être le aléatoire à condition que la matrice soit inversible dans le _ de (il est possible d'assurer le déchiffrage). Considérer le message « ACTE », et la clef ci-dessous (ou GYBNQKURP dans les lettres) : le Puisque « A » est 0, « C » est 2 et « T » est 19, le message est le vecteur : le Ainsi le vecteur chiffré est donné par :
ce qui correspond à un texte chiffré de « POH ». Maintenant, supposer que notre message est à la place « CAT », ou : le Cette fois, le vecteur chiffré est donné par :
ce qui correspond à un texte chiffré de « AILERON ». Chaque lettre a changé. Le chiffre de colline a réalisé le diffusion de s de Shannon la ', et un chiffre dimensionnel de colline de n peut répandre entièrement à travers des symboles de n immédiatement.
Déchiffrage
Afin de déchiffrer, nous tournons le texte chiffré de nouveau dans un vecteur, puis nous multiplions simplement par la matrice inverse de la matrice principale (IFKVIVVMI dans les lettres). (Il y a des méthodes standard pour calculer la matrice inverse ; voir l'inversion de Matrix de pour des détails.) Nous constatons que dans le _ de la matrice inverse de celle dans l'exemple précédent est : le Prenant le texte chiffré d'exemple précédent de « POH », nous obtenons :ce qui nous obtient de nouveau au « ACTE », juste comme nous espérions.
Nous n'avons pas encore discuté une complication qui existe en sélectionnant la matrice de chiffrage. Non toutes les matrices ont un inverse (voir la matrice inversible ). La matrice aura dans l'inverse si et seulement si son déterminant n'est pas zéro, et n'a aucun facteur commun avec la base modulaire. Ainsi, si nous travaillons le modulo 26 comme ci-dessus, la cause déterminante doit être différente de zéro, et ne doit pas être divisible par 2 ou 13. Si la cause déterminante est 0, ou a des facteurs communs avec la base modulaire, alors la matrice ne peut pas être employée dans le chiffre de colline, et une autre matrice doit être choisie (autrement il ne sera pas possible de déchiffrer). Heureusement, les matrices qui remplissent les conditions à employer dans le chiffre de colline sont assez communes.
Pour notre matrice de clef d'exemple : le Ainsi, le modulo 26, le deterimant est 25. Puisque ceci n'a aucun facteur commun avec 26, cette matrice peut être employée pour le chiffre de colline.
On peut éliminer le risque de la cause déterminante ayant des facteurs communs avec le module en faisant la perfection de module. En conséquence une variante utile du chiffre de colline ajoute 3 symboles supplémentaires (tels qu'un espace, une période et un point d'interrogation) pour augmenter le module à 29.
Sécurité
Malheureusement, le chiffre de base de colline est vulnérable à une attaque de Connaître-plaintext de parce que c'est complètement le linéaire. Un adversaire qui arrête des paires de caractère de plaintext/texte chiffré de peut installer un système linéaire qui peut (habituellement) soit facilement résolu ; s'il se produit que ce système est indéterminé, il est seulement nécessaire d'ajouter quelque plus de paires de plaintext/texte chiffré. Le calcul de cette solution par des algorithmes standard d'algèbre linéaire prend alors du temps très petit.Tandis que seule la multiplication de matrice n'a pas comme conséquence un chiffre bloqué c'est toujours une étape utile une fois combiné avec d'autres opérations non linéaires du , parce que la multiplication de matrice peut fournir la diffusion . Par exemple, une matrice convenablement choisie peut garantir que les petites différences avant la multiplication de matrice auront comme conséquence de grandes différences après la multiplication de matrice. Quelques chiffres modernes emploient en effet une étape de multiplication de matrice pour fournir la diffusion. Par exemple, l'étape de MixColums dans le AES est une multiplication de matrice. Le de fonction g dans le Twofish est une combinaison des boîtes de substitution non linéaires avec une multiplication soigneusement choisie de matrice (DM).
Taille principale
La taille de clef de est le logarithme binaire du nombre de clefs possibles. Il y a des matrices de des × de la dimension n ; n. Ainsi le ou au sujet de est une limite supérieure sur la taille principale du chiffre de colline using des × de n ; matrices de n. C'est seulement une limite supérieure parce que non chaque matrice est inversible et ainsi utilisable comme clef. Le nombre de matrices inversibles peut être calculé par l'intermédiaire du théorème chinois de reste de ., une matrice est le modulo inversible 26 si et seulement si c'est le modulo invertbile 2 et le modulo 13. Le nombre de × inversibles de n ; le modulo 2 de matrices de n est égal à l'oder du groupe linéaire général GL (n, Z 2) de . C'est leÉgalement, le nombre du modulo 13 de matrices inversibles (c. l'ordre de GL (n, Z 13)) est le Le nombre du modulo 26 de matrices inversibles est le produit de ces deux nombres. Par conséquent c'est le
En plus il semble être prudent d'éviter le trop met dedans la matrice principale, puisqu'ils réduisent la diffusion. L'effet net est que le keyspace efficace d'un chiffre de base de colline est au sujet de < ! -- Je ne suis pas sûr comment un rédacteur précédent a trouvé cette formule. Pour 5 × ; Le chiffre de 5 collines, celui est environ 114 bits. Naturellement, la recherche de clés n'est pas l'attaque connue la plus efficace.
Exécution mécanique
En opérant 2 symboles immédiatement, un chiffre de colline offre aucun avantage particulier par rapport au Playfair ou au chiffre bifide , et n'est en fait plus faible que l'un ou l'autre, et légèrement plus laborieux pour fonctionner par le crayon-et-papier. À mesure que la dimension augmente, le chiffre devient rapidement infaisable pour qu'un humain fonctionne à la main. Mais étonnant, un chiffre de colline de la dimension 6 a été par le passé mis en application mécaniquement ! La colline et un associé ont été attribués un brevet () pour ce dispositif, qui a exécuté 6 × ; modulo 26 de multiplication de 6 matrices using un système des vitesses et des chaînes. Malheureusement les arrangements d'embrayage (et ainsi la clef) étaient fixes pour n'importe quelle machine donnée, ainsi chiffrage de triple ont été recommandés pour la sécurité : une étape non linéaire secrète, suivie de l'étape diffusive large de la machine, a suivi d'une troisième étape non linéaire secrète. Une telle combinaison était réellement très puissante pour 1929, et indique que la colline a apparemment compris les concepts d'une attaque Rencontrer-dans-le-moyenne aussi bien que la confusion et la diffusion. Malheureusement, sa machine ne s'est pas vendue.
Voir également
L'autre " pratique ; crayon-et-paper" ; les chiffres polygraphiques incluent :Chiffre de Playfair de
Chiffre bifide
Chiffre Trifid
.
| Random links: | Willard, Ohio | BS2000 | Charles Dwight Sigsbee | Argument de conception pauvre | Terri Irwin | Cifra_de_la_colina |