$30 off During Our Annual Pro Sale. View Details »

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. Jean-Christophe Sirot Staff Engineer chez 2 ೔ຊޠΛษڧ͍ͯ͠·͢ Passionné de Cryptographie

    Gamer
  3. Préambule Au lendemain de la Grande Guerre 3

  4. Acte I Le douanier et le fonctionnaire 4

  5. Gare Centrale de Varsovie, 1929

  6. La machine Enigma 6 Batterie électrique Clavier Rotors & ré

    fl ecteur Lampes Tableau des connexions
  7. None
  8. Schéma de la machine Enigma 8 Q W E R

  9. Schéma de la machine Enigma 9 Q W E R

  10. 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
  11. Acte II L’espion et le mathématicien 11

  12. Pariser Platz, 1931 Hans-Thilo Schmidt Gustave Bertrand

  13. Verviers Rodolphe Lemoine 
 alias Rex

  14. None
  15. Marian Rejewski Henryk Zygalski Jerzy Różycki

  16. 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
  17. 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
  18. Permutations 18

  19. Permutations 19

  20. Permutations 20 σ ( )=

  21. Permutations 21 σ ( )=

  22. 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)
  23. 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
  24. 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)
  25. 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
  26. 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
  27. 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
  28. Cryptanalyse polonaise 28 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

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

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

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 _______________________NA_
  31. 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_
  32. Cryptanalyse polonaise 32 YQYAVY… MOULKI…
 XLJNHG… NNVKAB…
 TZWMQS… AZDCQZ…
 JDWGZS…

    HWLDCV…
 IEOZIP… WTVUBB…
 UKDHUZ… DXZFDL…
 FWZECL… HTJDBG…
 CUITJF… PAWJYS… ABCDEFGHIJKLMNOPQRSTUVWXYZ
 CPTFREQDZGIXLKSJWBOMHYUNAV (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
  33. 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)
  34. 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
  35. 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)
  36. 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)
  37. 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)

  38. 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)
  39. 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)
  40. 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)
  41. 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)
  42. Cryptanalyse polonaise 42 (ACTMLXNKIZVY)(BPJGQWUHDFER)(OS)
 (ARMTLPNWDUVY)(QXEHBKZGIFJC)(SO) (AYRMSTBFN)(DZQVPGEIX)(CLHW)(JOKU)
 (AYCTOMQFN)(BVXHJDPIU)(RLGK)(ESWZ) (ADZLVBOPX)(FJGHQWSUI)(EK)(MT)(C)(N)(R)(Y)
 (AIULVQSXP)(BKOZDFEHG)(JW)(MT)(C)(N)(R)(Y) C-R

    M-T P-X K-W D-I U-Z B-Q E-J G-H O-S
  43. Acte III L’équipe de Bletchley Park 43

  44. Conférence de Munich, 1938

  45. Alastair Denniston Alfred Dillwyn Dilly Knox Alan Turing

  46. Bletchley Park siège du GC&CS

  47. 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

  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. Cryptanalyse britannique 54 Choisir une con fi guration des rotors

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

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

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

    et construire un « menu » RWIVTYRESXBFOGKUHQBAISE
 WETTERVORHERSAGEBISKAYA
  58. Cryptanalyse britannique 58

  59. Cryptanalyse britannique 59 K K

  60. Cryptanalyse britannique 60 K K ⍺ ⍺

  61. Cryptanalyse britannique 61 K K ⍺ ⍺ β β Ɣ

    Ɣ
  62. Cryptanalyse britannique 62 K K ⍺ ⍺ β β Ɣ

    Ɣ K = Ɣ ?
  63. La bombe de Turing 63

  64. La bombe de Turing 64

  65. La bombe de Turing 65 Registre de test
 
 1

    ligne activée = 👍
  66. La bombe de Turing 66 Registre de test
 
 2+

    lignes activées = ☠
  67. La bombe de Turing

  68. Conclusion 68

  69. La cryptographie c’est des maths La cryptographie c’est compliqué 69

  70. Ressources 70 Enigma, Dermott Turing Notre espion chez Hitler, Paul

    Paillole Histoire des codes secrets, Simon Singh Seizing the Enigma, David Kahn
  71. 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
  72. None