L'int à son apogée :
fonctions.c :
main.c :
terminal :
Voili voilou
Une clé sur 64 bit !
2^64 --> 1.845 * 10 ^ 19 clés possibles.
Va falloir trouver quelque chose de mieux !
fonctions.c :
Code:
#include <stdlib.h> #include <stdio.h> #include <string.h> void XORcrypt(const char *message, long long int key, char *ENCmessage) { int i = 0,j = 0; char p[1024]; sprintf(p, "%lld", key); for(;i<strlen(message);i++,j++) { ENCmessage[i] = message[i] ^ p[j % 8]; } ENCmessage[i] = '\0'; } void XORdcrypt(const char *ENCmessage, long long int key, char *DECmessage) { int i = 0,j = 0; char p[1024]; sprintf(p, "%lld", key); for(;i<strlen(ENCmessage);i++,j++) { DECmessage[i] = ENCmessage[i] ^ p[j % 8]; } DECmessage[i] = '\0'; }
Code:
#include <stdlib.h> #include <stdio.h> #include <string.h> #include "fonctions.h" int main(int argc, char *argv[]) { long long int cle = 0xdeadbeefabcdabcd; char message[] = "le lapin est dans la taniere je repete le lapin est dans la taniere"; char *ENCmessage = malloc(strlen(message) * sizeof(char)); char *DECmessage = malloc(strlen(message) * sizeof(char)); XORcrypt(message,cle,ENCmessage); printf("\n\n cipher : %s \n\n",ENCmessage); XORdcrypt(ENCmessage,cle,DECmessage); printf("\n\n decipher : %s \n\n",DECmessage); free(ENCmessage); free(DECmessage); return 0; }
Code:
[email protected]:~/Bureau/XOR$ gcc -Wall fonctions.c main.c [email protected]:~/Bureau/XOR$ ./a.out ^UEQ[[email protected] DT]DWFUZP_WDUEU_HXQAY[[email protected]UQ[@ decipher : le lapin est dans la taniere je repete le lapin est dans la taniere [email protected]:~/Bureau/XOR$
Une clé sur 64 bit !
2^64 --> 1.845 * 10 ^ 19 clés possibles.
Va falloir trouver quelque chose de mieux !
Commentaire