Проблема с расшифровкой объединенного (rsaCipher + String) - PullRequest
0 голосов
/ 23 января 2019

msg = строка + rsa_encryped_result rsa_encrypt (msg) не удалось расшифровать, когда мы соединяем строку с rsaResult включите код

мы пытались перейти на base64 вместо String, также используем PAD,

class Crypto():


    def __init__(self):
        random_generator = Random.new().read
        self.private_key = RSA.generate(1024, random_generator)
        self.public_key = self.private_key.publickey()

    def get_string_public_key(self):
        return self.public_key.exportKey()

    def decrypt_message(self, message):
        decrypted_message = self.private_key.decrypt(message)
        return decrypted_message

def encrypt_message(message, public_key):
    encrypted_message = public_key.encrypt(message, 32)[0]
    return encrypted_message


def make_public_key(string_key):
    return RSA.importKey(string_key)

bob = Crypto()


first_msg = "Hello World"
print first_msg + ' - the original'
msg1 = encrypt_message(first_msg, make_public_key(bob.get_string_public_key()))
msg2 = msg1 + "Hello again"
msg3 = encrypt_message(msg2, make_public_key(bob.get_string_public_key()))
# work ok
print 'simple one \r\n', bob.decrypt_message(msg1)  

print msg2 + ' the second one'
msg3 = bob.decrypt_message(msg2)
# does not work
print 'second one \r\n', msg3  

print msg3.find("again")

мы ожидали найти строку «снова» внутри msg3, но мы не

second one 
w%z�� ����bV�W�T    ?�q
H?�)�9��)0�Ӕk��Ӯ4dK-�CH��!�b�5��d�_������Ð�a2g
����K��_E�n�Wܧlz]y�~�jBY�̐&}\��h���$��WZ��
-1

Ответы [ 2 ]

0 голосов
/ 27 января 2019

после прочтения больше о RSA я понимаю, что нет никакого способа делать то, что я хочу (оборачивать сообщения один на один различными RSA-ключами, а они снова их оборачивают).поэтому я выбрал другой алгоритм: я использовал RAC4 - симметричный алгоритм для шифрования сообщений, которые я использовал RSA - для отправки ключа RAC4 по сети благодаря всем

0 голосов
/ 23 января 2019

Вы пытались расшифровать msg2, а не msg3, поэтому он не работает, msg2 не является действительным зашифрованным rsa, поэтому расшифровка не понимает

...