360 likes | 507 Views
I. 2 Confusion & Diffusion. Sommaire. 1. Cryptages par substitution confusion 2. Cryptages par transpositions et permutations diffusion 3. Autres cryptages. 1. Cryptages par substitution. 1.1 Cryptages mono-alphabétiques 1.2 Cryptages poly-alphabétiques
E N D
Sommaire 1. Cryptages par substitution confusion 2. Cryptages par transpositions et permutations diffusion 3. Autres cryptages
1. Cryptages par substitution 1.1 Cryptages mono-alphabétiques 1.2 Cryptages poly-alphabétiques • Dans tout ce qui suit on suppose k’ = k sauf stipulation contraire
1.1 Cryptages monoalphabétiques 1.1.1 Cryptages « naïfs » 1.1.2 Cryptages additifs 1.1.3 Cryptages par généraux par substitution 1.1.4 Cryptages affines 1.1.5 Cryptanalyse
1.1.1 Cryptages « naïfs » • Cryptage de Polybe P = {a,b, … z} les 25 lettres de l’alphabet latin (i et j identiques) C = {1,2,3,4,5}2 suite de 2 chiffres de 1 à 5 K = Ø pas de clef E : P C D : C P D = E-1 Polybe (-205 -126)
1.1.2 Cryptages additifs • Cryptage de César • Principe P = C = K = {a,b, … z}= Z26 x P y C k,k’ K k = k’ Ek(x) = x + k mod 26 décalage de k lettres Dk(y) = y - k mod 26 décalage inverse Jules César n’utilisait que la clef k = 3 ! Jules César (-100 -44)
Exemple x = message 12-4-18-18-0-6-4 k = 3 y = phvvdjh 15-7-21-21-3-9-7
1.1.3 Cryptages généraux par substitution • Principe P = C = {a,b, … z}= Z26 K = ∏ : Z26 Z26 ensemble des fonctions bijectives (permutations) x P y C π,π’ ∏ π’ = π-1 Eπ(x) = π (x) Dπ’(y) = π’ (x) Il y a 26! clefs possibles considérable !
Exemple x = message 12-4-18-18-0-6-4 k = z y x … c b a y = nvhhztv 13-21-7-7-25-19-21
1.1.4 Cryptages affines • Principe P = C = {a,b, … z}= Z26 K = {(a,b) Z262 | pgcd (a,26)=1 } x P y C (a,b) K Ek(x) = a x + b mod 26 Dk(y) = (y-b)/a mod 26 pour a=1, le cryptage est additif Ek doit être injective pgcd (a,26) = 1 Zp pour p premier est un corps a Zp pgcd (a,p) = 1
Exemple x = message 12-4-18-18-0-6-4 k = (7, 3) y = 7x + 3 mod 26 y = jfzzdtf 9-5-25-25-3-19-5 • Pour décrypter : x = (y-3)/7 mod 26 = (y-3) 7-1mod 26 7-1 mod 26 = 15 (7.15 = 105 = 1 mod 26 ) x = 15 (y-3) mod 26 = 15y - 45 mod 26 = 15y - 19 mod 26
1.1.5 Cryptanalyse أبويوسفيعقوبابنإسحاقالكندي Abu Yusuf Ya’qub ibn Is-haq ibn as-Sabbah ibn Oòmran ibn Ismaïl Al-Kindi (801-873) • Analyse des fréquences Al-Kindi philosophe, mathématicien, astronome, médecin, musicologue et … linguiste, auteur de 290 livres • Manuscrit sur le déchiffrement des messages cryptographiques (découvert en 1987 dans les archives ottomanes d’Istambul) • Principe • La fréquence des lettres reste invariante entre le texte en clair et le cryptogramme • On classe les lettres du cryptogramme selon leur fréquence • On établit une corrélation des lettres les plus fréquentes avec une table de fréquence type du langage à crypter
1.2 Cryptages polyalphabétiques 1.2.1 Cryptages par blocs 1.2.2 Cryptage matriciel 1.2.3 Cryptage à confidentialité parfaite 1.2.4 Cryptanalyse
1.2.1 Cryptages par blocs Leon Batista Alberti (1404 - 1472) • Origines XVième siècle • Principe P = C = K = {a,b, … z}m = Z26m cryptage par blocs de m lettres avec une clef alphabétique de longueur m • (x1, x2, … xm) P (y1, y2, … ym) C (k1, k2, … km) K Ek (x1, x2, … xm ) = (x1+k1, x2+k2, … xm+km) Dk (y1, y2, … ym ) = (y1-k1, y2-k2, … ym-km) cryptage additif par blocs + & - sont définis mod 26 Jean Trithème (1462 - 1516) Blaise de Vigenère (1523 - 1596) Giovanni Battista Della Porta (1535 - 1615)
Exemple x = message 12-4-18-18-0-6-4 k = cle 2-11-4 y = opwulkg 14-15-22-20-11-10-6 des lettres identiques de x donnent des lettres différentes de y l’analyse des fréquences brutes est inapplicable du fil à retordre pour le cryptanalyste
1.2.2 Cryptage matriciel Lester S. Hill (1891-1961) • Principe P = C = {a,b, … z}m = Z26m K = {M (m,m) | M matrice inversible dans Z26} • x = (x1, x2, … xm) P y = (y1, y2, … ym) C • k = (k1, k2, … kn) K Ek (x) = x . k Dk (y) = y . k-1
1.2.3 Cryptage à confidentialité parfaite Gilbert Vernam (1890-1960) • Principe P = C = K = {0, 1}n = Z2n x = (x1, x2, … xn) P y = (y1, y2, … yn) C • k = (k1, k2, … kn) K Ek (x) = x k Dk (y) = y k = x k k = x • cryptage du téléphone rouge(Washington - Moscou) • confidentialité parfaite pour une clef jetable aussi longue que le message
Exemple x = message code telex (Emile Baudot) 11100 00001 00101 00101 00011 11010 00001 k = richard 01010 00110 01110 10100 00011 01010 01001 y = pujz-t 10110 00111 01011 10001 00000 10000 01000
1.2.4 Cryptanalyse • Historique • Les cryptages monoalphabétiques ont résisté à la cryptanalyse pendant près de 10 siècles (de Jules César à Al Kindi) • Il a fallu attendre 5 siècles pour que les nouveaux cryptages polyalphabétiques prennent le relais • Il faudra encore 4 siècles pour les cryptanalystes en viennent à bout grâce à deux techniques Le test de Kasisky souvent attribué à Babbage Le test de Friedman
Le test de Kasisky 1863 Charles Babbage (1791-1871) • Idée un cryptage polyalphabétique est équivalent à m cryptages monoalphabétiques avec une répétition périodique de période m • Recherche de la longueur de la clef m • recherche de séquences identiques de longueur 3 dans le cryptogramme les séquences identiques de longueur 2 ont une probabilité trop forte d’apparaître au hasard • distances de ces séquences : d1, d2, … • m divise pgcd (d1, d2, …) estimation • Cryptanalyse des m cryptages monoalphabétiques
Le test de Friedman 1920 Wolfe Frederick Friedman (1891-1969) • Idée • P = C = {a, b,…z} = {a1, a2,…a26 } • Indice de coïncidence d’un texte x : Ic (x) • probabilité que 2 caractères de x (de longueur n) soient égaux nombre de choix possibles de 2 caractères quelconques dans x nombre de caractères ai dans x nombre de choix possibles de 2 caractères ai dans x
Indice de coïncidence d’un langage pi probabilité de ai issue de la table des fréquences • exemples français 0,074 anglais 0,065 • Indice de coïncidence d’une chaîne de caractère aléatoire
Méthode de cryptanalyse n = |y| longueur du cryptogramme y • estimation de la longueur de la clef m test de Kasiski • partition du cryptogramme en sous-chaînes y1, y2, … de longueur n/m colonnes d’un tableau en écrivant y en lignes de m lettres • calcul de Ic (yi)
2. Cryptages par transpositions et permutations 2.1 La scytale spartiate 2.2 Cryptage par transposition 2.3 Cryptage par permutation 2.4 Cryptages mixtes 2.5 Cryptanalyse
2.1 La scytale spartiate • La scytale σκυτάλη (bâton) • Principe P = C = {a, b, …z }n = Z26n K =N x P y C k K Ek (xij) = xji j [1..k] Dk (yij) = yji i [1..k] • le texte en clair est écrit en lignes de k colonnes • le cryptogramme est relevé en colonnes • ce cryptage est utilisé par Jules Verne dans voyage au centre de la terre (environ -500)
2.2 Cryptage par transposition • Exemple x = ceci.est.un.message. k = 4 y = c..ma eeueg csnse it.s.
2.3 Cryptage par permutation • Principe P = C = {a, b, …z }n = Z26n K = ∏ : {1..n} {1..n} ensemble des fonctions bijectives (permutations) x P y C π,π’ ∏ π’ = π-1 Eπ (x1, x2, …xn ) = (x π(1), xπ(2), …xπ(n) ) Dπ’ (y1, y2, …yn ) = (yπ’(1), yπ’(2), …yπ’(n) ) équivalent à un cryptage de Hill avec une matrice K (n,n) telle que ki,j = 1 si i = π(j) = 0 sinon
Exemple x = c e c i . e s t . u n . m e s s a g e . k = (4, 2, 1, 3) y = i e c c t e . s . u . n s e m s . g a e
2.4 Cryptages mixtes • Principe P = C = {a, b, …z }n = Z26n K = {a, b, …z }m = Z26m le texte clef k définit une permutation π et sa longueur m définit une transposition x P y C k K Ek (xij) = x(πj)i j [1..m] Dk (yij) = yj(π’i) i [1..m] π’ = π-1 Giovanni Battista Della Porta (1535 - 1615)
Transposition suivi de permutation x = c e c i . e s t . u n . m e s s a g e . k = s o i r π(k) = (4, 2, 1, 3) m(k) = 4 1. transposition 2. permutation y = i t . s . e e u e g c . . m a c s n s e
Permutation suivi de transposition x = c e c i . e s t . u n . m e s s a g e . k = s o i r π(k) = (4, 2, 1, 3) m(k) = 4 1. Permutation y1 = i e c c t e . s . u . n s e m s . g a e 2. transposition y = i t . s . e e u e g c . . m a c s n s e
Propriétés • Le cryptage par transposition T est idempotent • Le cryptage par permutation P est idempotent • Les cryptages P et T sont commutatifs • Donc : le cryptage P x T est idempotent en fait une transposition est une permutation particulière
2.5 Cryptanalyse • Principe • Retrouver la permutation par « recollement » • Analyse de la distribution des bi-grammes, tri-grammes,…n-grammes
3. Autres cryptages • Il y en a des centaines • Code Da Vinci • Code Playfair • Code Pigpen (l’enclos des cochons) • Code « la Bible » (Michael Drosnin) • Code ADFGVX • et bien d’autres encore …