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 08-10-2017 08:07:07

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Petit challenge (test d'une méthode de chiffrement)

Bonjour à tous !

Je suis novice dans le domaine de la cryptographie, et j'ai récemment "créer" un petit système de chiffrement. Je voudrais bien connaître ses limites, c'est pourquoi je viens ici (au passage je suis super impressionné par vos talents de cryptographe :o).

Voici donc une chaine de 235 caractères chiffrée :

22837 20135 10329 21484 14700 13776 8693 21563 13056 26641 28868 18503 18158 9166 6381 18974 5602 15870 17229 6938 12191 26924 19216 17942 18339 18323 13668 1824 11179 14189 2828 28673 12163 19037 2094 4262 28638 18878 23010 2356 26605 15789 20673 2219 15862 574 3405 28806 24093 12624 21255 8159 12333 17948 000000 8748 4313 28582 19766 1136 6150 9005 11541 15500 11702 7982 15925 25973 20402 8462 25751 712 19930 49 12006 1484 7308 27391 3098 989 1345 26567 6810 14330 25166 1865 19020 21994 19532 3335 16574 27762 21811 2806 4170 20276 382 2026 14686 8533 15558 16468 7137 2987 22070 19140 16562 6149 23789 11735 48 5795 25584 19010 14892 8402 2396 25974 19127 9912 17783 22743 6379 17265 20794 27163 7152 19636 22975 20561 24899 5493 12822 23449 14257 27495 88 4052 21108 6297 14112 13087 27837 8011 1988 10952 2074 2987 14465 24546 18079 8231 11734 4994 19562 21719 10283 18615 11001 23855 12226 25752 11985 3454 15650 24909 21807 2426 4986 16187 17527 27163 5089 13096 24603 4889 24568 27163 15549 10102 25288 4332 5518 27252 2673 16873 22592 8048 4015 21409 154 1283 21880 26210 75 17189 124 23797 21180 5871 17912 28467 26853 27093 7221 19744 3340 27453 9194 14873 25923 11938 3324 847 27301 8093 20569 13557 146 27657 2528 13944 27252 12424 27595 2643 5526 7708 19075 7638 3866 31 6213 9850 21046

Je ne sais pas du tout si elle sera à votre taille, peut être (surement) que la technique que j'ai utilisé existe déjà et je n'en savais rien.

Si nécessaire je vous donnerai des indices ou d'autres chaines chiffrés.

Dans tout les cas merci de m'avoir accorder un peu de votre temps.
Bonne journée à vous !

Dernière modification par Mathix (08-10-2017 09:33:55)

Hors ligne

#2 09-10-2017 09:20:49

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

Re : Petit challenge (test d'une méthode de chiffrement)

Bonjour Mathix,

Pour évaluer un système cryptographique, il faut connaître l'algorithme de chiffrement-déchiffrement. D'après le principe de Kerckhoffs, tout le secret doit être dans la clé et non dans l'algorithme.

Si votre système n'a pas de clé, c'est-à-dire si la clé est l'algorithme, alors vous êtes seul à pouvoir l'utiliser et toute fuite est fatale au système : tous les textes chiffrés sont vulnérables d'un coup. Le plus sûr est de supprimer tout document ou programme relatifs à ce système, ce qui rend son usage malcommode !

Le fait que personne ne puisse décrypter votre message ne prouve absolument rien quant à la sécurité du système.

Statistiquement, il y a peu de répétitions (2987 2 fois, 27163 3 fois, 27252 2 fois).
En tirant au hasard $235$ entiers de l'intervalle $[0, 28868]$, la probabilité d'avoir deux entiers identiques est $0.615$ : ces répétitions peuvent donc être le fruit du hasard.

PS. Il n'était pas nécessaire de lancer un script pour appeler la page un grand nombre de fois par seconde dans le but d'augmenter le nombre de vues. Ça n'apporte rien :-)

@+

Hors ligne

#3 09-10-2017 16:07:23

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Re : Petit challenge (test d'une méthode de chiffrement)

Bonjour Rossignol,

Ok, je vais voir dans la semaine si j'ai le temps entre les cours de publier l'algorithme ou de vous expliquer la méthode de cryptage afin que vous puissiez évaluer la sécurité du système.

Effectivement c'est le fruit du hasard que ces répétitions aient lieues, enfin je suppose d'après mon algorithme.

Pour le petit script, je l'ai retrouvé dans un vieux dossier de mon disque portable et je me suis un peu amusé :D

PS : c'est bien une clef de cryptage que j'utilise

Merci de votre réponse ! À bientôt !

Dernière modification par Mathix (09-10-2017 16:08:18)

Hors ligne

#4 11-10-2017 09:16:35

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Re : Petit challenge (test d'une méthode de chiffrement)

Bonjour,

Indice :

La clef utilisée est une clef de 35 caractères. Cette première clef me permet d'obtenir une seconde clef de plus de 29000 caractères totalement indépendante de la première.

Et voici l'algorithme en langage naturel (enfin à peu près) :

Variables :
   
    ap, bp, counter : entiers
    url, TxtACrypter, Wdoc, sortie : chaine
    elmt : liste de chaines

Début :

    Lire url;
    Wdoc = Texte contenu sur le site url

    Pour chaque caracteres dans TxtACrypter

        ap = Nombre aléatoire entre 200 et (longueur_de_Wdoc - 1001)
        bp = Nombre aléatoire entre 0 et 1000
       
          'On sectionne une partie du document web afin de pouvoir obtenir un index aléatoire pour un caractère
        elmt = {Optenir le texte de Wdoc depuis le caractère n°ap jusqu'au n°bp, ap}
Flag e:
          'Si la partie sectionnée contient le caractère a crypter on écrit son index
                Si elmt(0) contiens caracteres :

                    sortie += (index du char(caracteres) dans elmt(0) + Integer(elmt(1))) & "espace"
                    counter = 0

          'Sinon si counter < 40 on récupère une nouvelle section
                SinonSi counter < 40

                    counter += 1
                    Aller au flag e
       
          'Si counter >= 40 on regarde si le caractère existe dans le document web, si c'est le cas on ajoute son index
                SinonSi Wdoc contiens le char (caracteres)

                    sortie += index du char(caracteres) dans Wdoc & "espace"
          'Si counter >=40 et que le caractère n'existe pas dans le document, on ajoute un index nul
                Sinon
                    sortie += "000000 "
                Fin Si;
     Fin Pour;
Afficher sortie;
Fin Algorithme;

J’espère que c'est compréhensible, je peux aussi vous donner l'algorithme de décryptage si vous voulez mais je suppose qu'il est assez simple de deviner comment il fonctionne maintenant.

NB : j'ai créé ce système uniquement pour un cryptage/décryptage à cours terme, par exemple pour des messages instantanés ou mails, non pas pour des fichiers qui seront stockés longtemps (pour des raisons évidentes).

Merci encore et bonne journée !

Dernière modification par Mathix (11-10-2017 13:00:03)

Hors ligne

#5 13-10-2017 17:14:51

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Re : Petit challenge (test d'une méthode de chiffrement)

Bonsoir,
Je me suis aperçu que la clef (le site) que j'ai choisi pour le message du début à changé, c'était peut-être peu judicieux d'avoir utilisé une page Wikipédia ^^.

J'ai donc re-chiffré cette même chaine à l'aide d'une clef qui cette fois ne risque pas d'être modifier (du moins pas dans les 3 prochains mois je pense) :

2899 4528 7608 2665 4132 4621 2879 1111 5167 6345 1992 962 4081 6441 7788 6803 7375 1778 7918 5264 4050 5438 7315 7605 790 3024 6362 7282 5713 6128 5769 6284 4957 6132 3525 602 787 3781 982 4192 8065 4214 5790 8374 4991 4794 1225 1884 6803 3628 7210 5898 2702 829 9410 3897 2097 5727 949 5806 626 5227 5323 4960 2774 4686 6391 2196 817 7542 7930 2698 7355 1184 3614 2166 6753 5104 7621 3365 7210 1273 6437 5863 3197 4191 4197 3109 6203 5134 8340 8341 3272 8341 5882 7587 4468 8030 7209 7255 8284 630 6938 1490 1690 537 8108 5037 4375 5344 4560 719 4554 5138 7580 2994 2469 6187 7856 1924 6263 2491 583 5206 6331 1511 7052 4051 8278 4588 4314 7372 5273 897 1741 6224 1912 1997 8044 2644 6674 4798 2166 2133 7786 5647 2262 6613 6491 4692 3813 7433 1305 5012 532 5520 8362 4823 1670 7716 4392 6110 5184 7866 7533 7799 5313 3021 4217 3600 4632 1902 4611 2008 7650 6391 2691 4973 2070 3217 2755 3732 7759 8030 7477 235 6891 2610 4864 5458 2795 2997 8416 410 3260 3752 5488 3243 1310 7554 5951 8289 8045 4749 1852 2568 3636 7916 599 5279 788 626 7771 6680 4202 1587 6352 1360 8044 3966 8117 4991 1841 8388 7418 2819 5439 5775 3480 7392 5800 921 4275 5038 6874

Je m'excuse si cela change la donne de vos recherches !
Encore merci et bonne soirée !

Dernière modification par Mathix (13-10-2017 17:16:14)

Hors ligne

#6 14-10-2017 15:05:07

gielev
Membre
Inscription : 08-03-2007
Messages : 292

Re : Petit challenge (test d'une méthode de chiffrement)

Mathix a écrit :

Bonsoir,
Je me suis aperçu que la clef (le site) que j'ai choisi pour le message du début à changé, c'était peut-être peu judicieux d'avoir utilisé une page Wikipédia ^^.

Ce qui démontre la "faiblesse" du système.
Autant utiliser une clé aussi longue que le texte, prise dans un ouvrage écrit qui ne changera pas, ce sera plus efficace car indéchiffrable.
gielev (qui n'a pas perdu de temps à chercher)

Dernière modification par gielev (14-10-2017 15:05:50)

Hors ligne

#7 14-10-2017 19:03:25

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Re : Petit challenge (test d'une méthode de chiffrement)

Bonsoir gielev,

Comme je l'ai dit :

Mathix a écrit :

J'ai créé ce système uniquement pour un cryptage/décryptage à cours terme, par exemple pour des messages instantanés ou mails

Ce n'est donc pas vraiment une faiblesse, au contraire, les personnes qui tenteront de trouver la clef de chiffrage seront désavantagés.

Utiliser votre méthode de chiffrage compliquerait tout. Un URL est facile a transmettre (et banal sur les réseaux sociaux), contrairement a un texte qui devra en plus entièrement être retranscrit dans l'algorithme de déchiffrage.

Ensuite étant donné la taille du texte, les utilisateurs ne pourront pas se permettre de le changer régulièrement, ce qui au bout d'une longue utilisation va compromettre la clef (je suppose).

Dernière modification par Mathix (14-10-2017 21:44:19)

Hors ligne

#8 16-10-2017 10:57:41

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

Re : Petit challenge (test d'une méthode de chiffrement)

Bonjour à tous,

Si j'ai bien compris, votre système cryptographique utilise une substitution homophonique (plus précisément, une variante informatique du chiffre du livre).

On remplace un caractère du clair par l'indice d'un même caractère du texte de référence. Je suppose que les caractères autorisés sont les majuscules, les minuscules, les caractères accentués, les signes de ponctuation, l'espace.

Si la clé est l'url, il n'est pas facile de changer la clé. Il faut trouver une page web qui ne change pas trop vite, qui soit en français et qui soit assez longue.

Mathix a écrit :

Un URL est facile a transmettre (et banal sur les réseaux sociaux),

Vous mésestimez le problème d'échange des clés : si vous échangez l'url en clair autant ne pas chiffrer du tout :-)

La première page utilisée ne convenait pas : elle a changé vite et elle ne contenait pas un caractère du message puisque le chiffré contient un code 0000000 (sûrement un caractère rare en français). Pour le déchiffrement, on fait comment ?

La deuxième page a tous les caractères voulus, mais elle est plus courte (les codes sont entre 235 et 9410). En conséquence, il y a plus de répétitions : 6803, 4991, 7210, 626, 6391, 2166, 8341, 8030, 8044. La plupart de ces codes doivent correspondre au caractère le plus fréquent dans un texte : l'espace.

Si on a suffisamment de cryptos, une attaque statistique est possible : on détermine les codes de l'espace ce qui permet de sectionner le message en mots. On peut alors conjecturer des mots probables et déchiffrer de proche en proche en s'aidant des statistiques de la langue.

Ce travail est facilité si on connait le vocabulaire utilisé, si les débuts ou les fins des messages sont standards...etc.

Ce système est à peu près sûr si le volume des messages reste bien en dessous la taille du texte de la page web utilisée.

@+

Hors ligne

#9 21-10-2017 12:30:24

Mathix
Membre
Inscription : 08-10-2017
Messages : 6

Re : Petit challenge (test d'une méthode de chiffrement)

Bonjour Rossignol,

Tout d'abord merci de vous être intéressé à mon crypto, cependant j'ai remarqué que vous aviez mal compris certains points de mon système.

Rossignol a écrit :

Je suppose que les caractères autorisés sont les majuscules, les minuscules, les caractères accentués, les signes de ponctuation, l'espace.

En réalité je ne filtre pas les caractères, ils sont tous autorisés.

Rossignol a écrit :

Si la clé est l'url, il n'est pas facile de changer la clé. Il faut trouver une page web qui ne change pas trop vite, qui soit en français et qui soit assez longue.

Je ne sais pas si c'est vraiment nécessaire que la page soit en français, par exemple pour le second crypto j'ai utilisé une page en latin.
Je pense qu'une page d'une taille de 6000 caractères en ASCII est le minimum requis.

Rossignol a écrit :

La première page utilisée ne convenait pas : elle a changé vite et elle ne contenait pas un caractère du message puisque le chiffré contient un code 0000000 (sûrement un caractère rare en français). Pour le déchiffrement, on fait comment ?

Elle ne convenait pas dans ce cas précis mais pour une communication directe c'est très largement suffisant, effectivement elle ne contenait pas le caractère @, le déchiffrement rien de plus simple recherche du X ième caractère sur la page web (X = numéro correspondant au caractère)

Rossignol a écrit :

La deuxième page a tous les caractères voulus, mais elle est plus courte (les codes sont entre 235 et 9410). En conséquence, il y a plus de répétitions : 6803, 4991, 7210, 626, 6391, 2166, 8341, 8030, 8044. La plupart de ces codes doivent correspondre au caractère le plus fréquent dans un texte : l'espace.

Effectivement les répétitions sont les principaux problèmes de ce système. Par contre les codes ne correspondent pas forcément au caractère le plus fréquent dans un texte, mais je pense que c'est les caractères les plus fréquents dans le texte à chiffrer et le moins présent sur le site web utilisé.

6803 -> e
4991 -> espace
7210 -> B
626  -> t
6391 -> espace
2166 -> é
8341 -> 9
8030 -> e
8044 -> s
Rossignol a écrit :

Ce système est à peu près sûr si le volume des messages reste bien en dessous la taille du texte de la page web utilisée.

Oui cela restera une méthode pour chiffrer des conversations.

Encore merci pour votre intérêt !
Bonne journée !

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 ?68 + 6
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