CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

programme de cryptage

extasy89
extasy89
Niveau 6
25 octobre 2006 à 16:30:54

bonjour à tous,

voila j´ai réalisé un petit programme de cryptage simple (un simple XOR appliqué sur le messag à coder) mais je rencontre quand même quelques petits problèmes:

Code : C
int crypt()
{
long longueurchaine,longueurcle,j=0;
char cle[LONGUEURMAX],message[LONGUEURMAX];
cout<<"entrez votre message a coder (maximum 100 caracteres): "<<endl;
cin>>message;
longueurchaine=strlen(message);
if (longueurchaine>100){system("cls");crypt();}
cout<<"entrez la cle de cryptage (maximum 100 caracteres)"<<endl;
cin>>cle;
cout<<endl;
longueurcle=strlen(cle);
if (longueurcle>100){system("cls");crypt();}
for (int i=0;i<longueurchaine;i++)
{
tablecaract[i]=(int) message[i];
tablecle[i]=(int) cle[j];
tablecaract[i]=tablecaract[i]^tablecle[i];
printf("%ld.", tablecaract[i]);
printf("%c.", tablecaract[i]);
j++;
if (j>=longueurcle)
{
j=0;
}
}
cout<<endl;
cout<<endl;
main();
}

1) j´ai remarqué que, en sortie après le XOR, j´obtenais souvent des valeurs (code ASCII des caractères chiffrés) comprises entre 0 et 30... rarement au dessus. est ce normale ?? ?

-> par exemple le mot anticonstitutionellement avec la clé pomme me donne:

17.1.25.4.6.31.1.30.25.12.4.26.25.4.10.30.10.1.1.0
.29.10.3.25

2) ces codes correspondent à des symboles très particuliers dans la console (genre smiley, carré, flèches, ...) comment donc faire pour avoir des symboles plus conventionnels (lettres, chiffres, ponctuations, ...). faut il pour sa faire une application graphique? (c´est dans le but de pouvoir faire saisir par l´utilisateur un message à décrypter par la suite... si il doit entrer des smileys et autres symboles qui ne figurent pas sur son clavier il va avoir du mal...)

http://www.nefec.org/UPM/sibmext.htm -> liste de ces symboles "bizares"

voila si quelqu´un saurait m´aider se serait sympa

merci d´avance

godrik
godrik
Niveau 30
25 octobre 2006 à 17:25:08

c´est normal, que tu ai ce comportement.
tu fais des xor d´entier compris (grosso modo) entre 97 (le code ASCII du ´a´) et 122 (le code ASCII du ´z´)
toutes les lettres ont leur 6eme et 7eme bit à 1.
Lorsque tu fais ton XOR tu obtiens des 6eme et 7eme bit a 0. Donc des valeures inférieure a 32.

extasy89
extasy89
Niveau 6
25 octobre 2006 à 18:16:49

ok merci beaucoups :) mais ma question est alors: est ce que cela influe sur la qualité de l´algoritme (assez médiocre j´en convient :))?

godrik
godrik
Niveau 30
25 octobre 2006 à 18:18:30

sur ces qualité de cryptage ?
Ce que tu fais est assez peu différent du chiffrement de vigenère qui est faible devant les attaques fréquentiel.
wikipedia racontera probablement ca mieux que moi.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment