Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cryptanalyse de la machine Enigma : entre espionnage et mathématiques

Cryptanalyse de la machine Enigma : entre espionnage et mathématiques

Tout le monde connait la machine à chiffrer Enigma, utilisée par les armées allemandes lors de la seconde guerre mondiale et dont le code fut cassé par Alan Turing. Beaucoup moins nombreux sont ceux qui connaissent Marian Rejewski et ses premiers travaux sur Enigma en Pologne dans les années 30.
Comment les secrets d'Enigma ont été percés est une histoire bien plus longue et rocambolesque qu'on le croit. Entre espions, rendez-vous secrets et agents doubles, mais aussi mathématiques, groupes de permutation et probabilités, laissez-moi vous raconter comment la machine Enigma fut cassée plusieurs fois par les alliés et comment elle fit rentrer la cryptographie dans l'ère moderne.

Jean-Christophe Sirot

April 25, 2022
Tweet

Other Decks in Science

Transcript

  1. #DevoxxFR Cryptanalyse de la machine Enigma : entre espionnage et

    mathématiques Jean-Christophe Sirot @jcsirot 1 v1.0
  2. La machine Enigma 6 Batterie électrique Clavier Rotors & ré

    fl ecteur Lampes Tableau des connexions
  3. Dénombrement 10 3 rotors, 26 positions = 105456 6 paires

    de 2 lettres = 100391791500 10586916764424000 « clés » 1 combinaison / seconde → > 300 millions d’années
  4. Protocole de chiffrement 16 1. Sélectionner les 3 rotors à

    placer dans la machine 2. Régler les rotors sur leur position du jour 3. Brancher les fi ches sur le tableau des connexions 4. Choisir une clé de « message » composée de 3 lettres 5. Taper 2 fois la clé de message 6. Régler les rotors sur la clé de message 7. Taper le message à transmettre
  5. Protocole de chiffrement 17 Exemple de chiffrement :
 
 Clé

    de message « HBR »
 Message à chiffrer : « ICH BIN EIN KARTOFFELSALAT » Message en clair HBRHBR ICHBINEINKARTOFFELSALAT Message chiffré YQYAVY JRRLAYUOLWTHASTVVPMLOMB Rotors I / A II / Q III / L Fiches BQ CR DI EJ KW MT OS PX UZ GH
  6. Cycles d’une permutation 22 0 1 2 3 4 5

    6 7 8 9 8 0 1 3 2 6 4 9 5 7 0→8→5→6→4→2→1→0 7→9→7 3→3 0 1 2 3 4 5 6 7 8 9 8 0 1 3 2 6 4 9 5 7 0 1 2 3 4 5 6 7 8 9 8 0 1 3 2 6 4 9 5 7 0→8 0→8→5 0 1 2 3 4 5 6 7 8 9 8 0 1 3 2 6 4 9 5 7 0→8→5→6 0 1 2 3 4 5 6 7 8 9 8 0 1 3 2 6 4 9 5 7 0 1 2 3 4 5 6 7 8 9 8 0 1 3 2 6 4 9 5 7 Théorème : toute permutation est la composée de cycles à supports disjoints qui forment une partition de l’ensemble σ = (0856421)(79)(3)
  7. Modèle mathématique d’Enigma 23 Si le message en clair est

    M0M1M2 et le message chiffré C0C1C2
 
 C0 = σ0(M0)
 C1 = σ1(M1)
 C2 = σ2(M2)
 Où σi est la permutation caractérisée par la con fi guration des rotors et du tableau de connexions après i lettres tapées
  8. Modèle mathématique d’Enigma 24 Intuition de Rejewski : les lettres

    répétées de l’indicateur permettent de trouver des informations sur la clé journalière σi = p o ri o p-1 ri = permutation des rotors p = permutation du tableau des connexions
 par exemple (bt)(ap)(mi)(xe)(kc)
  9. Modèle mathématique d’Enigma 25 Tous les messages commencent par un

    indicateur de 3 lettres tapées 2 fois par l’opérateur : ⍺βɣ Tableau des connexions Rotors & Réfecteurs Tableau des connexions ⍺βɣ⍺βɣ YQYAVY
  10. Cryptanalyse polonaise 26 Idée de Rejewski : brancher 2 machines

    Enigma en série
 en positions 0 et 3 Tableau des connexions Rotors & Réfecteurs Pos. 0 Tableau des connexions Tableau des connexions Rotors & Réfecteurs Pos. 3 Tableau des connexions Y ⍺ A p r0 p-1 p r3 p-1 Σ0 = p r0 p-1 p r3 p-1
  11. Cryptanalyse polonaise 27 Idée de Rejewski : brancher 2 machines

    Enigma en série
 en positions 0 et 3 Tableau des connexions Rotors & Réfecteurs Pos. 0 Tableau des connexions Tableau des connexions Rotors & Réfecteurs Pos. 3 Tableau des connexions Y ⍺ A p r0 p-1 p r3 p-1 Σ0 = p (r0 r3) p-1 Σ0(Y) = A
  12. Cryptanalyse polonaise 28 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 __________________________
  13. Cryptanalyse polonaise 29 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 ________________________A_
  14. Cryptanalyse polonaise 30 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 _______________________NA_
  15. Cryptanalyse polonaise 31 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 C_TF_E_DZG__LK_J___M__UNA_
  16. Cryptanalyse polonaise 32 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
  17. Cryptanalyse polonaise 33 On réalise la même opération pour les

    2 autres lettres de l’indicateur pour déterminer les 3 permutations Σ0 = p (r0 r3) p-1 (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS) Σ1 = p (r1 r4) p-1 (AYRMSTBFN)(DZQVPGEIX)(CLHW)(JOKU) Σ2 = p (r2 r5) p-1 (ADZLVBOPX)(FJGHQWSUI)(EK)(MT)(C)(N)(R)(Y)
  18. Cryptanalyse polonaise 34 Théorème : les permutations conjuguées de σ

    (c.a.d de la forme ⍴σ⍴-1) ont la même structure de décomposition en produits de cycles à supports disjoints : le même nombre de cycles de chaque longueur
  19. Cryptanalyse polonaise 35 Théorème : les permutations conjuguées de σ

    (c.a.d de la forme ⍴σ⍴-1) ont la même structure de décomposition en produits de cycles à supports disjoints : le même nombre de cycles de chaque longueur Exemple : σ = (ACD)(EF)(B), ⍴ = (AF)(BD)(CE)
  20. Cryptanalyse polonaise 36 Théorème : les permutations conjuguées de σ

    (c.a.d de la forme ⍴σ⍴-1) ont la même structure de décomposition en produits de cycles à supports disjoints : le même nombre de cycles de chaque longueur Exemple : σ = (ACD)(EF)(B), ⍴ = (AF)(BD)(CE) ⍴ σ ⍴-1
 ABCDEF → FDEBCA → EAFBDC → CFADBE ⍴σ⍴-1 = (EF)(ACD)(B)
 σ = (AC)(BFE)(D)
  21. Cryptanalyse polonaise 37 Théorème : les permutations conjuguées de σ

    (c.a.d de la forme ⍴σ⍴-1) ont la même structure de décomposition en produits de cycles à supports disjoints : le même nombre de cycles de chaque longueur Donc… p (r0 r3) p-1 et (r0 r3) ont la même structure de cycles qui ne dépend pas des branchements du tableau des connexions Idée de Rejewski : lister dans un catalogue les structures des cycles caractérisées par toutes les positions possibles des rotors (ri ri+3)

  22. Cryptanalyse polonaise 38 p (r0 r3) p-1
 reconstitué à partir

    des messages interceptés ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV r0 r3
 calculé dans le catalogue de Rejewski ABCDEFGHIJKLMNOPQRSTUVWXYZ
 RKQUHJIBFCZPTWSNXMOLVYDEAG (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
 (MTLPNWDUVYAR)(QXEHBKZGIFJC)(SO)
  23. Cryptanalyse polonaise 39 p (r0 r3) p-1
 reconstitué à partir

    des messages interceptés ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV r0 r3
 calculé dans le catalogue de Rejewski ABCDEFGHIJKLMNOPQRSTUVWXYZ
 RKQUHJIBFCZPTWSNXMOLVYDEAG (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
 (RMTLPNWDUVYA)(QXEHBKZGIFJC)(SO)
  24. Cryptanalyse polonaise 40 p (r0 r3) p-1
 reconstitué à partir

    des messages interceptés ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV r0 r3
 calculé dans le catalogue de Rejewski ABCDEFGHIJKLMNOPQRSTUVWXYZ
 RKQUHJIBFCZPTWSNXMOLVYDEAG (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
 (ARMTLPNWDUVY)(QXEHBKZGIFJC)(SO)
  25. Cryptanalyse polonaise 41 p (r0 r3) p-1
 reconstitué à partir

    des messages interceptés ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV r0 r3
 calculé dans le catalogue de Rejewski ABCDEFGHIJKLMNOPQRSTUVWXYZ
 RKQUHJIBFCZPTWSNXMOLVYDEAG (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
 (ARMTLPNWDUVY)(QXEHBKZGIFJC)(SO)
  26. Cryptanalyse britannique 47 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ

  27. Cryptanalyse britannique 48 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ
 WETTERVORHERSAGEBISKAYA
  28. Cryptanalyse britannique 49 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ
 WETTERVORHERSAGEBISKAYA
  29. Cryptanalyse britannique 50 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ
 WETTERVORHERSAGEBISKAYA
  30. Cryptanalyse britannique 51 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ
 WETTERVORHERSAGEBISKAYA
  31. Cryptanalyse britannique 52 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEZ
 WETTERVORHERSAGEBISKAYA
  32. Cryptanalyse britannique 53 Idée de Turing : attaque à texte

    clair connu Principe : rechercher dans un texte chiffré un endroit probable où peut se placer un morceau de texte en clair connu « crib » Exemple : QFZWRWIVTYRESXBFOGKUHQBAISEP
 WETTERVORHERSAGEBISKAYA
  33. Cryptanalyse britannique 54 Choisir une con fi guration des rotors

    et construire un « menu » RWIVTYRESXBFOGKUHQBAISE
 WETTERVORHERSAGEBISKAYA
  34. Cryptanalyse britannique 55 Choisir une con fi guration des rotors

    et construire un « menu » RWIVTYRESXBFOGKUHQBAISE
 WETTERVORHERSAGEBISKAYA
  35. Cryptanalyse britannique 56 Choisir une con fi guration des rotors

    et construire un « menu » RWIVTYRESXBFOGKUHQBAISE
 WETTERVORHERSAGEBISKAYA
  36. Cryptanalyse britannique 57 Choisir une con fi guration des rotors

    et construire un « menu » RWIVTYRESXBFOGKUHQBAISE
 WETTERVORHERSAGEBISKAYA
  37. Ressources 70 Enigma, Dermott Turing Notre espion chez Hitler, Paul

    Paillole Histoire des codes secrets, Simon Singh Seizing the Enigma, David Kahn
  38. Ressources 71 How Polish Mathematicians Deciphered the Enigma, Marian Rejewski


    https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.692.9386&rep=rep1&type=pdf The Enigma and the Bombe
 http://www.ellsbury.com/enigmabombe.htm Polish Mathematicians Finding Patterns in Enigma Messages, Chris Christensen
 https://www.maa.org/programs/maa-awards/writing-awards/polish-mathematicians- fi nding- patterns-in-enigma-messages