2012-10-07 7 views
0

Je suis novice en programmation et j'ai fait un cours de cryptographie sur Coursera avant de commencer à apprendre Python. Récemment, en tant que projet, j'ai voulu écrire mon propre code pour l'algorithme RSA. Je viens de terminer l'écriture du processus de chiffrement qui est en tant que tel:Temps de calcul pour RSA?

enter image description here

Cependant, le programme est en cours d'exécution maintenant et prend beaucoup de temps. J'ai remarqué, il a fallu beaucoup de temps pour les clés et les modulos à calculer en raison de la taille pure. Parce que je suis nouveau dans tout cela, je ne sais pas assez et je me demandais s'il y avait un moyen d'accélérer le processus?

Si mon code doit être affiché, je peux le faire mais je préférerais une réponse plus générale sur la façon d'accélérer le code.

Merci

+1

oui, le code est nécessaire pour que nous puissions vous aider. – Femaref

+3

Utilisez-vous la forme à trois arguments de la fonction intégrée 'pow' de Python? Sinon, vous pourriez vouloir regarder cela. ('help (pow)') –

+2

SO n'est pas un endroit approprié pour demander une "réponse générale". –

Répondre

2

J'ai aussi suivi le cours sur coursera. Vous devriez vérifier les bibliothèques suivantes, il peut accélérer vos calculs énormément:

1.) http://userpages.umbc.edu/~rcampbel/Computers/Python/lib/numbthy.py (check the powmod function) 
2.) gmpy2 (gmpy2.readthedocs.org/en/latest/mpz.html) 
3.) mpmath (code.google.com/p/mpmath/)