Chargement…
Chargement…
Avec R=256 et un module impair m<=255, le bloc retourne x*y*R^-1 mod m. Les entrées satisfont 0<=x,y<m. Ce résultat est un produit de Montgomery, pas directement x*y mod m sauf si les opérandes ont été préparées pour ce domaine.
Initialisez t=0. Pour chacun des huit bits de x, du poids faible au poids fort: ajoutez y à t si le bit vaut 1; si t est impair, ajoutez m; divisez ensuite t par deux. Après la huitième étape, soustrayez m si t>=m.
Pour m=251, R^-1=201. Le testbench vérifie plusieurs produits, les valeurs proches du module et zéro.