IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Java Discussion :

Procede signature numérique, trouvez le facteur d'un BigInteger


Sujet :

Sécurité Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut Procede signature numérique, trouvez le facteur d'un BigInteger
    Bonjour a tous,
    Mon binome et moi avons un problème en ce qui concerne le procédé de signature numerique de Pointcheval-Vaudenay.

    Nous devons trouvé un nombre premier p appartenant à ]2^511,2^512[ et un nombre premier q appartenant à ]2^159,2^160[ qui est facteur de p-1.

    Grâce à la classe BigInteger de l'API Java nous avons trouvé un nombre p premier ( grâce à la méthode ProbablePrime ), ainsi que p-1.

    Par contre on a aucune idée de comment trouver le q. En effet si on génère un nombre premier q avec ProbablePrime comment s'assurer qu'il est bien le facteur de p-1.

    La méthode divide( p-1/q) nous retourne toujours un BigInteger pourtant nous ne sommes jamais sur que q est bien facteur de p-1 car divide cast le résultat en BigInteger.

    Nous avons crée une boucle avec la fonction remainder pour vérifier que le reste est nulle, si ce n'est pas le cas la boucle est relancée.

    BigInteger q = BigInteger.probablePrime(160, new Random());

    while((p.subtract(BigInteger.ONE)).remainder(q) != BigInteger.ZERO) {
    q = BigInteger.probablePrime(160, new Random());
    }

    Cependant cela tourne, tourne, tourne et ne trouve jamais.

    Ma question est donc comment (quelle méthode utilisé) s'assurer que le nombre q est bien facteur de p-1.

    Votre aide serait très souhaitable.
    Merci d'avoir pris le temps de me lire.

    ps: p.substract(BigInteger.ONE) est fait pour trouver p-1

    Merci d'avance

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jei,

    Ce que tu demandes est du niveau arithmétique élémentaire, il suffit d'appliquer à des BigInteger.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut
    Merci pour ta réponse svp, mais pourrais tu être un peu plus précis, donner une piste (Euler/Euclide/Gauss un truc quoi )

    Merci d'avance

Discussions similaires

  1. Signature numérique d'un applet
    Par pikajojo dans le forum NetBeans
    Réponses: 5
    Dernier message: 15/12/2006, 10h32
  2. [GD] ajouter un texte sur une image uniquement à l'impression signature numérique
    Par DrHelmut dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2006, 16h13
  3. [thunderbird] Signature numérique facétieuse
    Par Eusebius dans le forum Thunderbird
    Réponses: 6
    Dernier message: 20/07/2006, 13h56
  4. Inserer une signature numérique
    Par spopofes dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 05/06/2006, 19h05
  5. [VB6] Ajouter une signature numérique VB
    Par alexxx69 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/06/2006, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo