thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009
-
21 août 2006 à 17:08
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008
-
22 août 2006 à 19:47
bonjour
je voudrai que quelqu'un m'explique comment gérer de tres tres grand nombre pour faire un prog de cryptage rsa et comment on fait la concaténation de nombres et de lettres.Merci
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 21 août 2006 à 18:05
1-D'accord! Mais je n'arrive pas à installer gmp(enfin si mais ca marche pas(non je n'ai pas oublié d'editer les liens)) et je voudrai juste savoir comment on fait pour gérer les grands nombres avec les classes
2-Ben je voulai savoir si il y avait un symbole spéciale(que je connais pas car je suis débutant) pour faire que
int a=3,b=5;
int c=0;
c=a ( symbole spécial ) b;
et que c=35 sans avoir besoin de passer par des *10,*100 etc...et je voulais savoir si c'était pareil avec les caracteres.Voila
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 21 août 2006 à 21:43
merci MuPuf
Je suis d'accord pour les caractères (d'ailleurs pourquoi j'ai demandé pour les caractères je suis con...)
Mais pour les nombres?...
Imaginons mon futur prog rsa qui mouline 5 caractères(sécurité minimale),:
pour économiser ma mémoire , en sachant qu'un char a 127 valeurs de caractères(http://fr.wikipedia.org/wiki/ASCII), au lieu de faire des *1000^x pour séparer les nombres, je fais des *128^x:
char a='A',b='B',c='C',d='D',e='E';
(type esperé que j'attend comme réponse, ou fonction ou class ou structure)f=a*128^4+b*128^3+c*128^2+d*128+e;
Mais ca tient pas dans mes caractere des base rien que le 'A'=65->65*128^4 (ni dans ma calculette d'ailleurs)
Et ensuite(si vous savez l'algorythme de rsa) il faut faire f^e %n (e est au moins de 3) alors ouille!!!
Donc je voudrai savoir comment faire tenir un (127*128^4) ^2(J'ai inventé une fonction qui ne calcul qu'une puissance à la fois et en faisant le modulo apres la puissance ce qui réduit la demande en mémoire) minimum dans une variable ou une structure ou une classe
La c'est precis
Et comme ca ca sera une occasion d'apprendre comment fait ce gmp!
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 21 août 2006 à 21:49
euh, un char c'est sur 8 bits, donc, 2^8=256 valeurs possibles ;-)
Mais j'ai un pote qui avait codé RSA, et il n'avait pas eu besoin de de grand entiers.
Je te rappelle que la clée ne doit pas depasser 128 bits pour des raisons légales.
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 21 août 2006 à 22:31
J'adapterai la longeur de la clé pour etre dans la légalité!, pour le char(toujours dans la logique de réduire la taille), j'ai vu sur wikipedia que les caracteres en dessous de 0 (char variant de -128 à 127) sont les caractères spéciaux (les accents en font parti mais bon...) donc avec ces 127 possibilités ont a les majuscules, les minuscules la ponctuation classique et les commande du style retour à la ligne , espace...le strict nécessaire!!!
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 21 août 2006 à 22:48
Oui mais le problème au début et d'ailleurs toujours c'est comment gérer la taille(car au début je faisait des test avec 3 caracteres maximum sinon c'etait trop grand et avec des *256*128*128 c'était déja gros!!!!!!!!Quand j'aurai la soluce j'augmenterai les frais!
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 22 août 2006 à 01:16
quand meme des fois bien chiant RSA, ça te fait augmenter méchament la taille de ce que tu encryptes.
Je m'étais fait un systeme de cryptage ultra rapide qui s'amusait avec des paquets. En premier tu lis 5000 octets, tu les inverses, puis tu recommences jusqu'a la fin du fichier. Puis tu prend les paquets et tu changes leurs ordres, aprés tu appliques un cryptage XOR sur l'ensemble, et finalement, c'est assez chaud de retrouver toutes les conneries que tu as faites dessus à moins de faire du reverse engenering, mais bon, au moins ça prend pas plus de place ni de ressources, vus que le processeur ne bossait qu'a 15% et les disques à 100% par contre, enfin bon, c'est qu'une suggestion pour te pencher sur d'autres algos.
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 22 août 2006 à 17:46
Oui mais on peut encore se demander comment fait la librairie gmp pour gérer les grands nombres.D'ailleurs j'ai enfin trouvé le bug dans ma compil pour le prog de RSA que ma indiquer vecchio56.Je ne connais pas les fonctionnalitées de la gmp mais dans son prog ca manque de technique (on voit pas les clés privés et publiques,il n'y a pas de fichier d'entrée ni de sortie, on ne conserve pas la meme clé...) mais je ne saurai pas faire ca et le programmeur a dit qu'il savait pas comment que l'on faisait . Alors si on pouvait savoir comment fait gmp pour gérer les grands nombres?(j'ai déja essayé d'éplucher le code source et tt ce que j'ai découvert c'est que ce qui stock le grand nombre c'est une structure avec la taille des membres(?????), leurs nombres(????),et un pointeur(d'apres ma traduction des commentaires))
ALORS JE CHANGE LA DESCRIPTION DE MA QUESTION:
COMMENT FAIT GMP?????!!!!
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 22 août 2006 à 17:54
L'idée c'est de représenter un entier dans un tableau d'entiers (le pointeur doit représenter ca)
gmp ne fait pas exactement comme ca, mais par exemple on pourrait imaginer que le nombre 123 est stocké comme le tableau {1,2,3}
J'ai fait un code de ce genre:
http://www.cppfrance.com/code.aspx?ID=19105