trunk2005
Messages postés15Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention25 octobre 2006
-
25 sept. 2006 à 15:03
cs_sidina
Messages postés6Date d'inscriptionsamedi 23 octobre 2004StatutMembreDernière intervention17 janvier 2007
-
17 janv. 2007 à 14:48
Salut tous,
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
J’aimerais savoir si qqn de vous aurait déjà travailler avec la librairie GMP (Gnu Multiple Précision) a réussi à compiler l’exemple ‘ecdsa.c’ fourni dans ecc-lib-2.0 dans visual studio (6 ou .net.)
J’ai des erreurs malgré les références vers les dossiers ‘include’ et ‘lib’ de ecc-lib-2.0.
Rq : J’ai déjà installé la librairie GMP et j’ai pu compiler qq exemples qui utilisent des fonctions de cette dernière.
trunk2005
Messages postés15Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention25 octobre 2006 3 oct. 2006 à 17:00
En fin j'ai réussi exécuter l'exemple de signature numerique avec les courbes elliptiques «ECDSA», il m’a fallait juste un peu de temps pour s'adapter au C++.
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
trunk2005
Messages postés15Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention25 octobre 2006 28 sept. 2006 à 13:10
Apparemment je n’ai pas bien expliqué mon sujet, en fait j’aimerai utiliser la cryptographie avec les courbes elliptiques. J’ai téléchargé la librairie ecc-lib-2.0 http://www.ceid.upatras.gr/faculty/zaro/software/ecc-lib/ qui est une librairie pour la cryptographie avec les courbes elliptiques écrite en C et elle utilise la librairie Gnu Multiple Précision (GMP) pour l’arithmétique des nombres flottants haute-précision :<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
Le dossier ecc-lib-2.0 contient les dossiers : ‘include’, ‘lib’ et un fichier de test ecdsa.c, j’ai essayé plusieurs méthodes (mettre le contenu des dossiers dans le projet ou les référencés dans le projet…) pour compilé cette source sous Visual Studio 6 mais j’ai tjrs des erreurs de ‘Linking’ :
Linking...
ecdsa.obj : error LNK2001: unresolved external symbol ___gmpz_clear
ecdsa.obj : error LNK2001: unresolved external symbol _file_create_signature
ecdsa.obj : error LNK2001: unresolved external symbol _create_priv_and_public
ecdsa.obj : error LNK2001: unresolved external symbol _domain_parameters
ecdsa.obj : error LNK2001: unresolved external symbol _CMmethod
ecdsa.obj : error LNK2001: unresolved external symbol ___gmp_randseed
ecdsa.obj : error LNK2001: unresolved external symbol ___gmpz_set_ui
ecdsa.obj : error LNK2001: unresolved external symbol ___gmpz_init
trunk2005
Messages postés15Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention25 octobre 2006 25 oct. 2006 à 09:53
Salut, désolé pour le retard
Bon je détail comment j’avais bidouiller mais c’est peut être pas la meilleure solution :<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
J’ai téléchargé le fichier ‘gmp-dynamic-vc-4.1.2.zip’ dans laquel se trouve gmp.dll, gmpDebug.dll, gmp.lib et gmpDebug.lib.
J'ai ajouter gmp.dll et gmpDebug.dll dans le dossier system32 de WINDOWS
J'ai téléchargé fichier ‘ecc-lib-2.0.zip’ où se trouvent les codes sources de l’exemple ECDSA.
J’ai ajouter tous les codes sources dans Visual studio .Net (ou Visual studio 6.0)
Tu peux aussi mettre en commentaire la directive
//#include
Quand j’ai exécuter l’exemple j’avait des erreurs dans ‘protocols.c’ a cause de la fonction
mpz_out_str(stdout,10,r/s) j’ai juste mi 0 a la place stdout je sai pas pourquoi.
Aussi la fonction mpz_out_str(fpo,10,r/s) qui permet d'ecrire la signature(les valeurs de r et s) generée dans un fichier ‘signature’ :
Voila ce que j’avait fait pour afficher le resultat dans le console et l’ecrire dans le fichier ‘signature’ :
dans protocols.c
char
*
buffr;
char
* buffs;
.
.
.
buffr = malloc(sizeof(r));
buffs = malloc(sizeof(s));
mpz_out_str(0, 10, r);
mpz_get_str(buffr,10,r);
fprintf(fpo,"%s",buffr);
fputc(' ', fpo);
printf(" ");
mpz_out_str(0, 10, s);
mpz_get_str(buffs,10,s);
fprintf(fpo,"%s",buffs);
je sai pa si c la bonne solution parce qe ça prend environ 4 ou 5 second pour générer la signature du fichier 'README' fourni dans ecc-lib-2.0 (6 ko).
j'espere qe ce qe j'avais ecrit peut t'aider a resoudre ton probleme.
bon courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_sidina
Messages postés6Date d'inscriptionsamedi 23 octobre 2004StatutMembreDernière intervention17 janvier 2007 17 janv. 2007 à 14:48
j'ai travaillé sur le GMP mais avec Builder C++ et C sur l'environement Windows et tout est marcher avec une exception sur quelque opérations qui plante les processeurs de type Puntium mais c'est excelent pour les AMD.