Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 15-04-2021 08:15:49

aymeric
Invité

crack cryptage homophonique

Bonjour, je viens vers vous car je dois réaliser un algorithme de crack d'un cryptage homophonique.
Je recherche des idées afin de casser ce code sachant que ce n'est pas à un humain de déchiffrer un texte mais bien un ordinateur.

Pour ce faire j'ai déjà effectué une analyse de tous les duos du texte. Puis par expérience personnelle, j'ai déterminé que le duo le plus fréquent dans ce mode de cryptage est "QU" j'ai alors mis en mémoire le nombre associé à "q" puis le nombre associé à "U".

Ensuite j'ai indiqué à la machine de mettre un "U" derrière chaque Q trouvé et de mettre en mémoire le nombre remplacé.

Puis grâce au "U" je peux déterminer certains nombres associés au "N" et au "E" grâce aux mots courants "un \ une"

Malheureusement ici s'arrête mon périple (beaucoup trop tôt). J'aimerais savoir s'il vous vient à l'esprit des idées que je pourrai mettre en pratique. Sachant que je préfèrerai essayer d'éviter d'avoir à utiliser les apostrophes, les accents, ainsi que les ç

merci pour votre aide ^^

Ps: voici les données prises en compte pour décoder mon texte ainsi que la clé de cryptage à obtenir (c'est toujours bien de voir si les résultats concordent ou non ^^)

« 97435922 0332123666, 55'212898 79981724 à 919436019786 3921 768960606516 », 57'66079105837435477844 3121 4605839866 91871340 à 16429605613021 021846965349 9623 764267 037820794534 257209à. 91518005 69'3331677766 2020, 91269716 2521 1 300 48621729080895703116, 03216489812149 7893 1567089619432135 424434 655272 267281653163776574, 63944752 7326516163 60786108 91199335 5813'6531 2019. 6377694245 57'3228087055128943959444 252435 205068177740 3979 605948675572, 8138430177 17798226932524165521118138 026628 109542199723552916 6721 59869126791686445218 463316 1344 184668911466449420661121, 697928 101251577731818335 35946727 9064 143396162824 817867630184675221 028846751549 465713496822133649 326764666649, 03922092 0895 877974 027230311588596608 2080239581539150878649 1827 41'9260608301 « 8251456012238303242301 » 786434 4680 5062623084103817 1999 289543754834154267. 9996 4966310443, 822274 8214536060053874 3118 7475369105211145724401 91698535 813317 6922 0896097734 71 99 389890 « 39383151648122 à 0394135727 5922912612163835 », 1750914666698729 6966 2872674827908017 6930 3918 19'89262529551486, 20999814128396 25502644899339. 8772 3926892038 2597 5748 03705901 2518 09799967-03482714957980 034781149257, 2048530592 2518 1948 82942003964492 3972 359562447749, 9023 9157796867 55429617 0279 57'864324 2019 9910336827 81516416153997303276192903723173 830393 5789 1448133424 484028180376193866. 198628 637245509818853628 33103212382398 3319423074 8704315588 754492 554245498087439973534245 487546172235 256528 033215262963 3983 603033645579 588515 84 82422302854743 à 6094300385192136 393828 460570917835537347514449 46421336 056545609426552436 69'4885737059953497 0229 813816 18199674 875181338507 8447447447 587524 69909617 46429310781505 0224 464269958292 (41685983 958195). 029774 915942917016689895422363 5813'475749 48103212906498 269247437717387740 41'294386 39653045471859 8644 267955699903336434 234234322003902343 4148 20126377 2467 9141485522 4893 641210978493 3921 811404588097 46598360865501753638 39'8044 39611646514047016860 25'5082814203919962452220772301 497135522920895253588572 398628 039953176535 8962591808088308. 8441783028 462692165325921152 2597 4184 82510320474928954231 398628 87945308, 4614535795914622 769935 3310481201 836250692120926727 12234322369118876979 8722 91308303129230 2015445340015992 9244 9942û52 2020 1849981203843198 5813'« 99284980368817 41'9405023072 0592468576195382991511 » 91894035321598 « 25'3376423625 919917 6921 059223607805826603976743 399216 030447058340 ». 964479 4032235527539464 468845896979 0980622972 73057891 603247764192 3293 6322455052 911765740897 915026 572463 18199608 879482898007, 87'6607655580276860 99 8795103638 966497 9126380395923065 36929151114065 2411 289091279020763083 2020. « 6169 71 50 2175 806790 55950555134148680518 3993 6233172566 399228 088122327507 488007 91057082753622133040 29079187615813332327 5885'956928 2566108453796727 262489626117 à 27429363 698828 259046ô9835 0286 46570415234383 8469940574 5885'5167 74336834 5813'2423982629 2019 8334 2020 4918966972 936438 91415068445277 498559 82954458 50 897670759812 à 936438 6350675543534223 919267505724 », 5989919138196997 5748 356645480117618192 818844270553493479, 60179931ç42531621 6284739087.5586435218 82155955931933953638 029710995373 462205201834980529 25'5323604112622159 257940 918368649740 3938 01303210501587 25'47235277261827 62226479368487 (521562) 849307 99800177853016 0286 109594198364556540 2227 027240 916612311808 « 02'534573290539618152957011 0266 46485989î985921 4275 2522 087909788559 » 168505 1997 27832617473451610521 0286 5789 55422003856783 91947526 412208 911830287011679035 9971991127 04620521284990 028316 21199363. 46427530 877228 6048129816 46879316 623689109063, 72691918 36725594030384230283 8748 5594039148177501124231 122020772553895229. 4190 6248262577 396508 285538509307 773173224525331527 886284577920211198 581372 412449 65199674 1012812768037235 7692458360958115971173 39'8045 « 48558285774769 919205745167234887474092 » 1834 747868906752 « 16714943380399736858757720924401 6831607036038649 3921 6033ç9431 912436


a 89 99 33 84 32 04 50 48
b 76
c 55 81 82
d 25 39 02
e 22 86 65 83 72 38 21 66 77 90 24 18 88 92 79 97 29
f 60
g 62
h 14
i 15 61 95 68 47 12 53
j 09
k 54
l 69 41 57 87 19
m 20 03
n 64 31 67 23 11 45 44
o 78 70 42 51 94
p 91 46
q 58
r 17 59 30 36 26 05
s 08 35 49 28 63 40 16 74
t 43 73 27 98 34 01 52
u 96 93 75 80 85 13
v 10
w 56
x 07
y 71
z 06

Voici l'état de mon avancement :
a -1 -1 -1 -1 -1 -1 -1 -1
b -1
c -1 -1 -1
d -1 -1 -1
e 92 90 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
f -1
g -1
h -1
i -1 -1 -1 -1 -1 -1 -1
j -1
k -1
l -1 -1 -1 -1 -1
m -1 -1
n 44 67 45 -1 -1 -1 -1
o -1 -1 -1 -1 -1
p -1 -1
q 58
r -1 -1 -1 -1 -1 -1
s -1 -1 -1 -1 -1 -1 -1 -1
t -1 -1 -1 -1 -1 -1 -1
u 13 85 75 80  5 -1
v -1
w -1
x -1
y -1
z -1

#2 16-04-2021 17:18:23

Rossignol
Membre
Inscription : 19-06-2015
Messages : 290

Re : crack cryptage homophonique

Bonjour aymeric,

Les chiffres homophoniques sont étudiés depuis longtemps, car beaucoup de textes anciens sont chiffrés suivant cette méthode.
Quelques papiers qui peuvent donner des idées (liste non exhaustive) :

Efficient Cryptanalysis of Homophonic Substitution Ciphers

Cryptanalysis of Homophonic Substitution Cipher Using Hidden Markov Models

Bayesian Inference for Zodiac and Other Homophonic Ciphers

The Copiale Cipher

Dans le problème que vous vous posez, si vous connaissez le nombre d'homophones de chaque lettre, la solution se trouve facilement par hill climbing avec une bonne fonction de score. Mais dans la pratique, on ne connait pas la répartition des homophones et il faut tester de petites variations d'une répartition moyenne : ça prend du temps même en utilisant des calculs en parallèle.

@+

Hors ligne

#3 11-11-2022 10:49:09

Jericho
Membre
Inscription : 08-09-2021
Messages : 27

Re : crack cryptage homophonique

Dans la continuité de mes recherches sur les substitutions homophoniques, je suis tombé sur ce fil. Pour tester, j'ai cherché le clair sans utiliser la table d'encodage donnée.

Après analyse et attaque semi-automatique, j'ai pu constater la difficulté accrue de par la présence des lettres particulières : à, ç, û, î, ô, etc... (au départ on ne sait pas quel code leur attribuer !). Ce n'est qu'après avoir des portions de clair contenant les lettres majuscules correspondantes et donc leur code qu'on peut les gérer. Difficulté supplémentaire : présence de nombres (2020-2019 et 1300). La ponctuation n'est pas un problème, puisqu'on peut la supprimer dès le départ.

J'ai trouvé le clair, mais non sans mal.

Dernière modification par Jericho (11-11-2022 14:56:20)

Hors ligne

#4 14-11-2022 10:52:24

Rossignol
Membre
Inscription : 19-06-2015
Messages : 290

Re : crack cryptage homophonique

Bravo Jericho.
Quelle méthode as-tu utilisée ?
Pourquoi as-tu effacé la solution que tu avais donnée dans des balises spoiler au début ?

@+

Hors ligne

#5 14-11-2022 14:47:19

Jericho
Membre
Inscription : 08-09-2021
Messages : 27

Re : crack cryptage homophonique

En fait, cela n'avait aucun intérêt de mettre le message clair, puisque la table d'encodage avait été donnée tout le monde peut le retrouver.... (et ça je ne l'avais même pas remarqué au départ car je m'étais jeté directement sur le crypto sans lire la suite !)

Texte caché

Ma méthode :

1. J'avais d'abord "nettoyé" le message : ponctuation enlevée, tout en majuscules, lettres accentuées supprimées...

2. Ensuite, j'ai utilisé un logiciel qui remplace toutes les lettres d'après une table d'encodage initiale comprenant 99 caractères. Celui-ci fait ensuite une analyse en fonction des pentagrammes de la langue utilisée et propose une substitution homophonique qui comprend des mots clairs d'un dico (Le nombre de mots à trouver et le nombre de lettres des mots sont paramétrables). Mais il faut parfois le relancer plusieurs fois pour trouver une cohérence acceptable dans les propositions.

3. J'ai ensuite repris le crypto du départ, pour remplacer chaque lettre accentuée par un code correspondant à la même, non accentuée (à>A ç>C ô>O etc...) en me basant sur les mots probables retenus. Et j'ai repris au point 2.

3. Une fois sur la bonne piste, j'ai proposé manuellement d'autres substitutions de lettres : le logiciel les remplace dynamiquement dans le crypto ; petit à petit et à force de suppositions et d'essais, on reconstitue le clair et donc la table d'encodage...

4. Pour la remise en forme avec la ponctuation : une simple recherche sur le Net retrouve l'original et explique les petites erreurs dues aux dates en chiffres.

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
cinquante cinq moins vingt neuf
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums