RSA-шифрование с использованием пользовательских ключей в python - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь зашифровать небольшой объем данных, используя алгоритм RSA, используя python. Проблема в том, что у меня есть publi c и закрытый ключ RSA. Оба хранятся в .pem и .ppk соответственно. Я не могу найти какую-либо помощь в Google, которая поможет мне зашифровать ее с помощью моих ключей. Весь код и примеры, которые я видел, генерируют свои собственные ключи. Есть ли способ, где я могу использовать свои собственные ключи для шифрования и дешифрования данных?

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Вы можете использовать модуль rsa.

import rsa
with open('public.ppm','r') as  key_pub_file:
     key_pub = key_pub_file.read()
     message = "hello".encode('utf8')
     enc_msg = rsa.encrypt(message, key_pub)
     print(enc_msg)
0 голосов
/ 27 февраля 2020
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_PKCS1_v1_5
from base64 import b64decode,b64encode
f1 = open('public.ppm','r')
pubkey = f1.read() 
#pubkey = 'MIGfMA0GCSqGSIb3DQEBA3UAWE0HSQ77CwP/8UbX07W2XKwng/nMT1R7vaz+2EeNR/FitFXwIDAQAB'
msg = "test"
keyDER = b64decode(pubkey)
keyPub = RSA.importKey(keyDER)
cipher = Cipher_PKCS1_v1_5.new(keyPub)
cipher_text = cipher.encrypt(msg.encode())
emsg = b64encode(cipher_text)
print(emsg)

Во время попытки я обнаружил, что этот код работает. Переменная msg содержит данные, которые должны быть зашифрованы, а pubkey содержит ключ publi c, который может быть взят из файла ppm.

...