CRYPTER UN FICHIER AVEC UNE CLÉ 8-BITS

BenjaminRare Messages postés 7 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 19 mai 2003 - 26 juin 2002 à 07:21
Oeil_de_taupe Messages postés 150 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 février 2009 - 27 févr. 2006 à 17:30
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

Oeil_de_taupe Messages postés 150 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 février 2009
27 févr. 2006 à 17:30
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.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
14 oct. 2005 à 19:19
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
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
12 oct. 2005 à 17:46
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!
sitesref Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 31 juillet 2004
2 mai 2004 à 13:04
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
7895123 Messages postés 35 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 16 septembre 2007
24 oct. 2003 à 18:18
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
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
24 oct. 2003 à 14:59
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
7895123 Messages postés 35 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 16 septembre 2007
24 oct. 2003 à 12:29
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'
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
23 oct. 2003 à 21:00
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 ;-)
7895123 Messages postés 35 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 16 septembre 2007
23 oct. 2003 à 20:35
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
7895123 Messages postés 35 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 16 septembre 2007
23 oct. 2003 à 20:32
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
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 oct. 2003 à 16:53
DevC++, va voir ça dans google (je suppose que t sous win32)
7895123 Messages postés 35 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 16 septembre 2007
18 oct. 2003 à 20:45
et svp dite moi un bon logi pour compiler vos texte parce que les mien me saoul j'arrive a rien merci
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
1 juil. 2003 à 11:58
c ok pr xor j'ai bien compris le principe maintenant ^^ on m'a expliqué.
PJulot Messages postés 29 Date d'inscription dimanche 8 juillet 2001 Statut Membre Dernière intervention 30 octobre 2003
1 juil. 2003 à 09:59
Comme il est indiqué dans la description, l'opérateur XOR correspond
au caractère ^, donc dans le code: c^=cKey;
cs_Lothar Messages postés 16 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 17 août 2003
1 juil. 2003 à 04:30
tu dis que tu crypte en XOR mais a aucun moment je vois cette opérateur pour faire ton cryptage, ou est il ?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
12 févr. 2003 à 14:49
t'as pas une page web de référence pour l'opérateur XOR ? je suis vraiment intéressé :) merci !
PJulot Messages postés 29 Date d'inscription dimanche 8 juillet 2001 Statut Membre Dernière intervention 30 octobre 2003
23 oct. 2002 à 12:15
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
BenjaminRare Messages postés 7 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 19 mai 2003
26 juin 2002 à 07:21
J'ai compiler ton prog mais je comprends pas ce que " cle " veut dire ???
Peut tu le decrire
Rejoignez-nous