Chiffrage XOR foireux
Résolu
Utilisateur anonyme
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je viens de programmer un programme qui chiffre / dechiffre le contenue d'un dossier si ce dernier ne contien que des fichiers grace a une clé de chiffrage.
j'utilise ce bout de code :
tout fonctionne a merveille .
enfin presque.
quand je chiffre un petit fichier c'est super, mais quand je passe a des gros pdf ou a des mp3 BAM je retrouve ma clé de chiffrage ecrie en claire un peu partout dans le contenue du fichier chiffrer ..
avez vous des consseils ?
je viens de programmer un programme qui chiffre / dechiffre le contenue d'un dossier si ce dernier ne contien que des fichiers grace a une clé de chiffrage.
j'utilise ce bout de code :
void Enigma::EnigmaStart(std::string file1, std::string file2, std::string Key)
{
int i = 0;
int j = 0;
int length;
char *buffer;
std::fstream In(file1.c_str(), std::ios::in | std::ios::binary);
std::fstream Out(file2.c_str(), std::ios::out | std::ios::binary);
In.seekg (0, std::ios::end);
length = In.tellg();
In.seekg (0, std::ios::beg);
buffer = new char [length];
In.read (buffer,length);
In.close();
while(i < length)
{
buffer[i++] ^= Key[j++];
if((unsigned)j >= strlen(Key.c_str()))
j = 0;
}
Out.write (buffer,length);
Out.close();
}
tout fonctionne a merveille .
enfin presque.
quand je chiffre un petit fichier c'est super, mais quand je passe a des gros pdf ou a des mp3 BAM je retrouve ma clé de chiffrage ecrie en claire un peu partout dans le contenue du fichier chiffrer ..
avez vous des consseils ?
1 réponse
-
Souvent dans les gros fichiers, selon leur format, il peut apparaitre une succession de 0, donc avec un XOR, cela affiche ta clé.
-
-
-
-
Petite précision :
Autant le chiffre de César est le niveau 0 de la cryptographie puisqu'il s'agit d'un simple chiffrement par décalage.
Autant, un chiffrement avec comme loi de groupe le XOR est sûr dès lors que la clé est suffisamment longue (même taille que texte) et aléatoire.
Effectivement si, comme souvent, la clé doit être de taille modérée, tu peux voir du côté de AES par exemple.
-