TPE - Enigma v2.0

Enigma sur le cloud, des engrenages au nuage...


Groupe
Benoît de Chezelles & Maximilien de Dinechin
Lycée
Hautefeuille
26 rue Pierre Joigneaux, 92270 Bois Colombes
Thème
Avancées scientifiques & réalisations techniques
Sujet
Enigma v2.0
Disciplines
Histoire & Mathématiques
Problématique
Comprendre et virtualiser une machine historique
Bibliographie
Histoire des codes secrets, par Simon Singh
Sections HTML, CSS et C du Site du Zéro

Fiche de synthèse de Maximilien

Pourquoi ce TPE ?

J'ai choisi de travailler sur ce sujet avec Benoît et Nicolas car ce TPE pouvait nous permettre de mettre en commun nos centres d'intérêt. Benoît maîtrise plusieurs langages informatiques et participe à des concours de programmation, Nicolas s’est plongé dans l’histoire d’Enigma, et je m’intéresse pour ma part davantage à la création de sites Internet et à la programmation sur calculatrice.

Je suis depuis longtemps passionné par la cryptologie, et plus particulièrement par les systèmes modernes de chiffrement, nettement plus complexes (et donc intéressants) que les codes secrets classique (César, Polybe...) de l'antiquité.

Pour notre sujet, nous nous sommes d’abord tournés vers une approche présentant l'histoire de la cryptologie, les grands systèmes de codage... Nous rendant compte qu'un plan aussi large ne pourrait fournir un travail approfondi, nous avons finalement décidé de nous focaliser sur la machine Enigma, qui a été à la fois un redoutable instrument de cryptage durant la seconde guerre mondiale, et a constitué une transition majeure entre les systèmes électro-mécaniques et les débuts de l’informatique.

Nous avons ensuite défini une problématique autour de cette machine. Il fallait à la fois pouvoir utiliser notre connaissance de la machine et apporter quelque chose de nouveau dans nos compétences. Après beaucoup d'essais qui ne me satisfaisaient pas tellement, j'ai proposé "Comprendre et virtualiser une machine historique". Cette approche contient en effet à la fois la partie explication et démonstration que nous voulions faire, et ouvre également une partie sur l'aspect historique de la machine, pendant la Deuxième Guerre mondiale. Cette problématique correspond ainsi aux deux matières choisies pour notre TPE : histoire et mathématiques.

Notre production est triple :

En cours de route, nous avons eu l’opportunité d’intégrer Nicolas dans notre équipe, et de développer la partie historique de la machine Enigma.

J’ai également acheté le nom de domaine www.enigma-v2.fr qui est accessible en ligne, et reçoit d’ores et déjà des visites.

Présentation de la démarche

A partir de la problématique que nous avions choisie, nous avons déterminé un plan. Nous voulions expliquer en quoi cette machine était particulièrement innovante et intéressante. Nous voulions également parler du travail de virtualisation que nous avions fait. Enfin, nous avons souhaité pouvoir faire une démonstration en direct de communication entre l'ordinateur et la calculatrice...

Nous avons ainsi défini les trois parties du plan :

Nous nous sommes beaucoup inspirés de la géniale Histoire des Codes Secrets de Simon Singh. Ce livre est l'un des plus complets et détaillés sur la machine Enigma. Nous avons complété notre information grâce à des sites comme Wikipédia (www.wikipedia.org), Ars Cryptographia (www.apprendre-en-ligne.net/crypto), et BibM@th (www.bibmath.net/crypto).

Nous avons aussi utilisé les Livres du Zéro, et le Site du Zéro (www.siteduzero.fr) pour compléter et approfondir nos connaissances en programmation et création de sites Internet.

Au fur et à mesure des programmations, nous avons effectué des recherches complémentaires sur plusieurs points moins connus, comme le rôle des polonais qui ont dès 1938 réussi à casser les codes d’Enigma, et les contre-mesures prises progressivement par les Allemands pour s’assurer d’une sûreté «totale».

Pour notre TPE, l'école a mis à notre disposition des ordinateurs qui nous ont permis de travailler ensemble. J'ai utilisé des technologies avancées, comme mettre Linux sur des clés USB pour retrouver sur n'importe quel ordinateur mon environnement logiciel et mes documents. A la maison, nous avons exploité les possibilités offertes par le "cloud computing" pour pouvoir travailler ensemble, bien que chacun chez soi.

Mon rôle a consisté à concevoir et coder le site Internet entièrement à la main (html et css), à rédiger une partie des textes, à créer des schémas explicatifs. Après avoir acheté un nom de domaine, j’ai publié le site sur Internet.

D’autre part, j’ai réalisé le programme sur ma calculatrice de lycée, une Ti-82. Cette calculatrice est très lente, comparée à un ordinateur, et j’ai dû réécrire plusieurs fois le programme pour atteindre une vitesse acceptable.

Pour la présentation, je n’avais que quelques minutes et j’ai dû trouver un moyen simple et rapide d'expliquer le fonctionnement d’Enigma, particulièrement complexe. J'ai pour cela créé mes propres schémas à l'aide du logiciel Photoshop car ceux présents sur Internet ne me convenaient pas. J'ai également cherché des comparaisons avec des objets courants pour assimiler une machine complexe à des objets simples, par exemple, comparer la rotation des rotors à un compteur kilométrique.

Bilan

Ce TPE m'a permis d’apprendre le fonctionnement de la machine Enigma dans ses moindres détails, et son rôle important dans l'Histoire, puisqu'elle a d’abord contribué à la puissance du Reich, avant que la croyance dans sa suprématie ne participe à la chute d'Hitler et du nazisme.

J'ai également appris à travailler sur un objectif précis et à plusieurs. Au moment de choisir la problématique, nous avons eu des difficultés pour bien cerner le sujet. Il a fallu composer, choisir un champ, restreindre les sujets alors que beaucoup de thèmes me passionnent, et finalement tenir un délai.

J'ai beaucoup aimé faire ce TPE, notamment en raison de tout ce qu'il m'a appris. Mais l'aventure ne s'arrête pas là ! Je compte en effet continuer ce projet, l'améliorer, et pourquoi pas l'étendre à d'autres systèmes de cryptographie, ou encore programmer un Colossus, afin de "casser" le code des messages chiffrés avec mon Enigma virtuelle !

Fiche de synthèse de Benoît

Pourquoi ce binôme ?

Depuis que je connais Maximilien, nous nous entendons très bien, car nous avons le même genre de centres d'intérêt, en effet, nous nous intéressons beaucoup aux technologies, à l'informatique poussée (la programmation, les sites internet), et aux mécanismes en tous genres.

C'est pourquoi, lorsque l'on nous à énoncé les thèmes de TPE, j'ai tout de suite pensé à me mettre avec Maximilien, car avec nos compétences, nous pouvons faire des choses exceptionnelles si elles sont bien réunies. Notre binôme s'est finalement transformé en trinôme, car en cours d’année nous avons intégré à notre TPE Nicolas

Pourquoi ce thème, ce sujet ?

Nous avons beaucoup débattu sur le sujet, car le sujet "Cryptologie" ne me plaisait pas vraiment au début, mais finalement, le choix d'étudier la machine Enigma et son fonctionnement, m'a plu. Le choix de la réalisation à été difficile à trouver, nous changions toujours de projets : au début, nous voulions faire une petite machine énigma, qui fonctionne réellement, ensuite, nous somme partis sur la possibilité de la faire en Lego, sur un logiciel de CAO (Conception Assisté par Ordinateur) ce qui nous permettait de l'acheter en ligne ensuite pour le TPE, enfin, nous somme arrivés à une réalisation qui était à notre niveau, et qui mélangeait nos savoir-faire respectifs : la programmation (pour moi) et la création de site internet (pour Maximilien).

Présentation de la démarche

Pour le fonctionnement du mécanisme de la machine, Maximilien a acheté un livre sur l'histoire de la cryptologie, qui étudie aussi le fonctionnement de la machine Enigma.

La compréhension acquise, nous nous sommes concentrés sur la réalisation. Ayant déjà fait un peu de programmation sur ordinateur en seconde, je m'étais dit que je pourrais faire quelque chose d'exceptionnel, mais c'était sans compter toutes les notions du C++ que je ne maitrisais pas assez. Je me suis donc finalement tourné vers un programme plus simple, en C, dans la console, mais qui m'a tout de même occupé pendant plus de deux semaines.

En effet j'ai été confronté à de nombreux problèmes de codages, des choses que je ne connaissais pas, des bugs du programme, qui était censé fonctionner. Un des principaux obstacles à été la manière de sauvegarder les rotors de la machine dans la mémoire. Nous avons explorés et inventés de nombreux moyens, jusqu'à trouver celui qui était le plus simple à mettre en place et à gérer.

J'ai ainsi appris de nombreuses notions, et méthodes du langage. Pendant ce temps, Maximilien a fait aussi une simulation de la Machine Enigma sur la calculatrice que nous utilisons en mathématiques, dans le langage TI-BASIC. Ce programme ayant été assez rapide à mettre en place, il a voulu faire une réalisation de plus, dans laquelle il pouvait beaucoup s'investir : un site internet. Il à donc codé un site internet en HTML et CSS.

Nicolas, que nous avons integré à notre TPE, s'est concentré sur la crytanalyse d'Enigma ainsi que sont utilisations par l'armée. Il s'est basé sur le livre 'Histoire des codes secrets', de Maximilien.

Bilan personnel

Ce TPE m'a fait comprendre de nombreuses choses, notamment que pour faire de belles réalisations, il faut savoir commencer par un petit projet, simple, mais qui, en l'améliorant, peut devenir un vrai projet fini.

Les réalisations ont été effectuées ensemble, ce qui fait que j'ai appris beaucoup de chose, notamment comment faire un site internet, avec une mise en forme par CSS. De même, Maximilien a appris des méthodes de codage, la synthaxe de la programmation en C, mais aussi comment mettre un site personnel sur internet.

Cette expérience est très interessante, car m'a permis de travailler avec Maximilien sur des sujets qui nous passionnent.

Cela m'a permis de terminer un projet dans un temps imparti, et de bien me rendre compte du temps qu'il reste par rapport à ce qu'il faut encore faire.

J'ai par ailleurs, comme Maximilien, été très satisfait du résultat. Ce type de travail m'a beaucoup plu, car nous avons pu mettre en pratique tout ce que nous avions appris, toutes nos compétences informatiques respectives.

Fiche de synthèse de Nicolas

Notre TPE

Nous avons choisi ce sujet parce qu’il est intéressant complexe et offre plusieurs sujet de réflexion tel la cryptanalyse

Notre production consiste en une simulation de Enigma sur ordinateur et sur Ti avec les 6 premières lettre de l’ alphabet ( a b c d e f )

Le fond du TPE, la machine Enigma, est aussi bien que la forme, le travail de groupe. L’ambiance entre nous est agréable est porteuse . je m’ entend très bien avec Maximilien et Benoît. Je suis presque surpris d’ une si bonne complicité.

Nous avons principalement travaillé en classe, où j’ ai pu remarqué l’habilité de mes camarades avec l’informatique. Ils ont travaillé sur le codage, et moi sur la place de la machine pendant la guerre, et son utilisation massive par l’Allemagne.

J’ai beaucoup aimé me documenter sur cette face cachée des guerres qu’est les messages secrets. J’ ai appris comment en persévérant, les officiers polonais ont peu à peu compris les messages allemands.

Pour moi cette machine est passionnante parce qu’elle est à la fois simple et ingénieuse, et complexe et puissante.

Bilan

Le TPE est une expérience des meilleures, un des plus intelligents «jeu» de recherche, d’ analyse de donnés, de conception de programme, ...

Quand les groupes sont bien choisi, le travail, et l’ ambiance sont plus agréables...