[VC++] CRYPTAGE SIMPLE VIGENÈRE (COMMENTÉ)

rUbZZZ! - 16 juil. 2001 à 18:46
cs_Gerald Messages postés 31 Date d'inscription dimanche 15 juillet 2001 Statut Membre Dernière intervention 8 janvier 2009 - 1 févr. 2003 à 18:04
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/9197-vc-cryptage-simple-vigenere-commente

cs_Gerald Messages postés 31 Date d'inscription dimanche 15 juillet 2001 Statut Membre Dernière intervention 8 janvier 2009
1 févr. 2003 à 18:04
Merci c'est sympa
J'ai mis sur mon site un programme qui s'appel "cryptages", et qui utilise une version orientée objet de l'algo; de plus il gère les modes CBC et CFB, sans compter les autres algos: BlowFish et Rijndael(AES), tous au format classes.
http://sheeps.free.fr/ sylvainpasutto@yahoo.fr
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
7 janv. 2003 à 22:32
c clair, ta source est tres interressante et permettra surement a de nombreux debutant de commencé le cryptage...
cs_Merlin59 Messages postés 3 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 30 janvier 2006
2 janv. 2003 à 21:44
je pense que l'une des manière de rendre plus sur un cryptage, quelque soit l'algo utilisé est le CBC avec vecteur d'init.
Je m'explique, on genère une chaîne aléatoire (ou presque) de 64bits, qu'on ajoute au début du fichier, puis on combine la sortie de 64bits cryptés précendent par XOR avec la nouvelle entrée de 64bits.
Les 64bits aléatoires étant le vecteur d'initialisation.
Le combinage de la sortie précédente avec l'entrée en cours étant le mode CBC.
cs_Gerald Messages postés 31 Date d'inscription dimanche 15 juillet 2001 Statut Membre Dernière intervention 8 janvier 2009
14 mars 2002 à 13:00
fgets n'est pas sensé récupérer la chaine dans un fichier?????
Parceque autrement ça devient un peu le bordel pour récupérer le mot de passe...
Sinon ben merci pour l'info ;-)
vince2002 Messages postés 1 Date d'inscription samedi 2 mars 2002 Statut Membre Dernière intervention 2 mars 2002
2 mars 2002 à 11:32
Il ne faut jamais utiliser gets() à cause des trous de sécurité.
Il vaut mieux utiliser fgets() qui est + robuste.
cs_Gerald Messages postés 31 Date d'inscription dimanche 15 juillet 2001 Statut Membre Dernière intervention 8 janvier 2009
19 déc. 2001 à 16:55
Effectivement je n'y avait pas pensé ;)
Enfin bon, il suffit juste de prendre des clés du genre "?.:/f%" et là y'a plus de problemes ;)
Je tiens à noter que cette source se sert simplement de la technique de Vigenère et qu'aucune améliorations n'y a été ajouté; mais je rajouterais quand même ces quelques lignes de codes. Merci!
le cryptage consiste juste a ajouter a chaque byte du fichier, un byte de la clé.
or si le fichier contient une suite de byte ayant pour valeur 0, la clé va apparaitre dans le fichier !
pour resoudre ce probleme il faudrait rajouter une variable "char tmp = 0;"et faire :
nb++;
if (nb>len) nb=0;
tmp += password[nb];
fgetc(filename);
if (n == EOF) break;
fprintf(cryptedfile,"%c",n + tmp);
il faut aussi modifier l'algo de decryptage
Interessant, mais quelques commentaires seraient les bien venus pour les débutants. :-)
très interessant comme source ! :)
Rejoignez-nous