Machine enigma son fonctionnement et son decryptage par turi

Machine enigma son fonctionnement et son decryptage par turi

Télécharger PDF

La machine Enigma

La machine Enigma est une machine électro-mécanique qui ressemble à une machine à écrire. Lorsqu’une touche est enfoncée, des disques internes sont actionnés et le caractère crypté s’allume. Utilisée pour les communications de l’armée allemande durant la Seconde Guerre mondiale, Enigma était réputée pour sa complexité. Les services secrets polonais et britanniques avaient réussi à percer ses mystères grâce à des techniques avancées.

Fonctionnement de base

La première version d’Enigma comportait trois rotors (R1, R2, R3), offrant six combinaisons possibles pour leur agencement : R1R2R3, R1R3R2, R2R1R3, R2R3R1, R3R1R2, R3R2R1. La position des rotors, déterminée par trois lettres, pouvait varier selon 26 × 26 × 26 = 17 576 possibilités. Les connexions des fiches, avec six connexions, ajoutaient une complexité supplémentaire : 100 391 791 500 combinaisons. Le nombre total de clés était donc de 10 586 916 764 424 000, soit 10 millions de milliards de possibilités.

Exemple de chiffrement

Pour chiffrer le mot "BAC" avec une clé en position "GWQR...", voici les étapes suivies :

1. Position initiale : le "A" extérieur est en face du "G" intérieur, et donc "B" en face de "W".

2. Première lettre : l’opérateur tape "B", la machine affiche "W".

3. Rotation : l’anneau intérieur tourne d’un cran, maintenant "A" extérieur en face de "W", "B" en face de "Q", etc.

4. Deuxième lettre : l’opérateur tape "A", la machine affiche à nouveau "W".

5. Rotation : l’anneau intérieur tourne d’un cran supplémentaire, "A" extérieur en face de "Q", "B" en face de "R", etc.

6. Troisième lettre : l’opérateur tape "C", la machine affiche "U".

Le message crypté est donc "WWU".

Chiffrement du mot "BAC" sans clé précise

1. Première lettre : l’opérateur tape "B", la machine affiche "A".

2. Rotation : l’anneau intérieur effectue une rotation après chaque touche.

Briser Enigma

Sur une période de dix ans, les Allemands ont utilisé plus de 30 000 machines Enigma. Briser ce système était un véritable défi pour les cryptanalystes, car chaque lettre du message était chiffrée de manière unique, rendant toute attaque statistique inefficace. La complexité des clés rendait leur devinette quasi impossible.

L’exception polonaise

Les services de renseignement polonais, craignant une invasion allemande, ont réussi à obtenir une description technique de la machine ainsi que son mode d’utilisation. Grâce à un livre de code fournissant la clé quotidienne, ils ont pu développer des méthodes pour déchiffrer les messages. Les opérateurs allemands modifiaient la clé en choisissant trois lettres aléatoires, chiffrées avec la clé du jour, puis en ajustant les rotors. Chaque message était ainsi chiffré avec une clé différente.

La percée de Marian Rejewski

En décembre 1932, Marian Rejewski, travaillant pour les services polonais, a réussi à briser le code Enigma. Dès 1933, les Polonais ont pu déchiffrer des milliers de messages allemands, là où d’autres services de renseignement avaient échoué.

Collaboration avec Alan Turing

Avant l’invasion allemande, les Polonais ont partagé leurs techniques avec les Britanniques. Cependant, les Allemands ont modifié Enigma durant la guerre, ajoutant des rotors et cessant de répéter les trois lettres de la clé. Les Alliés ont alors dû développer des méthodes plus sophistiquées, notamment grâce à Alan Turing et à des appareillages électriques de plus en plus complexes, pour déjouer le chiffrement allemand.

Data Encryption Standard (DES)

Le DES, ou Data Encryption Standard, est un algorithme numérique créé par IBM en 1975 et standardisé en 1977. Son objectif est de générer une clé aléatoire de grande longueur à partir d’une clé principale, en utilisant des méthodes pseudo-aléatoires.

Exemple de génération de clés

Soit une clé principale définie par (a, b) et u₀, où la suite uₙ₊₁ ≡ a × uₙ + b (mod 26). Par exemple, avec a = 2, b = 5 et u₀ = 6, on obtient la suite : 6, 17, 13, 5, 15, 9, 23, 25, 3, 11, 1, 7, 19, 17, 13, 5. La clé principale (a, b, u₀) génère les clés secondaires (uₙ) pour n ∈ ℕ.

Algorithme DES simplifié

Les additions se font terme à terme modulo 10. Par exemple, [1 2 3 4] ⊕ [7 8 9 0] = [8 0 2 4]. Le message est découpé en blocs de 8 bits, et la clé a une longueur de 4 bits.

Étapes du chiffrement

1. Premier tour :

M₀ = [G₀ k D₀] = [1 2 3 4 k 5 6 7 8]

M₁ = [D₀ k C ⊕ σ(G₀)]

On échange la partie droite et gauche de M₀, puis on permute circulairement les nombres de la nouvelle partie droite avant d’ajouter la clé secrète C.

2. Deuxième tour :

M₁ = [5 6 7 8 k 5 4 7 3]

On échange la partie droite et gauche de M₁, on applique σ sur la nouvelle partie droite, puis on ajoute la clé secrète C.

Algorithme RSA

L’algorithme RSA, développé par Ron Rivest, Adi Shamir et Leonard Adleman en 1977, est un système de cryptographie à clé publique.

Génération des clés

1. Choisir deux nombres premiers distincts p et q.

2. Calculer n = p × q.

3. Calculer ϕ(n) = (p − 1) × (q − 1).

4. Choisir un exposant e tel que pgcd(e, ϕ(n)) = 1, avec 1 < e < ϕ(n).

5. Calculer l’inverse d de e modulo ϕ(n) à l’aide de l’algorithme d’Euclide étendu.

Exemple de génération de clés

1. Sélectionner aléatoirement deux nombres premiers p = 11 et q = 5.

2. Calculer n = p × q = 11 × 5 = 55.

3. Calculer ϕ(n) = (p − 1) × (q − 1) = 10 × 4 = 40.

4. Choisir e = 7 (car pgcd(7, 40) = 1).

5. Calculer d tel que d × 7 ≡ 1 (mod 40). Grâce à l’algorithme d’Euclide étendu, on obtient d = 23.

Chiffrement et déchiffrement

La clé publique est {e, n} = {7, 55}, et la clé privée est {d} = {23}. Pour chiffrer un message, on convertit chaque lettre en un entier m, puis on calcule x ≡ mᵉ (mod n). Pour déchiffrer, on utilise m ≡ xᵈ (mod n).

Exemple de chiffrement et déchiffrement

Chiffrer le message "HIDE" (H=7, I=8, D=3, E=4) :

H = 7 → 7⁷ (mod 55) = 28

I = 8 → 8⁷ (mod 55) = 2

D = 3 → 3⁷ (mod 55) = 42

E = 4 → 4⁷ (mod 55) = 49

Le message chiffré est donc : 28, 2, 42, 49.

Déchiffrer le message chiffré "28, 2, 42, 49" :

28 → 28²³ (mod 55) = 7 (H)

2 → 2²³ (mod 55) = 8 (I)

42 → 42²³ (mod 55) = 3 (D)

49 → 49²³ (mod 55) = 4 (E)

Le message en clair est donc : "HIDE".

Vue d’ensemble des algorithmes de chiffrement

Les algorithmes de chiffrement évoluent depuis des siècles, passant des méthodes manuelles comme le chiffrement de César ou de Vigenère aux systèmes mécaniques comme Enigma, puis aux algorithmes numériques modernes comme DES et RSA.

Comparaison des méthodes

1. Chiffrement de César : méthode simple par substitution de lettres.

2. Chiffrement de Vigenère : amélioration du chiffrement de César avec une clé variable.

3. Machine Enigma : système mécanique complexe utilisant des rotors et des connexions.

4. Algorithmes numériques (DES, RSA) : méthodes basées sur des calculs mathématiques et des clés publiques/privées.

FAQ

Qu’est-ce qui rend Enigma si difficile à briser ?

La combinaison de plusieurs éléments : l’agencement des rotors, leur position initiale et les connexions des fiches. Chaque message était chiffré avec une clé unique, rendant les attaques statistiques inefficaces.

Comment le DES génère-t-il des clés secondaires ?

À partir d’une clé principale (a, b, u₀), le DES utilise une suite pseudo-aléatoire définie par uₙ₊₁ ≡ a × uₙ + b (mod 26) pour créer des clés secondaires.

En quoi l’algorithme RSA est-il différent des autres méthodes de chiffrement ?

RSA utilise une paire de clés (publique et privée) basée sur des calculs mathématiques complexes (nombres premiers et fonctions modulaires), contrairement aux méthodes symétriques comme Enigma ou DES.

Partagez vos remarques, questions ou propositions d'amélioration ici...

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2