Chiffrage XOR foireux

Résolu
Utilisateur anonyme -  
fiddy Messages postés 11069 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 :

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

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Souvent dans les gros fichiers, selon leur format, il peut apparaitre une succession de 0, donc avec un XOR, cela affiche ta clé.
0
Utilisateur anonyme
 
la tu m’intéresse beaucoup !
tu a l'air de dire que le xor n'est donc pas la meilleurs des solutions ? mais il me reste quoi comme option du coup ? étant donner que je veut que mon fichier chiffrer soit totalement indescriptible sans ma clé. je pensé le XOR suffisant .

une idée pour arranger cela ?
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
XOR est comme le chiffrement de César, le niveau 0 de la cryptologie.
Regardes AES et consort plutôt.
0
Utilisateur anonyme
 
mince je le pensais solide comme algo.
je vais aller modifier cela tout de suite.
sa permettra aussi de résoudre mon problème de clé du coup .

merci pour l'aide je passe en résolut.
je vais aller voir les deux algo que tu ma proposé.
merci encore
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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.
0