Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
940 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  comment utilisé la bibliothéque gmp sous windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment utilisé la bibliothéque gmp sous windows

n°1052428
oulddah
Posté le 19-04-2005 à 16:12:32  profilanswer
 

Bonjour
j'ai la bibliotheque gmp.h et les dlls de platforme deja extractés pour windows et je veux les utilisés pour un programme écrit en Borland C++ aidé moi pour l'utilisation,l'emplacement des fichiers et la liaisons de bibliotheque dynamique avec mon programme, si vous êtes deja passer par cette étape.
merci


---------------
oualataSoft
mood
Publicité
Posté le 19-04-2005 à 16:12:32  profilanswer
 

n°1052584
oulddah
Posté le 19-04-2005 à 17:31:52  profilanswer
 

la biblio gmp.h est destinée pour linux mais on peut l'utiliser sous windows avec des conditions tq l'utilisation des dlls specifiques  
j'ai ces dlls et le gmp.h mais et je fait include "gmp.h" mais j'ai des erreur ??????????


---------------
oualataSoft
n°1052672
Tarabiscot​e
Posté le 19-04-2005 à 18:35:47  profilanswer
 

C'est quoi les erreurs ?
 
Si tu utilises la dll de façon statique, tu as rajouté la librairie d'import lors du linkage ?

n°1052743
oulddah
Posté le 19-04-2005 à 19:24:38  profilanswer
 

des erreur de type:
__gmp_set_memory function is not parameter
ils ont me dit que c'est a cause non reconnaissace de la dll


---------------
oualataSoft
n°1052844
Tarabiscot​e
Posté le 19-04-2005 à 21:06:28  profilanswer
 

Je crois que je comprend pas ce que tu dis  :??:
 
Il te dit la ligne de l'erreur ?
Tu peux montrer un peu ton code ?

n°1053071
blastman
just me !
Posté le 20-04-2005 à 02:32:52  profilanswer
 

salut  :hello:  
 
je ne sais pas si cela peu t'aider mais jette y un oeil (facon de parler of course  :D )
http://www.cs.nyu.edu/exact/core/gmp/


---------------
http://www.blastmanu.info
n°1053242
oulddah
Posté le 20-04-2005 à 10:43:05  profilanswer
 

oui voilà le dode  
 
#include <stdio.h>
#include "gmp.h"
 
/* Variable d'état pour le générateur aléatoire */
gmp_randstate_t etat;
 
/* Fonction aleatoire  
   renvoie un grand nombre aléatoire qui a env. taille chiffres */
 
void aleatoire(mpz_t nombre, int taille)
{
  unsigned long int i;
  mpz_t deuxn;  
 
  mpz_init(deuxn);
 
  i = (taille+1)*4;
 
  /* Calcul un nombre aléatoire entre 0 et 10^(n+1) */
  mpz_urandomb(nombre, etat, i);
 
  /* Résultat minimum: 10^taille */
  mpz_ui_pow_ui(deuxn, 10, taille);
 
  /* Ajoute les deux résulats */
  mpz_add(nombre,nombre,deuxn);
 
  mpz_clear(deuxn);
}
 
/* Fonction premier */
 
void premier(mpz_t premier, int taille)
{
  /* Prend un nombre au hasard de taille donnée */
  aleatoire(premier, taille);
 
  /* Prend le nombre premier qui suit notre nombre au hasard */
  mpz_nextprime(premier, premier);
}
 
/* Fonction phi
   calcule phi(pq)=(p-1)(q-1) */
 
void calculephi(mpz_t phi, mpz_t p,mpz_t q)
{
  mpz_t a;
  mpz_t b;
 
  mpz_init_set(a, p);
  mpz_init_set(b, q);
 
  mpz_sub_ui(a, a, 1);
  mpz_sub_ui(b, b, 1);
 
  mpz_mul(phi, a, b);
 
  mpz_clear(a);
  mpz_clear(b);
}
 
void cles(mpz_t a, mpz_t b, mpz_t p, mpz_t q, int taille)
{
  mpz_t phi;
  mpz_t temp;
     
  mpz_init(phi);
  mpz_init(temp);
 
  /* Calcul de phi */
  calculephi(phi,p,q);
   
  /* Choix de a, clé publique, avec (a,phi(n))=1 */
  do {
    aleatoire(a, taille);
    mpz_gcd(temp, a, phi);
  } while (mpz_cmp_ui(temp,1)!=0);
 
  /* Calcul de b, clé privée correspondante */
  mpz_invert(b, a, phi);
}
 
int main() {
  int taille;
  unsigned long int graine;
  mpz_t n,p,q,phi,a,b, clair, code, resultat;
 
  mpz_init(p);
  mpz_init(q);
  mpz_init(n);
  mpz_init(a);
  mpz_init(b);
  mpz_init(clair);
  mpz_init(code);
  mpz_init(resultat);
 
  printf("Graine pour le générateur aléatoire ? " );
  scanf("%d",&graine);
  printf("Taille de p et q ? " );
  scanf("%d",&taille);
  gmp_randinit(etat, GMP_RAND_ALG_DEFAULT);
  gmp_randseed_ui(etat, graine);
  mpz_urandomb(clair, etat, 10);
 
  /* Choix de p et de q différents l'un de l'autre */
 
  do {
    premier(p, taille);
    premier(q, taille);
  }  while (mpz_cmp(p, q)==0);
 
  /* Calcul de n */
  mpz_mul(n,p,q);
 
  /* Calcul des clés */
  cles(a,b,p,q, taille);
 
  /* Affichage de p,q,n,a,b */
 
  printf("\n\nParamètres de chiffrement :\n\n" );
  printf("p = " ); mpz_out_str(stdout, 10, p); printf("\n" );
  printf("q = " ); mpz_out_str(stdout, 10, q); printf("\n" );
  printf("n = " ); mpz_out_str(stdout, 10, n); printf("\n" );
  printf("a = " ); mpz_out_str(stdout, 10, a); printf("\n" );
  printf("b = " ); mpz_out_str(stdout, 10, b); printf("\n" );
     
  printf("\n\n" );
 
  /* Choix d'un message aléatoire et impression */
  aleatoire(clair, taille);
  printf("Message à chiffrer: " ); mpz_out_str(stdout, 10, clair); printf("\n" );
 
  /* Calcul du message chiffré et impression */
  mpz_powm(code, clair, a, n);
  printf("Message chiffré: " ); mpz_out_str(stdout, 10, code); printf("\n" );
 
  /* Calcul du message déchiffré et impression */
 
  mpz_powm(resultat, code, b, n);
  printf("Message déchiffré: " ); mpz_out_str(stdout, 10, resultat); printf("\n" );
 
}


---------------
oualataSoft
n°1054201
blastman
just me !
Posté le 20-04-2005 à 20:13:47  profilanswer
 

une balise [C.O.D.E] existe bordel


---------------
http://www.blastmanu.info

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  comment utilisé la bibliothéque gmp sous windows

 

Sujets relatifs
gnuplot pour windows?cherche fonction pour lire&modifier la résolution d'écran sous windows
Contrôle/fonctions Windows utilisant la base de données TZconfiguration port parallele sous windows xp
Charger BDD dans mySQL (Windows)RequestFocus & Windows 98 ...
Reconnaissanc d'un vbs sur windows 95, possible ?passage de parametres sous windows
[ C ] Où trouver une bibliothèque graphique gratuite pour Windows ?[windows VC++] Bibliothèque (style MFC) pour créer des outils
Plus de sujets relatifs à : comment utilisé la bibliothéque gmp sous windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR