diff --git a/src/Crypt/CryptRsa.py b/src/Crypt/CryptRsa.py deleted file mode 100644 index 02df8f41..00000000 --- a/src/Crypt/CryptRsa.py +++ /dev/null @@ -1,65 +0,0 @@ -import base64 -import hashlib - -def sign(data, privatekey): - import rsa - from rsa import pkcs1 - from Crypt import CryptEd25519 - ## v3 = 88 - if len(privatekey) == 88: - prv_key = base64.b64decode(privatekey) - pub_key = CryptEd25519.publickey_unsafe(prv_key) - sign = CryptEd25519.signature_unsafe(data, prv_key, pub_key) - return sign - - if "BEGIN RSA PRIVATE KEY" not in privatekey: - privatekey = "-----BEGIN RSA PRIVATE KEY-----\n%s\n-----END RSA PRIVATE KEY-----" % privatekey - - priv = rsa.PrivateKey.load_pkcs1(privatekey) - sign = rsa.pkcs1.sign(data, priv, 'SHA-256') - return sign - -def verify(data, publickey, sign): - import rsa - from rsa import pkcs1 - from Crypt import CryptEd25519 - - if len(publickey) == 32: - try: - valid = CryptEd25519.checkvalid(sign, data, publickey) - valid = 'SHA-256' - except Exception as err: - print(err) - valid = False - return valid - - pub = rsa.PublicKey.load_pkcs1(publickey, format="DER") - try: - valid = rsa.pkcs1.verify(data, sign, pub) - except pkcs1.VerificationError: - valid = False - return valid - -def privatekeyToPublickey(privatekey): - from Crypt import CryptEd25519 - import rsa - from rsa import pkcs1 - - if len(privatekey) == 88: - prv_key = base64.b64decode(privatekey) - pub_key = CryptEd25519.publickey_unsafe(prv_key) - return pub_key - - if "BEGIN RSA PRIVATE KEY" not in privatekey: - privatekey = "-----BEGIN RSA PRIVATE KEY-----\n%s\n-----END RSA PRIVATE KEY-----" % privatekey - - priv = rsa.PrivateKey.load_pkcs1(privatekey) - pub = rsa.PublicKey(priv.n, priv.e) - return pub.save_pkcs1("DER") - -def publickeyToOnion(publickey): - from Crypt import CryptEd25519 - if len(publickey) == 32: - addr = CryptEd25519.publickey_to_onionaddress(publickey)[:-6] - return addr - return base64.b32encode(hashlib.sha1(publickey).digest()[:10]).lower().decode("ascii")