Chiffrage XOR foireux

Résolu/Fermé
Utilisateur anonyme - 10 juin 2016 à 13:02
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 juin 2016 à 23:35
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
10 juin 2016 à 13:31
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
10 juin 2016 à 13:57
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
10 juin 2016 à 18:15
XOR est comme le chiffrement de César, le niveau 0 de la cryptologie.
Regardes AES et consort plutôt.
0
Utilisateur anonyme
10 juin 2016 à 18:21
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 juin 2016 à 23:35
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