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

#2 Re : Cryptographie » La cryptographie moderne est trop ! » 30-06-2020 18:41:40

Le problème vient du fait que le module $P$ est trop petit.
La racine carrée $Y$ est "rabotée" modulo $P$ et au bout du compte tu ne peux pas retomber sur $6501$ qui est plus grand que $P = 751$.
Comme je le disais dans mon message précédent, il faut $P>12799$ si on veut des messages entre $0$ et $127$.

Python peut calculer sans problème avec des entiers de taille quelconque (dans la limite de la mémoire disponible).

Tu utilises l'algorithme d'Euclide étendu (Bézout) pour calculer l'inverse modulo $P$. Tu peux plus simplement utiliser une puissance modulaire : $n^{-1}\equiv n^{P-2} \pmod{P}$ si $n$ est premier avec $P$, d'après le petit théorème de Fermat.

@+

#3 Re : Cryptographie » La cryptographie moderne est trop ! » 21-06-2020 18:57:07

Bonjour gilles06270,

Dans le chiffrement de Massey-Omura la méthode qui permet d'associer à un message (un entier) un point de la courbe elliptique est cruciale. La méthode généralement utilisée est de compléter le nombre-message avec deux chiffres. Par exemple si le message est le caractère A de code ASCII 65, on cherche s'il existe un point de la courbe d'abscisse 6500, ou bien 6501, ou bien 6502 ...etc. On prend le premier qui marche.

for J in range(D):
    if enc: # Encode
        X = D*int(dm) + J  # pas de modulo P
        Y2 = self.curve_result(curve, X)
        ...

On peut simplifier en prenant D = 10. On a une chance sur deux de tomber sur un résidu quadratique. Si les dix essais échouent, c’est vraiment pas de bol !

Attention, pas de modulo P pour le calcul de X sinon ce n'est pas bijectif. Le plus grand code ASCII étant 127, il faut donc $P>12799$.

Pour retrouver le message à partir du point, il suffit de faire la division entière de l'abscisse du point par D.

@+

#4 Re : Cryptographie » Décryptage d'un message » 21-06-2020 15:30:13

Bonjour Gilles06270,

,'à}0¥ Ꮝ¥2ス¥于 ÿ~¥ 㒴à 㒴~2¥ ¥ス分 㒴ò 0㒿0¥ ス} í¥ 2¥ 㒴à 于¥因à于ú¥ Ꮝàスì
J'aime penser   que la  lune  est là  même  si je ne la  regarde   pas.

@+

#5 Re : Cryptographie » Décryptage d'un message » 15-06-2020 19:37:29

Bonsoir,

Le mieux que j'ai obtenu :

/9;!974
BONJOUR
 
(1(1(1 €3 « 18# 7; *3##1€3 +9&33
HAHAHA GE J AIS UN MESSAGE CODEE
 
437##8 1 &3+9&34 ?
REUSSI A DECODER ?
 
*1-3 »8@73 17€7#58;
MA-E »IQUE AUGUSTIN
 
/8#97#
BISOUS
 
!’3#0343 @73 57 5’1*7#341#
J’ESPERE QUE TU T’AMUSERAS

@+

#6 Re : Cryptographie » Enigma. Il y a du nouveau » 04-06-2020 17:06:18

Pour une analyse des documents des archives françaises cités dans la vidéo, lire l'article de Jean-François Bouchaudy paru dans Cryptologia (accès libre) : Enigma: the spoils of Gustave Bertrand, or “par où tout a commencé”

@+

#7 Cryptographie » Sur Auguste Kerckhoffs » 02-06-2020 18:04:41

Rossignol
Réponses : 1

Bonjour à tous,

Un article très fouillé sur un homme à principes :  Auguste Kerckhoffs.

(article en anglais écrit par des Français).

@+

#8 Re : Cryptographie » a » 04-05-2020 10:00:19

Bonjour Arthur49,

Quel est le contexte ? Qu'est qu'on cherche ?

Si on cherche un mot de 8 lettres, si les chiffres sont des lettres inconnues, si les lettres déjà présentes ont leur valeur réelle, si le mot est un mot commun ... on a 17 "solutions" :

6459A42E
INSTANTE
RUSTAUDE
EPITAPHE
LINEAIRE
ENGRANGE
BIENAIME
BILIAIRE
INCHANGE
MIGRAINE
ENGEANCE
SURSAUTE
ENCHANTE
PREPAREE
GUIMAUVE
ENTRANTE
INSTANCE
LIBRAIRE

Mais ça fait beaucoup de si !

@+

#9 Re : Cryptographie » Enigme complexe pour ma petite tête ! » 02-05-2020 17:02:56

Bonjour Anger,

J'ai utilisé un programme Python. Voir ma page Décrypter une substitution monalphabétique.

Mathématiquement, il s'agit d'un problème d'optimisation.

On peut aussi le faire à l'ancienne. La lettre la plus fréquente est B : on peut supposer B = e

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
._e.._.._..e.._.e_.._.e..e.e_.._.. e.._......e.....e

On a deux fois un mot de trois lettres (BCD) commençant par e. On peut supposer BCD = est.
C'est le plus probable (les autres sont 'epi', 'ego', 'elu', 'eut', 'eux', 'eus', 'emu', 'ecu', 'eau', 'env', 'etc', 'erg').

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
._est_.._..e.._.e_.._te..ete_.._.. est_....s.e.....e

On voit apparaître un mot de 7 lettres : 'te..ete'. La seule possibilité est 'tempete'.

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
._est_.._..e.._.e_.._tempete_.._.. est_....spe.....e
 

On devine JE = la (tempete) :

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
._est_.._..e.._.e_la_tempete_.._.l est_....spe....le

Maintenant on voit que NJ = il

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
._est_.._..e.._.e_la_tempete_.._il est_i..ispe....le

et ainsi de suite. Un bon cruciverbiste résout le problème en quelques minutes !

Prévoir une grosse gomme quand même :-)

@+

#10 Re : Cryptographie » Enigme complexe pour ma petite tête ! » 02-05-2020 10:42:56

Bonjour fortinalexis,

Il semble évident que les traits de soulignement séparent les mots et que les points séparent les codes de chaque lettre.

Une translittération permet une résolution facile :

A_BCD_EF_AGBFH_IB_JE_DBKLBDB_MF_NJ_BCD_NOINCLBOHEPJB
c est au coeur de la tempete qu il est indispenrable

Il y a une erreur de chiffrement à la fin, le 36 (r) doit être un 39 (s).

@+

#11 Re : Cryptographie » Décrypter un Code / Voici une énigme à résoudre » 21-04-2020 12:00:28

Bonjour Jocelyne,

En décomposant les nombres donnés en facteurs premiers on devine le codage.

Chaque lettre de l'alphabet est associée à un nombre premier :

A : 2
B : 3
C : 5
D : 7
E : 11
F : 13
G : 17
H : 19
I : 23
J : 29
K : 31
L : 37
M : 41
N : 43
O : 47
P : 53
Q : 59
R : 61
S : 67
T : 71
U : 73
V : 79
W : 83
X : 89
Y : 97
Z : 101

et pour un mot on fait le produit des nombres associés à chaque lettre du mot :

DIEU : $7\times 23\times 11\times 73 = 129283$ 
ALLAH : $2\times 37\times 37\times 2\times 19 = 104044$ 
VIE : $79\times 23\times 11 = 19987$ 
ARBRE : $2\times 61\times 3\times 61\times 11 = 245586$

Comme $8506389 = 3\times 23\times 43\times 47\times 61$, le mot cherché est une anagramme de BINOR, sans doute ROBIN

@+

#12 Re : Cryptographie » Aide pour chiffrage avec des nombres » 19-04-2020 15:03:43

Bonjour Yoshi,

J'aurais dû commencer mon post par IMHO [ In My Humble Opinion ] !

yoshi a écrit :

La procédure que j'ai décrite fonctionne.

Je n'ai jamais dit le contraire. Tu décris très bien la procédure standard avec force détails. Et heureusement, car ce n'est pas évident pour un débutant (quel fichier choisir ?)

Pour un utilisateur $\lambda$ de Windows, la console et la ligne de commande ne sont pas naturelles. Ça lui pose déjà un problème. Ce que veut un utilisateur de Windows, c'est un cliquodrome !

C'est pourquoi je conseille la distribution Python Anaconda. Elle contient déjà les modules scientifiques préinstallés.
Et dans le menu démarrer, on a le programme Navigator ! Super cliquodrome :-)
On peut installer et mettre à jour les modules juste avec des clics de souris : le rêve des Windowsiens :-)). 

De même, je conseille à un débutant de commencer à programmer dans un Jupiter notebook et non pas avec un éditeur+console ou un environnement intégré (à réserver pour les gros programmes).

Évidemment, il ne s'agit que de mon opinion et on a le droit de n'être pas d'accord avec.

@+

#13 Re : Cryptographie » Aide pour chiffrage avec des nombres » 18-04-2020 11:55:27

Bonjour à tous,

Je découvre qu'il y a des problèmes d'installation de modules Python !

Personnellement, je n'ai jamais eu ces problèmes. J'utilise la distribution Anaconda qui comprend de nombreux modules utiles aux scientifiques (Numpy, SciPy, ...etc). Pillow est installé par défaut.

Les modules scientifiques sont difficiles à installer, car ils sont liés à des bibliothèques écrites en langage C, C++, Fortran...etc. Avec les programmes Conda et Anaconda Navigator inclus, on peut installer facilement ces modules précompilés (même le célèbre module tensorflow en version basique ou gpu pour faire du machine learning).

Jupiter Notebook est installé par défaut. C'est pour moi l'application qui tue :-) Je suis passé de Perl à Python à cause de ça. On peut écrire du texte, des maths avec TeX et du code Python sur la même feuille. On se rapproche de la "programmation littéraire" de D. Knuth. On peut ensuite traduire la feuille en pdf ou en html.

HTH

@+

#14 Re : Cryptographie » Besoin d'aide pour image cryptée » 05-04-2020 10:23:50

Bonjour Crypto,

Dans le fil précédent, LeSingeMalicieux a donné l'alphabet utilisé :

00000 : _ (espace)
00001 : E
00010 : D
00011 : I
00100 : C
00101 : L
00110 : H
00111 : V
01000 : B
01001 : N
01010 : K
01011 : U
01100 : G
01101 : T
01110 : S
10000 : A
10001 : O
10010 : M
10100 : J
10101 : W
10110 : R
11000 : F
11010 : Q
11011 : Z
11100 : P
11101 : Y
11110 : X

On obtient :

10110 00001 10100 10001 00011 01100 01001 00001 11011 00000
  R     E     J     O     I     G     N     E     Z     _  
10010 10001 00011 00000 00010 10000 01001 01110 00000 00101
  M     O     I     _     D     A     N     S     _     L  
00001 01110 00000 00100 00011 00001 01011 10101 00000 00111
  E     S     _     C     I     E     U     W     _     V  
00011 10000 00000 00101 00001 00000 01110 11100 00001 00100
  I     A     _     L     E     _     S     P     E     C  
01101 10110 00001 00000 00010 10001 10110 00001 00000 00001
  T     R     E     _     D     O     R     E     _     E  
01101 00000 00010 00011 01101 00001 01110 00000 10010 10001
  T     _     D     I     T     E     S     _     M     O  
00011 00000 00011 01001 00010 00011 00100 00001 00000 00100
  I     _     I     N     D     I     C     E     _     C  
00001 01001 01101 01110 00000 10010 00011 00101 00101 00011
  E     N     T     S     _     M     I     L     L     I  
10001 01001 00000 01010 10000 10010 10000 01110
  O     N     _     K     A     M     A     S  

Il y a un problème entre W et X : erreur de chiffrement ?

@+

#15 Re : Cryptographie » Aide pour décrypter un message » 04-04-2020 11:14:15

Bonjour nafas,

C'est un chiffrement de Vigenère. La clé est un peu longue pour un message aussi court !

Je vous donne le début :

Clé :    ZY XW VUTSR QPONML ...
crypto : IC KA KYKVJ ZPANUD ...
clair :  JE NE PERDS JAMAIS ...

Vous voyez la clé ?

@+

#17 Re : Cryptographie » Décrypter du grec » 28-03-2020 13:03:35

Bonjour Noopy,

Voilà un cryptogramme original, un peu court toutefois !

On peut essayer les décalages de lettres de l'alphabet grec (ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ) comme pour le chiffre de César.

J'ai écrit un petit bout de code Python pour déterminer les 24 déchiffrements possibles.

Comme pour moi, le grec c'est du chinois (et réciproquement), j'ai passé la liste à Google Trad qui m'a fourni la liste suivante :

 0  ΣΗΑ-ΨΙΡΙΘΣ  DRAPEAUX-ZIRITS
 1  ΤΘΒ-ΩΚΣΚΙΤ  TTB-OKSKIT    
 2  ΥΙΓ-ΑΛΤΛΚΥ  YIG-ALTLKY    
 3  ΦΚΔ-ΒΜΥΜΛΦ  FKM-BMMLF      
 4  ΧΛΕ-ΓΝΦΝΜΧ  HLE-WNMX      
 5  ΨΜΖ-ΔΞΧΞΝΨ  HMZ-EXCHANGE  
 6  ΩΝΗ-ΕΟΨΟΞΩ  ONY-EOXOXO    
 7  ΑΞΘ-ΖΠΩΠΟΑ  ATHÈNES-ZAPOA  
 8  ΒΟΙ-ΗΡΑΡΠΒ  BIO-HERAPPB    
 9  ΓΠΚ-ΘΣΒΣΡΓ  GKS-TSVSG      
10  ΔΡΛ-ΙΤΓΤΣΔ  Drs            
11  ΕΣΜ-ΚΥΔΥΤΕ  IMP-DID        
12  ΖΤΝ-ΛΦΕΦΥΖ  ZTN-LIEFYZ    
13  ΗΥΞ-ΜΧΖΧΦΗ  HUX-MAZHFI    
14  ΘΦΟ-ΝΨΗΨΧΘ  THO-NICHIPH    
15  ΙΧΠ-ΞΩΘΩΨΙ  Puissance      <-- ???
16  ΚΨΡ-ΟΑΙΑΩΚ  KIR-OAIAK      
17  ΛΩΣ-ΠΒΚΒΑΛ  LOS-PBKVAL    
18  ΜΑΤ-ΡΓΛΓΒΜ  MAT-Pro        
19  ΝΒΥ-ΣΔΜΔΓΝ  NBY-SDSM      
20  ΞΓΦ-ΤΕΝΕΔΞ  CFP-TENEDX    
21  ΟΔΧ-ΥΖΞΖΕΟ  OXX-YZZEO      
22  ΠΕΨ-ΦΗΟΗΖΠ  PEF-FZZZP      
23  ΡΖΩ-ΧΘΠΘΗΡ  RZO-CHPTHIR    

Apparemment, une seule traduction fait sens. Mais bon, c'est Google qui le dit, pas moi :-)

@+

#18 Cryptographie » RSA-250 factorisé » 13-03-2020 19:13:09

Rossignol
Réponses : 0

Bonjour à tous,

La même équipe qui avait factorisé le nombre RSA-240 au mois de décembre dernier vient de factoriser RSA-250 (250 chiffres décimaux, 829 bits).

Le logiciel utilisé est téléchargeable ici : CADO-NFS.

@+

#20 Re : Cryptographie » Le chiffre de Grandpré » 14-02-2020 19:47:43

Bonsoir LeSingeMalicieux

Tu as raison, j'ai fait une erreur dans la numérotation des lignes.

J'ai écrit un bout de code pour éviter les erreurs de chiffrement : j'ai bien traité les numéros de colonnes, mais j'ai oublié de faire la même chose pour les lignes. L'erreur est humaine, mais pour un vrai désastre il faut un ordinateur !

J'ai corrigé les codes, le nouveau cryptogramme suit la numérotation de Grandpré.

Je suis désolé de t'avoir coupé dans ton élan.
Bon courage

@+

#21 Re : Cryptographie » AIde pour une chasse au trésor » 13-02-2020 12:25:11

La C-38 est plus connue sous le nom de M-209.

Il existe un très bon simulateur graphique de la M-209.

D'après le mode opératoire de cette machine, les "marquants" sont constitués de deux groupes de 5 lettres, ce qui n'est pas le cas pour le crypto de l'énigme.

De plus, la clé interne est plus compliquée : il y a non seulement les picots sur les roues, mais aussi les curseurs sur les barres de la cage d'écureuil.

@+

#22 Re : Cryptographie » AIde pour une chasse au trésor » 11-02-2020 19:45:30

Bonjour nayn35,

Je ne crois pas qu'il y ait d'inconvénient à donner le lien vers la page Géocaching du problème.

On peut l'obtenir avec un moteur de recherche.
Ce qui est curieux, c'est qu'on obtient aussi une page d'un forum qui donne un crypto plus ancien et plus long :

YLXGN BCEMN NEIGE IXRJF TMZHK DVZDQ BEYKL RKVQN ZKBHF ZYOPG AVNEV XASPR EKCYZ TTDSY ASHJI XXPUN FCEPX WRMCF QPLTJ JJTDL DQCJE ZNSSN NQUNJ HIUJS OYLGI QYNCC CDBNB QMZST INNPJ INJQC AULYS RVTOY NEIGE 33

Le début est le même. Avez-vous des renseignements là-dessus ?

Le groupe NEIGE en début et en fin de message me fait penser au format utilisé par l'armée française dans les années trente pour les machines à chiffrer Hagelin C35/C36.
(Plus d'images sur la page du Crypto Museum)

Il s'agit d'une machine à chiffrer mécanique (et non électromécanique comme l'Enigma). Un ensemble de 5 roues et d'une cage à écureuil génère une suite pseudo aléatoire de lettres qui servent de clé pour un chiffrement polyalphabétique de Beaufort. Le même procédé sert donc au chiffrement et au déchiffrement si on part du même état de la machine. La machine imprime sa
sortie sur un ruban de papier.

On trouve des renseignements précis sur cette machine sur la page Crypto de Jean-François Bouchaudy.
En particulier sur la page des défis, les textes des problèmes donnent des exemples de messages.

Donc le groupe NEIGE serait la clé de message et le cryptogramme proprement dit serait compris entre les deux :

IXRJF TMZHK DVZDQ BEYKL RKVQN ZKBHF ZYOPG AVNEV XASPR EKCYZ TTDSY ASHJI XXPUN FNBUI TMTGA XFJNV EFXID

La clé de message ne suffit pas, il faut la clé interne de la machine : les cinq roues ont respectivement 25, 23, 21, 19, 17 dents, chaque dent comportant un picot (une pointe) qui peut être sorti ou non. On a donc $2^{25}\times 2^{23}\times 2^{21}\times 2^{19}\times 2^{17}=2^{105}$ clés possibles : une attaque par force brute est exclue.

D'autre part, la clé de chiffrement générée par la clé interne a pour période $\newcommand{\ppcm}{\mathrm{ppcm}\,}
\ppcm(25, 23, 21, 19, 17) = 25\times 23\times 21\times 19\times 17 = 3\,900\,225$.
Impossible d'utiliser les répétitions façon Kasiski !

Conclusion : l'auteur de l'énigme doit fournir la clé interne quelque part.
Il reste les deux groupes du début YLXGN BCEMN dont on se demande à quoi ils servent.
Et peut-être aussi le cryptex en bas de page : il a juste 5 roues et l'auteur écrit "Ci-dessous le spoiler:" !?

@+

#23 Cryptographie » La cryptographie moderne est trop ! » 07-02-2020 12:42:13

Rossignol
Réponses : 7

Bonjour à tous,

Un peu de lecture pour ceux qui sont intéressés par la cryptographie moderne.

Jean-Philippe Aumasson a publié récemment un papier assez surprenant sur la robustesse des chiffres symétriques modernes. D'après lui, on pourrait diminuer le nombre de tours de ces algorithmes pour augmenter leur vitesse d'exécution, sans perdre en sécurité.

Malgré de très bons arguments, il y a peu de chance qu'il soit suivi dans cette voie ! Il est bien connu que les cryptologues sont paranoïaques.

La grande question du moment, c'est l'impact des ordinateurs quantiques en cryptographie. Ce papier, pas trop technique, fait le point sur la situation.

A retenir : si vous chiffrez des données en AES avec une clé de 256 bits, vous êtes sauf même en cas d'apparition d'un ordinateur quantique.

Par contre, les chiffres à clé publique sont tous vulnérables.

D'après ce papier récent, il faudrait 8 heures à un ordinateur quantique pour factoriser un entier RSA de 2048 bits.

Pas de panique, un ordinateur quantique avec 20 millions de qubits, c'est de la science-fiction !

@+

#24 Re : Cryptographie » Chiffrage sur Image » 05-02-2020 16:35:45

Pour compliquer la tâche des cryptanalystes, les codeurs aiment bien utiliser des alphabets exotiques, des signes cabalistiques, des groupes de symboles ...etc (voire des arbres :-)

Si le nombre de symboles différents est inférieur à 26, on peut associer à chaque symbole une lettre.

Ici, au premier symbole 10100 on associe la lettre A et on remplace tous les 10100 par A.
Ensuite, on associe au symbole suivant 10001, la lettre B et on remplace tous les 10001 par B.
Et ainsi de suite. Finalement, on obtient le crypto équivalent :

ABCCDEFGHIJKLIMEFNFOBKDFPLFMEMEFQEFRBPLSNHFEMFNBQES

qui ne contient que des lettres : on peut utiliser les outils standards habituels.
Par exemple l'histogramme des fréquences :
histogramme

On se doute que F est l'espace et E est e.

Finalement, l'alphabet est donc

  ABCDEFGHIJKLMNOPQRSTUVWXYZ
  jofre cinquatkpldzs???????

et le message

joffre cinquante k pour la tete de zolaski et kodes

Je pensais que le N était un s pour $ et non un k pour kilo.

Plus le crypto est court, plus le contexte est important.

@+

#25 Re : Cryptographie » Chiffrage sur Image » 05-02-2020 13:24:15

Bonjour Leoniblood,

Le code utilisé semble être un code sur 5 bits, genre Baudot.
En lisant l'image colonne par colonne, on obtient (1 = carré noir, 0 = carré gris):

10100 10001 11000 11000 10110 00001 00000 00100 00011 01001 11010 01011 10000 01001 01101 00001 00000 01010 00000 11100 10001 01011 10110 00000 00101 10000 00000 01101 00001 01101 00001 00000 00010 00001 00000 11011 10001 00101 10000 01110 01010 00011 00000 00001 01101 00000 01010 10001 00010 00001 01110

Une translittération donne le crypto :

ABCCDEFGHIJKLIMEFNFOBKDFPLFMEMEFQEFRBPLSNHFEMFNBQES

L'étude des fréquences montre que F (00000) est probablement l'espace, ce qui donne :

ABCCDE_GHIJKLIME_N_OBKD_PL_MEME_QE_RBPLSNH_EM_NBQES

Le mieux que j'ai obtenu est

ABCCDE GHIJKLIME N OBKD PL MEME QE RBPLSNH EM NBQES
joffre cinquante s pour la tete de .ola.si et sode.

avec l'alphabet de déchiffrement

  ABCDEFGHIJKLMNOPQRSTUVWXYZ
  jofre cinquatspld..???????
 

Manque de contexte pour trouver les deux lettres manquantes.

@+

Pied de page des forums