CRYPTAGE DE CHAINE: MÉTHODE DE VIGENÈRE

K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016 - 15 déc. 2003 à 08:48
cs_Ouneufe Messages postés 60 Date d'inscription mardi 4 septembre 2001 Statut Membre Dernière intervention 19 janvier 2009 - 27 nov. 2007 à 15:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18718-cryptage-de-chaine-methode-de-vigenere

cs_Ouneufe Messages postés 60 Date d'inscription mardi 4 septembre 2001 Statut Membre Dernière intervention 19 janvier 2009
27 nov. 2007 à 15:11
décryptage non opérationnel, dommage
mickey cohen Messages postés 5 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 21 décembre 2005
28 mai 2007 à 16:43
Comme il a été mentionné précédemment, le chiffre de Vigenère a longtemps été considéré comme incassable ce qui est vrai est faux à la fois.

- Faux, car grâce à la récurrence de certaines chaînes de caractères dans le message codé il est possible de définir la longueur de la clé de cryptage et à partir de là, en fonction de la LANGUE du message il est possible de décrypter le message en jouant sur les lettres les plus utilisés dans l'alphabet de la langue (c'est le principe de la " Roue de la Fortune ", quand Dechavanne propose à la fin les lettres RSTLN E:-)) => Cas particulier : cryptage de " La disparition " de Geoges Pérec (ce livre ne contient aucun E).

-VRAI car si l'on utilse une clé unique aléatoire (longueur de la clé = longueur du message) il est impossible de casser quoi que ce soit bien que la longueur de la clé soit un inconvénient non négligeable.

Si t'as envies de t'amuser en cryptographie, t'as le cryptage homophone bidimensionnel.
Le but est de faire une matrice de A à Z (tu peux bien évidemment rajouter des caractères tant que la matrice reste carrée)que tu remplis de différentes valeurs.
Tu crées avec ton message à crypter un message qui fais la même longueur mais qui veux dire tout son contraire (e.g. : PARTIR - le message à envoyer et RESTER qui te servira de clé).
Après c'est un peu comme Vigenère :
PARTIR
RESTER
=> dans ta matrice tu lis horizontalement la lettre P que tu fais correspondre à la lettre R, puis A à E, etc.
Quand tu décrypteras de la même façon avec ta clé : si tu fais un décryptage horizontal tu liras le bon message car tu as crypter horizontalement mais tu fais un décryptage verticale tu liras un mauvais message, c'est-à-dire RESTER.

Ce cryptage basé sur la désinformation en cas de cassage n'a pas grand intérêt mais il est simple de programmation.
clairabelle Messages postés 1 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 22 septembre 2006
22 sept. 2006 à 21:09
Exactement ce que je cherchais, même si mon observation arrive un peu tard... Un gd merci aux commentaires de warny.
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 13:42
C'est vrai, tu as raison Warny, et effectivement, c'est la clef qui est la clef de tout (hou, le vilain jeux de mots), selon la clef que avec laquelle je teste le cryptage, j'obtient bien évidememnt de plus ou moins bon résultat. Mais dans l'ensemble c'est correct, j'ai une idée pour complexifier l'algo,et supprimer un certain nombre d'occurence d'une même lettre sur les clefs trop courte, je verrais bien si cela fonctionne. Va falloir que je ressorte mes vieux cours de la fac...
aminert2100 Messages postés 82 Date d'inscription dimanche 15 juin 2003 Statut Membre Dernière intervention 8 mai 2008
15 déc. 2003 à 13:36
pas mal ;) je donne 7/10
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
15 déc. 2003 à 13:30
re : il est assez inutile de combiner l'algo de cesar a l'algo de vigenere ! Tu obtiendrais un algo de ... vigenere (avec ta clef decalee de ton algo de cesar) donc cassable de la meme facon.
Pour tester si un algo de cryptage a clef symetrique est bon, il faut coder une chaine de caracteres fixe (par exemple que des "a") et voir ce que ca donne. si on a un cycle trop frequent, c'est facilement cassable (a la complexite de l'algorithme pres, par exemple DES a tenu longtemps malgre la faible taille de sa clef. Il faut toujours avoir en tete que l'algo est un jour ou l'autre connu de tous, c'est sa clef qui fait sa force).
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 13:15
ouf, tres gros ouf, ca me rassure, merci!!!

bon, une idée comme ca, en combinant l'algo césar que j'ai posé il y a quelques jours, et celui-la, on doit pouvoir obtenir quelque chose de pas mal!!!

et puis sinon, quand j'aurai le temps, je m'attaquerais peut être aux autres pistes que m'a donné Warny, merci à lui!

Bon courage à tous,
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
15 déc. 2003 à 12:41
Yes!! Ca marche!! J'avais du faire une couille, je sais po trop :D:D.
Ben un ch'tit 8/10 parce que ca me fait délirer la crypto : )
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 12:37
bon, travaillons par élimination,
sur win9x,w2k et nt4, je n'ai pas eu de probleme.
le décodage d'une chaine qui viens d'être crypté fonctionne aussi.

reste la différence de version des dlls....

mais là, je ne vois pas trop comment faire pour fournir cela aux autres?!?

merci pour l'astuce du \\

donc la chaine, pour tester si le décodage fonctionne est :

aHfiGd\eZRKXTnQGvSOeCbI

avec la clef vbfrance...

dites moi si cela fonctionne svp
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
15 déc. 2003 à 12:11
pour chercher la cause d'un probleme pas commun, il faut chercher les differences lors de l'execution.
premiere voie : l'os. si ca se trouve le textbox fonctionne differement entre un win9x, un winNt et un WinXP.
deuxieme voie : la version de visual basic et la version de msvbvm60.dll
derniere voie : essaye un decodage de la chaine que tu viens juste de crypter. si ca marche c'est pas ton programme, c'est windows, comme on est sur un site de developpeur laisse les autres retoucher c'est dangeureux de programmer a l'aveugle, sinon c'est a toi de reprendre ton code mais dans ce cas tu peux toujours provoquer une erreur !!!
petite indication : tu peux essayer de transformer ta chaine en tableau d'octets (il y a une fonction mais je ne me rappelle plus du nom). Ca simplifie les traitements mathematiques et ca evite de telles erreurs.
ps1 : pour ecrire un antislash sur vbfrance il faut le doubler comme ca \\
ps2 : je suis loin de mon bureau cette semaine. je ne peux donc pas regarder du code vb, et j'ai pas d'accents sur mon clavier
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 11:54
En fait, je viens de me rendre compte que l'antislash disparaissait sur la page.
donc, après le d en 6eme position, il est sensé il y en avoir un.

aHfiGdeZRKXTnQGvSOeCbI

quand je mouline par mon appli, le texte est correctement décodé.

Comme tu sembles bien t'y connaitre, warny, pourrais-tu m'aider à trouver pourquoi cela ne fonctionne pas chez certain stp!!!

Cela m'aiderais beaucoup, comme chez moi cela fonctionne, je ne parviens pas à trouver le probleme...... sniff
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
15 déc. 2003 à 11:20
Jy sais pô : ((. En tout cas, je ne note pas encore... Ce serait sale de foutre une sale note parce que cela ne tourne pas ici : D : D ; ). J'attends donc pour voir, mais je suis toujours époustoufflé par le cryptage : ))
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 11:10
bon, comparez votre résultat avec le mien, voir si ca colle:
la phrase :je veux coder ma phrase
avec la clef : vbfrance donne
aHfiGdeZRKXTnQGvSOeCbI
une fois décodé, ce la redonne bien
je veux coder ma phrase

En comparant avec le résultat que tu as eu, radada, on peut remarquer qu'il manque un "" entre le "d" et le "e" , et je pense que le probleme viens de là.

mais je ne sais pas pourquoi il manque...
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
15 déc. 2003 à 10:58
: ((. Moi non plus ça marche pas (win2k vb5sp3). Comme phrase :
je veux coder ma phrase
Clef : vbfrance
res : aHfiGdeZRKXTnQGvSOeCbI
et si je fais décoder :
res : s#9$$'5:l-}r11*{)." %"

Que passa????
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
15 déc. 2003 à 09:44
Pour la petite histoire, le methode de vigénère a tenu 250 ans a la cryptanalyse. Pour la casser on cherche les occurences qui se repètent dans la chaine et par une bete equation linéaire on peut en déduire la clef.
Il y a deux parades possibles : la première est strictement incassable, on utilise une clef de la longueur du message.
La deuxième consiste à mélanger les lettres avant cryptage sur une longueur différente de celle de la clef. C'est cassable, mais ça prend du temps. Certains algorithmes mélangent carrement les bits (avec une clef à décallage différent de la clef de cryptage).
Pour programmer un vigenere plusieurs fonctions mathematiques ou informatiques sont utilisables tant que leur résultat reste dans l'ensemble numérique de départ (en general l'ensemble des entiers positifs modulo 2^8) et qu'elles ait une fonction inverse : addition modulo, décalage de bits, ou exclusif...
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 09:00
bon, si ca marche chez myhamoto, cela me rassure un peu, mais bon c'est quand même bizzard. Juste une question Kazuya, tu utilises quoi comme environnement, cela viens peut être de là?!?
cs_Myhamoto Messages postés 5 Date d'inscription mardi 10 avril 2001 Statut Membre Dernière intervention 15 décembre 2003
15 déc. 2003 à 08:57
eh, c'est bizzare, mais chez moi, cela fonctionne parfaitement, sauf pour le charactère §, mais cela viens de la plage ascii autorisé...
Kazuya, t'es sûre que cela ne fonctionne pas chez toi???
linkwang Messages postés 52 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 7 avril 2004
15 déc. 2003 à 08:53
je ne comprends pas, je viens encore de tester sur ma machine, et cela fonctionne parfaitement...
tu pourrais me donner l'erreur que cela te donne, et avec quelle clef, pour que je puisse tester ton erreur et la corriger, stp?
K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
15 déc. 2003 à 08:48
euh, sa marche pas, quand je decode, sa ne me donne pas le bon resultat, et ya un bug aussi, kan tu met pas de clé de codage, sa plante
Rejoignez-nous