CRYPTAGE/DÉCRYPTAGE D'UN TEXTE PAR ROTATION DES CARACTÈRES ALPHABÉTIQUES.

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 15 janv. 2004 à 13:39
cylboo Messages postés 6 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 13 décembre 2004 - 21 janv. 2004 à 12:45
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/19520-cryptage-decryptage-d-un-texte-par-rotation-des-caracteres-alphabetiques

cylboo Messages postés 6 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 13 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 :

#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 .....
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 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és 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
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
Rejoignez-nous