-
Enigma..
Bonjour!!
Voilà, j'ai beau chercher (sur G**gle pour ne pas ne nommer), mais soit je n'ai pas de chance, soit je suis un vrai nigau: je ne trouve pas l'algorithme d'Enigma, cette machinie à (dé)crypter que les Allemands ont inventés pendant la 2nd guerre mondiale..
Quelqu'un aurais-t-il des renseignements sur cet algo?!?
-
Trouver avec les mots-clés: "submarine warfare enigma machine"
http://web.usna.navy.mil/~wdj/sm230_cooper_enigma.html
En anglais bien sur...
Fait la même recherche , il y a visiblement des liens bien meilleurs pour l'algo lui même.
-
Ah.. submarine et warfare, ça, j'y aurais pas pensé.. mais merci.. si j'en trouve un, je le poste ici (pour ceux que cela pourrait intéresser)?
-
Je suis assez branché bataille de l'atlantique :wink:
-
Ah.. voui, je vois.. ben merci..
Pour ceux qui sont branchés, un example en C:
http://tirnanog.ls.fi.upm.es/Servici...sk1/enigma.zip
-
moi j'ai un projet a faire en pascal ... =/
Biensur, le prof nous dit " voila vous devez faire une machine enigma en pascal" Manque de veine, le pascal je l'ai découvert en meme temps que le projet : c'est à dire il y a 2 semaines...
Je suis entrain d'essayer de definir ce qu'il me faudra pour ecrire le programme, en dehors du menu codeur/decodeur/aide et des message de bienvenue/exit :
Joueur codeur ===> encodage
Joueur décodeur ====> décodage
invite de commande pour entrer la position des rouleaux
===> stockage de la position dans un historique (=correspond aux livres de codes de la machine enigma)
fonction encodage:
invite de commande pour entrer le texte à coder
ordre et rythme de décalage des rouleaux en fonction du nombre de caractères tapés
codage de la lettre frappée en fonction de la position des rouleaux et du reflecteur
affichage du texte codé et enregistrement dans un historique 2
fonction décodage
appelle l'historique
affichage historique
invite de commande pour entrer la position des rouleaux
apelle historique2
affichage historique2
invite de commande pour entrer le texte à décoder
ordre et rythme de décalage des rouleaux en fonction du nombre de caractères tapés
décodage de la lettre frappée en fonction de la position des rouleaux et du reflecteur
affichage du texte décodé
Qu'en pensez vous svp?
Merci d'avance
-
Ben je ne connais pas trop l'algorithme des machines Enigma... enfin si je le connais mais pas dans les détails quoi...
Mais si tu veux des conseils pour la prog en Pascal, ou s'il y a des trucs que tu comprends pas... n'hésite pas à me le dire, je serai ravi de t'aider
En plus comme ca je pourrai apprendre le fonctionnement de cette magnifique machine ;-)
@++
-
bien le bonsoir,
je tiens juste à signaler que différentes versions de la machine Enigma ont existé . Certaines possèdent un réflecteur à la sortie du brouilleur et d'autres non. Celles qui possèdent un réflecteur permettent un décodage beaucoup plus facile puisque décodage et codage reviennent à la même opération. Savez vous exactement ce que le prof attend ?
De plus, possédez-vous les plans des rotors d'une machine Enigma ? Il y a 26! possibilité pour chaque rotor donc si vous ne possédez pas de plan [ce qui est fort possible] il faudra avant toute chose créer 3 rotors plausibles, qui fonctionnent. La création peut être aléatoire.
Les rotors peuvent aussi être intervertis selon 6 possibilités, y avaient vous pensé ? [et avec des jeux de 5 rotors comme c'était parfois le cas, il y a 60 possibilités]
Bon, je ne pense pas que le prof souhaite un programme prenant en compte toutes les subtilités de la machine.
-
Neo82 : je suis debutant de debutant...Tout ce que j'ai c'est un aide memoire de pascal...
En tout cas merci de votre aide
khayyam90 :
la machine que je vais "programmer" comprendra 3 rotors et un reflecteur ( jai pas envie de trop me compliquer la vie )
non je ne possède pas les plans, c'est pourquoi je vais devoir creer les 3 rotors ( suite de 26 lettres mises dans un ordre différent )
Je vais continuer d'y réfléchir, merci pour vos proposition!
-
Il n'y a aucun problème à être débutant!!
Au contraire :), c'est une bonne occasion d'apprendre un langage!
SI jamais tu ne sais pas commencer, ou je ne sais trop quoi, n'hésite pas!
-
regarde chez ton marchand de journaux un journal sur le hacking et la securite en parle
-
sinon si ca peu taider voila les
plan
-
Bonjour,
Pour le détail du fonctionnement, y compris l'organisation des rotors, j'ai trouvé
http://www.codesandciphers.org.uk/enigma/index.htm
En anglais, mais assez complet.
-
Neo82 : Je suis curieux de nature, apprendre un language m'interesse, j'essaye de suivre une formation autodictate sur plusieurs domaines ( html / photoshop...).
Ca fait plaisir de voir une entreaide dans un monde de brute...
Ca me fait penser à l'open source ^^
dagoba et thewho : Merci, je vais aller potasser ca. =D
-
de rien .
je sais aussi qu il y a beaucoup d'infos dans des sites universitaires polonais sur le sujet (ceux sont eux qui ont cracké le code enigma )
bon courage A ++
-
Bonjour,
voici les procédures auxquelles j'ai pensé: merci de me dire ce que vous en pensez,
Cordialement
enigma: le programme avec toutes les phases
OPERATIONS
codage : encode le texte
decodage : decode le texte
rotateroue : définit la rotation effectuée par chaque rouleaux
roue: fabrique les roues en prenant en compte les permutations
reflecteur: fabrique le reflecteur
encoderoue: définit l'encodage realisé par chaque roue
positionroue: définit la position de chaque roue avant le codage
histoposition: stocke en memoire la position des rouleaux en fonction de la session
histocode : stocke en memoire le texte décodé ou codé en fonction de la session
histolast: stocke en memoire la dernière session ( texte codé ou décodé + position des rouleaux )
MENUS
menu : donne le choix entre codeur / decodeur /retour
menucodeur : donne le choix entre aide / continuer / retour
menudecodeur : donne le choix entre continuer / aide /retour
AFFICHAGE ECRAN
aide: afffiche une aide comportant aide codeur et décodeur
demandtxtcode : demande le texte a coder
demandtxtdecode : demande le texte a decoder
affichageresultcodeur: affiche le resultat de l'opération codage ( txt à cripter= / txt cripté= )
affichageresultdecodeur: affiche le resultat de l'opération decodage ( txt à decripter= / txt decripté= )
affichagehisto: affiche la procedure "histolast"
INTROS / OUTTROS
intro : message d'intro au programme
outtro : message d'exit du programme
introcodeur : message d'intro pour le mode codeur
outtrocodeur: message d'exit pour le mode codeur
introdecodeur : message d'intro pour le mode decodeur
outtrodecodeur: message d'exit pour le mode decodeur
-
bien le bonjour,
il me semble qu'il y a une certaine redondance dans tes procédures.
Si à une position des rotors donnée le a est chiffré en b, le b aurait été chiffré en a (réflecteur oblige)
donc toutes tes procédures de codage décodage sont en double
-
mmm javais plus pensé au reflecteur...merci de me l'avoir rappellé
-
vive l'estp
tu serai pas a lestp toi par hasard pour faire une machine enigma ??
Jeff