Module de puissance des grands nombres

Je suis en train de mettre en œuvre l'algorithme SAFER+. L'algorithme nécessite de trouver le module d'une fonction de puissance comme suit:

pow(45, x) mod 257

La variable x est un octet, et peut donc aller de 0 à 255. En conséquence, le résultat de la fonction de puissance peut être TRÈS grande, résultant en des valeurs incorrectes si mis en œuvre à l'aide de la version 32 ou 64 bits entiers.

Comment puis-je effectuer ce calcul?

quel langage de programmation?
Si je ne suis pas totalement dans l'erreur et n'oubliez pas correctement qu'il existe des formules spéciales pour les puissances de calcul du module d'espaces, le module de calcul est la partie importante de la question, la question est donc indépendant de la langue.
Introduction à la lecture: Le groupe multiplicatif des entiers. C'est trop il y a longtemps pour moi de répondre, mais peut-être que quelqu'un se souvient.
Il y a une SAFER+ mise en œuvre écrite en C, vous pouvez étudier ici: schneier.com/book-applied-source.html

OriginalL'auteur Eng. Aws | 2011-11-27