GMP + courbes elliptiques [Résolu]

trunk2005 15 Messages postés samedi 11 novembre 2000Date d'inscription 25 octobre 2006 Dernière intervention - 25 sept. 2006 à 15:03 - Dernière réponse : cs_sidina 6 Messages postés samedi 23 octobre 2004Date d'inscription 17 janvier 2007 Dernière intervention
- 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.






      





Merci d’avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
trunk2005 15 Messages postés samedi 11 novembre 2000Date d'inscription 25 octobre 2006 Dernière intervention - 3 oct. 2006 à 17:00
3
Merci
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" /??>
 




A+. 

Merci trunk2005 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de trunk2005
trunk2005 15 Messages postés samedi 11 novembre 2000Date d'inscription 25 octobre 2006 Dernière intervention - 28 sept. 2006 à 13:10
0
Merci
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





Debug/ECDSA.exe : fatal error LNK1120: 8 unresolved externals





Error executing link.exe.       






 





Je suis nouveau dans Visual Studio 6 et je pense que le problème est que je n’arrive pas utilisé les sources que j’ai convenablement .

Merci
Commenter la réponse de trunk2005
Camsh 1 Messages postés vendredi 16 juin 2006Date d'inscription 23 octobre 2006 Dernière intervention - 23 oct. 2006 à 14:45
0
Merci
Hello

J'ai le meme probleme de linkage alors j'aurai aimé savoir comment tu l'as résolu ! :)

Merci
Commenter la réponse de Camsh
trunk2005 15 Messages postés samedi 11 novembre 2000Date d'inscription 25 octobre 2006 Dernière intervention - 25 oct. 2006 à 09:53
0
Merci
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)






 






Dans la classe ‘ecdsa.c’ j’ai ajouté :






 






#pragma

comment
(
lib
,
"gmpDebug.lib"
) ou
#pragma
comment
(
lib
,
"gmp.lib"
)


 










 






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.   
Commenter la réponse de trunk2005
trunk2005 15 Messages postés samedi 11 novembre 2000Date d'inscription 25 octobre 2006 Dernière intervention - 25 oct. 2006 à 16:38
0
Merci
ah j'ai oublier il faut aussi ajouter gmp.h qui se trouve dans 'gmp-dynamic-vc-4.1.2' dans VS.

a+.
Commenter la réponse de trunk2005
cs_sidina 6 Messages postés samedi 23 octobre 2004Date d'inscription 17 janvier 2007 Dernière intervention - 17 janv. 2007 à 14:48
0
Merci
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.

OULDDAH
Commenter la réponse de cs_sidina

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.