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

Algorithmes et structures de données Discussion :

Algorithme de Pollard p-1


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Algorithme de Pollard p-1
    Bonjour,

    J'étudie cet algorithme de factorisation, mais il y a encore quelques points obscurs, notament, j'aurai aimé savoir comment peut on détecter si l'entier a choisi (au hasard) n'est pas convenable, d'apres le resultat ?
    (par exemple pgcd (a^k -1, n) = n ou 1 ...)
    Apparement si la borne B est insuffisante j'ai constamment un pgcd qui vaut 1... que vaut il si a n'etait pas convenable ?

    En effet, il faudrai un moyen de savoir si l'echec dans la recherche d'un diviseur non trivial viens du fait que n n'est pas B-friable (cad que B n'est pas assez élevé) ou du fait que l'on a choisit un a qui ne convenait pas (car divisant p)

    Merci.

    Nilss

  2. #2
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Si l'entier choisi est trop petit, le PGCD vaut 1. S'il est trop grand (supérieur ou égal au plus grand diviseur de tous les P - 1), le PGCD vaut n. Entre les deux, c'est bon !

    [edit]Si a divise p, comme p divise n, donc a divise n. La factorisation est faite directement. Mais comme en général ça sert à factoriser des grands nombres, ça serait vraiment pas de pot[/edit]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    En fait, il y a plusieurs choses que je ne comprend pas très bien.
    Je vais dejà réexposer la méthode, ce que j'en ai compris, pour que ce soit clair

    On veut factoriser n. On fixe B.
    On suppose que n possede un facteur premier p, tel que tous les facteurs premiers de p-1 sont inferieurs à l'entier B.

    alors on est sur que B! est un multiple de p-1 : B! = k*(p-1)

    On choisit enfin a tel que p ne divise pas a.
    Donc on peut écrire le petit th de Fermat :

    a^(p-1) = 1 [p] donc a^(B!) = 1 [p] et donc p | a^(B!) -1

    Donc on sait que p | n et que p|a^(B!) -1 et pgcd(a^(B!) -1 , n ) donne (ou peut donner ?) un diviseur de n qui n'est pas 1 ni n.



    Voila donc tout d'abord, ce que je ne comprend pas, c'est pourquoi prendre le pgcd ? est ce qu'on espere de cette manière tomber sur p par le pgcd ? (sachant que p est un diviseur des deux)
    si toutes les hypotheses sont respectées (p ne divise pas a et il existe un facteur p de n tel que les facteurs premiers de p-1 sont inferieurs au B choisi) , est - on sur que cela donnera un diviseur non trivial ?

    Et enfin, je me demandais aussi pourquoi un B trop grand engendre systématiquement l'echec de la méthode.
    En effet, pour un B trop petit je comprend bien (à ce moment là p-1 peut ne pas etre B-lisse), mais pour B trop grand j'avoue que je ne vois pas pourquoi ça ne marcherai pas... serait ce à l'étape du PGCD qu'un B trop grand pourrait etre génant ?


    Merci
    Nilss.

  4. #4
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Citation Envoyé par Nilss
    Voila donc tout d'abord, ce que je ne comprend pas, c'est pourquoi prendre le pgcd ? est ce qu'on espere de cette manière tomber sur p par le pgcd ? (sachant que p est un diviseur des deux)
    si toutes les hypotheses sont respectées (p ne divise pas a et il existe un facteur p de n tel que les facteurs premiers de p-1 sont inferieurs au B choisi) , est - on sur que cela donnera un diviseur non trivial ?
    Peu importe sur quoi on tombe. Si on trouve un PGCD différent de 1 et de n, c'est donc un diviseur de n. Si on veut tous les diviseurs premiers, il faut à nouveau factoriser les deux diviseurs trouvés de cette manière (à moins qu'ils soient premiers, et dans ce cas l'un des deux est p).

    Citation Envoyé par Nilss
    Et enfin, je me demandais aussi pourquoi un B trop grand engendre systématiquement l'echec de la méthode.
    Parce que si n a un diviseur p, il en a forcément au moins un autre (appelons-le q) tel que n = p * q. Si B est trop grand, ce qui s'applique à p s'applique aussi à q. B! sera aussi un multiple de q - 1. Le PGCD sera un multiple de p et de q, donc de p * q, en d'autres termes de n.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci 10_GOTO_10

    Si on prend le cas d'un entier RSA n = p*q avec p et q premiers,
    en fait il faut que B soit tel que p soit B-lisse, mais pas q (ou inversement).

    Donc en cas d'échec, on joue plutot sur la borne B que sur a (d'ailleurs c'est vrai... dans le cas d'un entier RSA, si on prend un a petit (genre 5), on est sur que p ne divisera pas a vu que p est quand meme assez conséquent).

    Bon enfin tout ça c'est ce que j'ai compris

    Nilss.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formalisation graphique des algorithmes
    Par David R. dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 08/12/2012, 10h21
  2. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  4. Recherche de documentation complète en algorithmes
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/03/2002, 12h09
  5. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

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