2010-12-27 11 views
1

I'e bekamen einfachen RSA Python-Skript:Python PyCrypto und RSA Problem

import Crypto.PublicKey.RSA 
import rsakey 
from Crypto.PublicKey import pubkey 

# Some global stuff 
impl = Crypto.PublicKey.RSA.RSAImplementation(use_fast_math = True) 
RSAObj = impl.construct(rsakey.RSAKeys) 

def decrypt(encrypted): 
     return RSAObj.decrypt(encrypted) 

und wenn ich versuche, es zu laufen meine CLI zeigen Fehler:

Traceback (most recent call last):
File "otrsa.py", line 6, in impl = Crypto.PublicKey.RSA.RSAImplementation(use_fast_math = True) AttributeError: 'module' object has no attribute 'RSAImplementation'

ich Python wirklich sind neu und ich weiß nicht was es bedeutet. Ich wäre dankbar für jede Art von Hilfe.

Antwort

3

Crypto.PublicKey.RSA eine Klasse enthält RSAImplementation genannt genannt hat (siehe http://www.dlitz.net/software/pycrypto/apidoc/Crypto.PublicKey.RSA.RSAImplementation-class.html).

Folgende Arbeiten für me (in Python 2.7.1 auf 32-Bit-Windows).

import Crypto.PublicKey.RSA 
impl = Crypto.PublicKey.RSA.RSAImplementation() 

Beachten sie, dass in der Standardeinstellung wird schnell Mathematik verwendet werden, wenn es verfügbar ist Erzwingen use_fast_math verursacht nur einen Laufzeitfehler, wenn es nicht verfügbar ist.

+0

Ich weiß, dass es aus PyCrypto's all-zu-spärlicher Dokumentation nicht klar ist, aber RSAImplementation ist eine interne API, die sich in der Zukunft ändern kann. Der einzige Grund dafür ist, dass die SelfTest-Module neben dem Fastmath-Code den Nicht-Fastmath-Code testen können. Bitte melden Sie einen Fehler unter https://bugs.launchpad.net/pycrypto/+bugs, wenn Sie feststellen, dass Sie die üblichen Methoden RSA.construct, RSA.generate usw. nicht verwenden können. – dlitz

0

Hmmm, ich bekomme den gleichen Fehler - vielleicht ein Miss-Match zwischen den Dokumenten und Code?

Was ich wenig pyCrypto verwendet habe, ich habe M2Crypto insgesamt eine bessere Bibliothek gefunden - Sie möchten es vielleicht ausprobieren.

0

Es bedeutet, dass Crypto.PublicKey.RSA nicht die Funktion/Variable ‚RSAImplementation“

+0

Es bedeutet, dass er irgendwie das Modul nicht richtig importiert, weil das Pycrypto-Modul höchstwahrscheinlich eine Crypto.PublicKey.RSA.RSAImplementation-Klasse hat. –

Verwandte Themen