1
2
3
4 """PyCrypto RSA implementation."""
5
6 from .cryptomath import *
7
8 from .rsakey import *
9 from .python_rsakey import Python_RSAKey
10
11 if pycryptoLoaded:
12
13 from Crypto.PublicKey import RSA
14
16 - def __init__(self, n=0, e=0, d=0, p=0, q=0, dP=0, dQ=0, qInv=0):
17 if not d:
18 self.rsa = RSA.construct( (long(n), long(e)) )
19 else:
20 self.rsa = RSA.construct( (long(n), long(e), long(d), long(p), long(q)) )
21
23 return getattr(self.rsa, name)
24
26 return self.rsa.has_private()
27
29 c = self.rsa.decrypt((m,))
30 return c
31
33 m = self.rsa.encrypt(c, None)[0]
34 return m
35
40 key.rsa = RSA.generate(bits, f)
41 return key
42 generate = staticmethod(generate)
43