<?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.
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" /??>
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
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 ?
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.