PHP nombre trop grand (INF)

Résolu
dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   -  
dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je dois manipuler un très grand nombre mai je ne peux pas car php me retourne infini
Comment puis je contourné ce problème ?

function puissance($x,$y)
{
$resultat=1;

for ($i=0;$i<$y;$i++)
$resultat *= $x;
return $resultat;
}

$beta = 115;
$gamma = 163;
echo puissance($beta,$gamma).'<br />';

je dois le faire dans le contexte du cryptage RSA.

Merci d'avance a tous ceux qui pourront m'aider a avancer dans ce problème.

3 réponses

  1. dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   104
     
    j'ai trouver la solution sur
    http://mathematiques.ac-dijon.fr/experiences/sequences/arithmetique/exponentiation_modulaire.htm

    dans le cadre du cryptage RSA
    c'est a dire A puissance n % m

    pas facile d'expliquer :

    il faut convertir en binaire la puissance.
    chaque 1 ou 0 représente une opération

    on commence par le (nombre a la puissance 1) modulo (le nombre du modulo)
    on récupère le reste puis

    le reste puissance 2 multiplier par
    le nombre a la puissance 1 modulo (le nombre du modulo)

    *le nombre a la puissance 1 est présent par rapport au binaire, si il y a un 0 on ne multiplie pas mai on passe direct au modulo (le nombre du modulo)

    soit le reste*reste % x = reste_suivant
    Sinon
    (reste*reste ) * le nombre a la puissance1 % le nombre du modulo
    1
  2. pols12 Messages postés 1143 Date d'inscription   Statut Membre Dernière intervention   120
     
    Salut
    La fonction pow ne va-t-elle pas ?
    https://www.php.net/manual/fr/function.pow.php
    0
    1. dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   104
       
      en testant elle me retourne inf

      et même avec ça :

      echo (pow($beta, $gamma)%253).'<br />'; // =0
      0
    2. pols12 Messages postés 1143 Date d'inscription   Statut Membre Dernière intervention   120
       
      Désolé, je ne sais pas.

      Peux-être dans les paramètres de PHP peut-on régler letemps de calcul maximum de PHP ? Je ne suis en tout cas pas en mesure de t'aider. Désolé.
      0
    3. dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   104
       
      j'ai pensé aussi a ça mai de toute manière je dois rester sur de l'algorithme
      car le langage ne sera peut être pas du PHP.

      merci de ton aide :)
      0
  3. dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   104
     
    je suis sur une piste "Exponentiation rapide"
    0
    1. dream666 Messages postés 735 Date d'inscription   Statut Membre Dernière intervention   104
       
      jai un peu resolu le probleme :
      echo bcpowmod($beta, $gamma, 253).'<br />';
      reste a savoir si d'autre langage dont java, le font
      0