CRYPTER UN FICHIER AVEC UNE CLÉ 8-BITS

Signaler
Messages postés
7
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
19 mai 2003
-
Messages postés
150
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
16 février 2009
-
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/9210-crypter-un-fichier-avec-une-cle-8-bits

Messages postés
150
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
16 février 2009

Personnellement je ferais varier la variable "cKey" en fonction du nombre d'itération. Ca rendra le décodage par une personne tiers encore plus difficile.

cKey = (cKey + 3 * (i % 133)) & 0xFF;

Ou i est le nombre d'itération dans la boucle while depuis le début du programme.

Par contre des personnes (bien plus calées que moi) parlent de "matrice de cryptage", je ne sais pas bien à quoi ca correspond.
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

c'est une drole de façon de voir le xor ... le xor est un ou exclusif: il faut exactement un élément vrai parmi les deux termes de l'opération. et quand on opère sur des nombres, on effectue le xor sur chaque bit séparément, c'est tt:

0011 0011 = 51
^ 1111 0000 = 240
-----------
1100 0011 = 195
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
20
Le xor, c'est un peu comme u operateur plus et un moins combiné...
en faite, par exemple,
0 xor 1 donne 1 car: 0 et le chiffre de départ, 1 et le chiffre qui va additionner ou soustraire... c'est pour ça qu'un chiffre xor 0 ne change pas... mais si 0 xor un chiffre, alors ce le résultat est le chiffre.

je ne sais pas tres bien expliquer alors je vais donner des exemples...:
5 xor 1 = 4
4 xor 1 = 5
6 xor 2 = 4
4 xor 2 = 6
etc...
etc...

je ne suis pas sure d'avoir été bien clair alors si vous avez des questions, posez les moi...

Voila!
Messages postés
40
Date d'inscription
vendredi 14 mars 2003
Statut
Membre
Dernière intervention
31 juillet 2004

si vous voulez mon avis, un bon ide en c++ reste qd même c++builder (que ça soit le 3, le 5 ou le6) il vous suffit de dl la démo française sur le site de borland puis de vous trouver un keygen sur des sites spécialisés

pour le XOR c'est facile; admettons que j'ai un bit appellé A et un autre appellé B:

Aide de BCB6:

XOR est le OU exclusif bit à bit ; il compare deux bits et génère 1 si les bits sont complémentaires, et 0 s'ils ne le sont pas.


Valeur bit A Valeur bit B A ^ B (rappel ^ = XOR)
0 0 0
1 0 1
0 1 1
1 1 0
Messages postés
35
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
16 septembre 2007

en lala c de pore en pire je ne comprend plus rien est stp
kirua tu peux me faire un tuto stp
pour que je puisse comprend si oui merci si non merci comeme
mon adresse c yoann70@voila.fr
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

hmm, en fait ce code ci n'est pas autonome, tu vois, il n'a pas de fonction int main();
le code ci dessus doit être ajouté dans un autre code, mais si tu débutes, je pense que tu devrais suivre des tutoriels, il y en a plein partout.

//---------------- J'avais tappé ça avant de vérifier, je le met qd meme, ça te seras peut etre utile

ah, tu dois en fait préciser au compilateur que tu vas utiliser la libraire windows, on appelle ça LIER une bibliothèque (une DLL en fait dans ce cas-ci).

Sous dev (et seulement sous dev, avec VC et BCB c différent), tu fais ça comme ceci (note bien que tu dois alors être dans un projet, càd que tu fais Nouveau Projet, empty (vide), et puis tu ajoutes le code ci-dessus au projet créé)

- Projet -> Options du projet -> [Une fenêtre s'ouvre] -> Onglet paramètres -> [tu as trois champs de texte, celui tout à droite s'appelle] Editeur de Liens

dans ce champ là, tu dois entrer ceci (sur une ligne, normalement le champ est vide)

-WIN32
Messages postés
35
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
16 septembre 2007

a merci
mes sinon il me marque ca pour ce script ci dessus
F:DEV-C_~1Lib\libmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16'
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

hmm, fais ceci pour vérifier si tout marche bien:

Fichier -> Nouveau -> Fichier Source

ceci va ouvrir un fichier indépendant de tout projet.
Tappes-y le code pour un hello world tout bête (il y en a plein partout sur le net)

Appuie sur F9 qui lance la compilation et exécute le programme si tout c'est bien passé.

Si cela échoue, je ne vois vrmnt pas pq, et à mon avis ça voudrait dire que

a) dev est mal installé, ou a buggé, ou tu as pas télécahrgé la version stable

b) dev fonctionne pas sur ton pc (j'ai un pote (Funto) qui doit utiliser VC++ (payant) parce que dev fonctionne pas sur son pc)

Solution ->->-> Linux :-D ou un autre EDI pour C++, j'en connais pas de mémoire, à part Borland C++ Builder mais ça c 1500 EUR ;-)
Messages postés
35
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
16 septembre 2007

a desoler j'avais pas vu ton message ouai mes j'ai un blem avec dev c++ c que j'arrive pas a compiler tu peux m'expliquer stp merci d'avance
Messages postés
35
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
16 septembre 2007

lu en faite c'est pour savoir 2 chose svp la premiere comment on compile un programme et 2 avec quel logi merci a++ all
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

DevC++, va voir ça dans google (je suppose que t sous win32)
Messages postés
35
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
16 septembre 2007

et svp dite moi un bon logi pour compiler vos texte parce que les mien me saoul j'arrive a rien merci
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

c ok pr xor j'ai bien compris le principe maintenant ^^ on m'a expliqué.
Messages postés
29
Date d'inscription
dimanche 8 juillet 2001
Statut
Membre
Dernière intervention
30 octobre 2003

Comme il est indiqué dans la description, l'opérateur XOR correspond
au caractère ^, donc dans le code: c^=cKey;
Messages postés
16
Date d'inscription
dimanche 22 octobre 2000
Statut
Membre
Dernière intervention
17 août 2003

tu dis que tu crypte en XOR mais a aucun moment je vois cette opérateur pour faire ton cryptage, ou est il ?
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

t'as pas une page web de référence pour l'opérateur XOR ? je suis vraiment intéressé :) merci !
Messages postés
29
Date d'inscription
dimanche 8 juillet 2001
Statut
Membre
Dernière intervention
30 octobre 2003

la Clé, c'est un octet avec lequel ton fichier sera crypté.
Pour comprendre, il faut regarder une table de vérité d'un XOR
Messages postés
7
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
19 mai 2003

J'ai compiler ton prog mais je comprends pas ce que " cle " veut dire ???
Peut tu le decrire