cylboo
Messages postés6Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention13 décembre 2004 21 janv. 2004 à 12:45
oulala ça c du cryptage avec un coefficient de cryptage de 2 en plus , huuumm je trouve ça très legé surtout pour un programme qui fait 10 km de long. Un simple décalage de lettre est évident rien qu'a l'oeil nu par exemple le www.cppfrance.com une fois crypté donne yyy.errhtcpeg.eqo <- ça si c pas une adresse internet ...
les caractères spéciaux ne sont meme pas cryptés et le fameux coefficient de cryptage est tous simplement symbolique puisque le fait de mettre 1 ou 20 n'augmente pas la difficulté de décryptage.....
Je n'y connait pas grand chose en crypto mais je suis désolé ça va pas chercher loin ton algo...
Rien que ce petit bou de machin est déjà plus compliqué que ton truc :
while (*adr)
{
table_ascii[j]=*adr;
table_code[j]=table_ascii[j] + (j - 5);
printf ("%c", table_code[j]);
j++;
adr++ ;
}
printf("\n TERMINE\n");
return 0;
}
et là ton www.cppfrance.com devient rst,bpqhuesil6lyx .....
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 16 janv. 2004 à 16:30
quand on écrit un cryptage, je pense qu'il faut le faire en se disant: je dois pouvoir distribuer le code source (et même une description précise de l'algo) sans mettre en périle l'efficacité du cryptage. C'est le cas pour du vrai cryptage (avec une clef), ce n'est pas le cas pour de l'encodage (basiquement, du cryptage sans clef), c'est le cas du hashage (mais comme par définition le hashage est "one way" (on ne peut pas récupérer à coup sur les données d'origine à partir du hash. exemples: md5, crc32, ...))
ici sauf erreur c'est de l'encodage, donc tout programmeur en la possession de ce code source peut décrypter tout ce qui a été crypté par ce programme, donc faiblesse. je dis ça pour te prévenir de ne pas utiliser cet algo dans un projet sérieux. ceux qui se sont un peu cassé là tête sur les challenges de crypto/stégano sur www.hackquest.de (en allemand et anglais), se sont bien rendus compte qu'en qq heures on peut casser (parfois même à la main!) des données encodées sans informations précises. même pas en brute forçant.
si tu écris un algo de cryptage sérieux, il va te falloir inclure une clef de cryptage qui ait une importance primordiale, de telle sorte que (presque) uniquement du Brute Force puisse en venir à bout (or le brute force, on connaît tous ses limites ;-))
PS: le screenshot, tu as mis celui de ton code de morse ;-)
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 15 janv. 2004 à 13:39
c'est bien coder et bien commenté ;) mais je crois pas que cette methode tienne la route(surtout avec un simple coefficient de cryptage % 26), enfin ca doit juste etre une histoire de qq modif...
sinon using namespace std; est reservé aux nouveaux flux
21 janv. 2004 à 12:45
les caractères spéciaux ne sont meme pas cryptés et le fameux coefficient de cryptage est tous simplement symbolique puisque le fait de mettre 1 ou 20 n'augmente pas la difficulté de décryptage.....
Je n'y connait pas grand chose en crypto mais je suis désolé ça va pas chercher loin ton algo...
Rien que ce petit bou de machin est déjà plus compliqué que ton truc :
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int j;
char c[30];
printf("Texte à crypter (Ctrl + C pour arrete) : ");
scanf("%s", &c);
printf("==========================================================\n");
printf("Cle saisie : %s\n", c);
printf("Cle codee : ");
int table_ascii[30];
char table_code[30];
char * adr ;
char key_code[30];
adr = c ;
j=0;
while (*adr)
{
table_ascii[j]=*adr;
table_code[j]=table_ascii[j] + (j - 5);
printf ("%c", table_code[j]);
j++;
adr++ ;
}
printf("\n TERMINE\n");
return 0;
}
et là ton www.cppfrance.com devient rst,bpqhuesil6lyx .....
16 janv. 2004 à 16:30
ici sauf erreur c'est de l'encodage, donc tout programmeur en la possession de ce code source peut décrypter tout ce qui a été crypté par ce programme, donc faiblesse. je dis ça pour te prévenir de ne pas utiliser cet algo dans un projet sérieux. ceux qui se sont un peu cassé là tête sur les challenges de crypto/stégano sur www.hackquest.de (en allemand et anglais), se sont bien rendus compte qu'en qq heures on peut casser (parfois même à la main!) des données encodées sans informations précises. même pas en brute forçant.
si tu écris un algo de cryptage sérieux, il va te falloir inclure une clef de cryptage qui ait une importance primordiale, de telle sorte que (presque) uniquement du Brute Force puisse en venir à bout (or le brute force, on connaît tous ses limites ;-))
PS: le screenshot, tu as mis celui de ton code de morse ;-)
15 janv. 2004 à 13:39
sinon using namespace std; est reservé aux nouveaux flux