begin process at 2012 02 13 22:32:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité

 > CRYPTAGE DE CHAINE: MÉTHODE DE VIGENÈRE

CRYPTAGE DE CHAINE: MÉTHODE DE VIGENÈRE


 Information sur la source

Note :
8 / 10 - par 4 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité Niveau :Débutant Date de création :15/12/2003 Vu / téléchargé :7 084 / 461

Auteur : linkwang

Ecrire un message privé
Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici un nouveau source permettant de crypter une chaine de charactère. Contrairement à la version que j'ai déjà posé sur le site, qui utilisé la méthode dite de césar, et qui, comme on me l'a fait judicieusement remarqué, se casse facilement par une méthode statistique, cette version utilise la méthode de vigenère, qui 'lisse' les statistique que l'on pourrait faire sur la récurence des charactères.
la programmation que j'en ai faites est très basique, et il y a sûrement des cas où cela ne fonctionne pas, mais je n'ai pas trouvé de bugs flagrant, si ce n'est que sur certain charactère spéciaux. Pour le régler, il suffit d'étendre le champs ascii autorisé (je me suis permis ici les charactère 32 à 126, ce qui me paraissait bien suffisant, mais bon...

J'attends vos commentaire avec impatience, ce qui me permettrais de faire quelques chose de bien mieux, j'en suis certain.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture EXPLORATEUR DE BASE ACCESS
Source avec Zip Source avec une capture FRACTALES
Source avec Zip Source avec une capture CRYPTAGE DE CHAINE
Source avec Zip Source avec une capture TÂCHE AUTOMATIQUE
Source avec Zip Source avec une capture ()THELL() SKINABLE RÉSEAU

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CHIFFREMENT XOR PLUS ROBUSTE par dheroux
Source avec Zip CRYPTAGE MARANT par alpha5
Source avec Zip ACCÈS PAR MOT DE PASSE À FEUILLE EXCEL par mimiZanzan
Source avec Zip CRYPTER-DÉCRYPTER UN TEXTE - TEXTE CRYPTÉ UNIQUEMENT EN MAJ... par Saintache
Source avec Zip Source avec une capture FOLDER PROTECTION par hackoo

Commentaires et avis

Commentaire de Kazuya le 15/12/2003 08:48:36

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

Commentaire de linkwang le 15/12/2003 08:53:33

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?

Commentaire de Myhamoto le 15/12/2003 08:57:11

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???

Commentaire de linkwang le 15/12/2003 09:00:18

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à?!?

Commentaire de Warny le 15/12/2003 09:44:45

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

Commentaire de radada le 15/12/2003 10:58:50

: ((. 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????

Commentaire de linkwang le 15/12/2003 11:10:14

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

Commentaire de radada le 15/12/2003 11:20:57

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

Commentaire de linkwang le 15/12/2003 11:54:29

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

Commentaire de Warny le 15/12/2003 12:11:54

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

Commentaire de linkwang le 15/12/2003 12:37:52

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

Commentaire de radada le 15/12/2003 12:41:48

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

Commentaire de linkwang le 15/12/2003 13:15:54

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,

Commentaire de Warny le 15/12/2003 13:30:36

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

Commentaire de aminert2100 le 15/12/2003 13:36:58

pas mal ;) je donne 7/10

Commentaire de linkwang le 15/12/2003 13:42:54

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

Commentaire de clairabelle le 22/09/2006 21:09:36

Exactement ce que je cherchais, même si mon observation arrive un peu tard... Un gd merci aux commentaires de warny.

Commentaire de mickey cohen le 28/05/2007 16:43:34

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.

Commentaire de Ouneufe le 27/11/2007 15:11:42

décryptage non opérationnel, dommage

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales