Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 10-08-2021 10:41:45
- orchidée8
- Membre
- Inscription : 09-08-2021
- Messages : 14
message à décoder ADFGVX
Bonjour à toutes et à tous,
J'ai 5 codes utilisant l'ADFGVX. J'ai réussi à en décoder 4 sur 5.
Je sèche sur le suivant : DD GF VF VV VV VF AV XV FV VD FF DV GG DD FA DG
Tableau de Polybe
A D F G V X
A c 1 o f w j
D y m t 5 b 4
F i 7 a 2 8 s
G p 3 0 q h x
V k e u l 6 d
X v r g z n 9
Je ne dispose pas de la seconde clé.
Je n'arrive pas à trouver un message cohérent. Les 4 autres sont très clairs.
Merci d'avance pour votre aide
Cordialement
Dernière modification par orchidée8 (12-08-2021 17:09:06)
Hors ligne
#3 11-08-2021 09:15:27
- gielev
- Membre
- Inscription : 08-03-2007
- Messages : 407
Re : message à décoder ADFGVX
Celui ou celle qui a proposé ce texte chiffré ne s'est même pas donné la peine d'inventer sa propre grille, puisque cette grille est celle que l'on trouve sur le site de crypto de Didier Müller (aka le coyote !)
Tu as 16 digrammes donc 32 caractères...
Donc ta grille fait 4 ou 8 colonnes.
Je penche pour 8.
Il te reste donc à tester les 40320 permutations possibles...
Bonne chance...
Hors ligne
#4 11-08-2021 09:20:36
- orchidée8
- Membre
- Inscription : 09-08-2021
- Messages : 14
Re : message à décoder ADFGVX
Oui effectivement j'ai essayé les 24 possibilités avec une clé de 4 lettres : pas de message clair.
Les 40 320 permutations possibles me font peur. J'ai peur de m'y perdre en les faisant manuellement et comme je suis une bille en informatique... ;)
Merci d'avoir pris le temps de me lire.
Hors ligne
#5 11-08-2021 10:19:29
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : message à décoder ADFGVX
Re,
Si ce n'est qu'une histoire de programmation, le langage Python permet nativement d'obtenir toutes les permutations d'une chaîne...
Il faut permuter quoi ?
Longueur 8 caractères : 8!=40320.
Où les prend-t-on ces 8 caractères ?
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#6 11-08-2021 11:27:20
- gielev
- Membre
- Inscription : 08-03-2007
- Messages : 407
Re : message à décoder ADFGVX
@orchidée8 : l'analyse du crypto montre qu'il contient au moins un chiffre...
@yoshi : on a un crypto écrit sur 8 colonnes.
Ce sont ces 8 colonnes qu'il faut permuter. Puis lire la suite de digrammes, puis à l'aide du carré de Polybe déchiffrer le texte.
Dernière modification par gielev (11-08-2021 11:28:24)
Hors ligne
#7 11-08-2021 11:48:26
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : message à décoder ADFGVX
B'jour,
@gielev
Oui ça j'avais compris...
Le cryto c'est bien ça ?
DD GF VF VV VV VF AV XV FV VD FF DV GG DD FA DG
16 digrammes..
16 = 8*2
Il faut le présenter ainsi ?
1 2 3 4 5 6 7 8
DD GF VF VV VV VF AV XV
FV VD FF DV GG DD FA DG
2 lignes de 8 colonnes, chaque colonne étant un digramme ?
Les colonnes des 2 lignes se permutent en même temps ?
Lire la suite de digrammes et déchiffrer le texte avec la carré de Polybe présenté donc par ex : DD sera remplaçable par m, GF par 2 ?
Je vais retourner voir ce que Bibmath propose sur Polybe...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#8 11-08-2021 12:01:22
- gielev
- Membre
- Inscription : 08-03-2007
- Messages : 407
Re : message à décoder ADFGVX
@Yoshi,
Salut,
alors non, en fait tu as 16 digrammes donc 32 caractères.
Les caractères seront séparés. C'est justement le truc du système ADFGVX de scinder les digrammes.
Donc tu auras 8 colonnes X 4 lignes
Le crypto est écrit verticalement colonne par colonne.
Ici 1ère colonne = DDGF, 2ème colonne = VFVV etc...
Il faut ensuite permuter ces 8 colonnes puis lire le crypto ligne par ligne... 40320 permutations possibles
Par exemple si tu fais la permutation 46518327 tu vas lire AFFDFVVGVFVDAVFG etc...
En séparant ceci en digrammes tu obtiens le clair avec le carré de Polybe, ici cela donnerait 078lue etc...
Pour extraire la solution un calcul d'IC peut s'avérer utile...
Dernière modification par gielev (11-08-2021 12:04:12)
Hors ligne
#12 11-08-2021 19:52:26
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : message à décoder ADFGVX
RE,
Sur un site internet, j'ai trouvé les 40 320 possibilités mais c'est long et fastidieux...
Merci pour votre aide ;)
Traduction : tu as résolu ton problème ou non ?
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#13 11-08-2021 21:04:25
- gielev
- Membre
- Inscription : 08-03-2007
- Messages : 407
Re : message à décoder ADFGVX
De mon côté j'ai avancé un peu.
J'ai écrit des procédures sous VBA...
J'ai donc la procédure qui m'a donné les 40320 permutations (à partir d'un truc écrit avec Python trouvé sur le net)
Puis pour chaque permutation j'ai la procédure qui effectue la permutation des colonnes.
Puis la procédure qui lit le texte chiffré obtenu.
Puis la procédure qui décrypte ce texte.
J'ai lancé le truc sur 10 permutations pour voir si cela marche, puis sur les 40320.... j'ai arrêté le truc pour ce soir. Je verrai ça demain.
Et puis après il faudra lire les 40320 résultats... pour voir si on y trouve un truc compréhensible. (L'IC ne marchera pas car texte trop court et chiffres dedans)
Hors ligne
#16 12-08-2021 11:09:56
- gielev
- Membre
- Inscription : 08-03-2007
- Messages : 407
Re : message à décoder ADFGVX
Bravo Rossignol !
Je confirme !
Entre-temps j 'ai testé par force brute les 40320 combinaisons et la permutation 31562847 donne bien quelque chose de clair : eaufeuilleerable
Et là je me rends compte que je pouvais avoir le résultat plus tôt et sans attaque par force brute.
Je livre la méthode pour Yoshi et Rossignol.
J'avais fait l'hypothèse que le clair ne contient pas de chiffres.
J'ai donc fait des petit bouts de papier avec les 8 colonnes (méthode crayon papier chère au regretté Nérosson !).
Le résultat était alors le suivant.
1 ne pouvait être suivi que de 3
2 ne pouvait être suivi que de 8 et précédé par aucun chiffre donc paire 28 obligatoire
3 ne pouvait être suivi que de 1
4 pouvait être suivi de 7 ou 8 mais 8 déjà pris par 2 donc seul 7 pouvait convenir
4 pouvait être précédé par 8 mais 8 déjà pris par 2 donc paire 47 obligatoire
5 ne pouvait être suivi que de 6 et précédé par aucun autre chiffre donc paire 56 obligatoire.
6 ne pouvait être suivi que de 8 déjà pris par 2 et de toute façon 6 est pris par 5
7 ne pouvait être suivi que de 3 déjà occupé par 1
8 ne pouvait être suivi que de 4 ou 6 mais 8 déjà pris par 2
On avait donc à tester les paires 31 ou 13, 28 ,47, 56
Il suffisait alors de combiner un peu ces 4 (5) paires de chiffres ce qui fait peu de chose...
Une erreur d'interprétation sur le 7 m'a fait écrire une bêtise, à savoir que le clair devait contenir un chiffre, ce qui est faux.
Dernière modification par gielev (12-08-2021 11:26:44)
Hors ligne
#18 12-08-2021 16:42:31
- Rossignol
- Membre
- Inscription : 19-06-2015
- Messages : 290
Re : message à décoder ADFGVX
@gielev
Très astucieuse ta méthode papier crayon : c'est de la cryptographie à l'ancienne. Chapeau !
Je ne suis pas très doué pour ces méthodes; je suis plutôt "algorithmique" :-)
J'ai fait une attaque au dictionnaire sans me limiter aux mots de longueur 8.
Je suis surpris que Didier Müller dans sa page sur ADFGVX indique qu'il faut compléter la grille de transposition avec des nuls pour obtenir un rectangle complet.
Ce n'est pas le cas comme on peut le voir dans les documents suivants :
German Military Ciphers From February To November 1918
General Solution For The Adfgvx Cipher System
Cryptanalysis of Classical Ciphers (George Lasry) (étude de cas 6)
Si on sait que le tableau de transposition est complet, la longueur de la clé de transposition est un diviseur de la longueur du crypto : ça limite le nombre de cas à chercher ! Trop facile :-))
@+
Hors ligne
#19 12-08-2021 16:49:43
- orchidée8
- Membre
- Inscription : 09-08-2021
- Messages : 14
Re : message à décoder ADFGVX
encore merci pour la clé!!!
Si ça vous tente il me reste un code dont je ne parviens même pas à savoir s'il s'agit d'un ADFGVX ou autre (cf à mon autre publication dans le forum cryptographie).
FAVSXFXRFFVAVSGFXOVCDNGSVNVCF
IDOACFSVAVRASDSXAAAVCDIGCXFVCA
CGAGFGRACFCVFFOAIACVSVNARFFVSA
OVSXIDR
Hors ligne
#20 14-08-2021 18:15:59
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : message à décoder ADFGVX
Bonsoir,
Avec la connaissance de la bonne permutation, je suis allé chercher son index dans la liste des permutations...
Ainsi je limite ma boucle finale au seul n° d'index qui m'intéresse : je peux ainsi vérifier que si j'avais réellement commencé ma boucle à la première permutation, arrivè à l'index 10372 (sur les 40320), j'aurais bien trouvé le message clair, donc que mon programme est valide...
Pour le code source et la sortie sur l'IDLE Python, cf sous-forum Programmation:
https://www.bibmath.net/forums/viewtopi … 965#p94965
@+
Dernière modification par yoshi (16-08-2021 15:32:34)
Arx Tarpeia Capitoli proxima...
Hors ligne
#21 14-08-2021 22:26:33
- Maximilien
- Membre
- Inscription : 29-11-2018
- Messages : 2
Re : message à décoder ADFGVX
@Rossignol
En effet, on n'est pas obligé de remplir complètement les colonnes de la grille. Je vais corriger la page ADFGVX prochainement.
Le coyote
Hors ligne
#22 16-08-2021 09:47:21
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : message à décoder ADFGVX
Bonjour,
Quelques modifications.
Sachant que le message clair ne contenait aucun chiffre, en cas de recherche en "force brute" par tranches, en cours d'analyse, je passe (ou fait l'impasse) sur tout message ne contenant pas 16 lettres.
Je ne soumets donc à l'appréciation de l'utilisateur (c'est bien moins fastidieux et plus rapide) que les messages ne contenant aucun chiffre...
Source et sorties sur l'DLE Python déplacés dans le sous-forum Programmation dans un souci de cohérence :
https://www.bibmath.net/forums/viewtopi … 965#p94965
@+
Dernière modification par yoshi (16-08-2021 15:35:44)
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1