Частное / общедоступное шифрование в Python со стандартной библиотекой

Есть ли модуль, который не удалось обнаружить при поиске, который позволил бы написать такой код? Причина, по которой вы хотите писать такой код, неважна. Все, что мне нужно, это какой-то код, который имеет простой API для генерации открытых и закрытых байтовых ключей и для простого кодирования и декодирования данных с помощью этих ключей.

import module, os

method, bits, data = 'RSA', 1024, os.urandom(1024)
public, private = module.generate_keys(method, bits)

assert isinstance(public, bytes) and isinstance(private, bytes)
assert module.decode(module.encode(data, private), public) == data
assert module.decode(module.encode(data, public), private) == data

Большая часть того, что кажется доступным, требует загрузки пакета и работает только на Python 2.x. Также довольно часто можно найти библиотеки, которые работают с файлами PEM или другими типами сертификатов. Я бы хотел избежать необходимости иметь дело с такими файлами, генерировать открытые и закрытые ключи на лету и быстро работать с данными в памяти.

18
задан Bruno 17 January 2012 в 12:38
поделиться