Fonction C # ModInverse
Est-il construit en fonction qui me permettrait de calculer l'inverse modulaire de a(mod n)?
par exemple, 19^-1 = 11 (mod 30), dans ce cas la 19^-1 == -11==19;
source d'informationauteur Nook
Vous devez vous connecter pour publier un commentaire.
Depuis .Net 4.0+ met en œuvre BigInteger avec une spéciale de l'arithmétique modulaire fonction ModPow (qui produit des “
X
puissanceY
moduloZ
”), vous n'avez pas besoin d'une bibliothèque tierce pour émuler ModInverse. Sin
est un nombre premier, tout ce que vous devez faire est de calculer:Pour plus de détails, regardez dans Wikipédia: Modulaire inverse multiplicatifsection En utilisant le théorème d'Eulerle cas particulier “lorsque m est un nombre premier”. Par ailleurs, il existe une plus récente, DONC sujet sur ce: 1/BigInteger en c#avec la même approche proposé par CodesInChaos.
La BouncyCastle bibliothèque Crypto a un BigInteger de mise en œuvre qui a le plus de l'arithmétique modulaire fonctions. C'est dans le Org.BouncyCastle.Les mathématiques de l'espace de noms.
Il n'y a rien de construit en C# à l'appui de l'arithmétique modulaire. Vous devez le faire vous-même, ou mieux encore, trouver une bibliothèque.
Il n'y a pas de bibliothèque pour arriver inverse de mod, mais le code suivant peut être utilisé pour l'obtenir.