Найти - Пользователи
Полная версия: Посоветуйте хорошую библиотеку по криптографии, кроме PyCrypto, Python-RSA, M2Crypto
Начало » Python для экспертов » Посоветуйте хорошую библиотеку по криптографии, кроме PyCrypto, Python-RSA, M2Crypto
1
savao
Вопрос возник в связи с тем что ни одна из этих библиотек не подходят. А может я их не правильно готовлю.

Есть необходимость реализовать клиентскую часть гибридного алгоритма шифрования в котором используется паддинг PKCS1, библиотека PyCrypto реализует этот алгоритм не так как он реализован на целевом сервере и зашифрованное сообщение сервер не может расшифровать, говорит:

RSA_decrypt error: RSA_verify <error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check failed>

Нашёл в инете что есть у этого модуля такая беда и вроде как можно использовать Python-RSA, он этой болячкой не страдает. Зато не хочет читать публичный ключ сервера.

Та же беда и с M2Crypto.
py.user.next
Приведи пример, как генерируешь ключ в питоне.
savao
from Crypto.PublicKey import RSA
from Crypto import Random
from Crypto.Cipher import PKCS1_v1_5
from Crypto.Signature import PKCS1_v1_5 as pkcs
from Crypto.Hash import SHA

con = Connection.objects.get(id=1)
key = Random.new().read(8)
spk = RSA.importKey(con.serv_key)
cipherrsa = PKCS1_v1_5.new(spk)
ckey = cipherrsa.encrypt(key)
dig = SHA.new(ckey)
pk = RSA.importKey(con.RSA_private_key)
signature = pkcs.new(pk)
sig = signature.sign(dig.digest())
Где модель Connection содержит такую инфу:
serv_key - публичный ключ сервера
RSA_private_key - приватный ключ клиента
py.user.next
Попробуй для начала не шифровать, а просто подписать незашифрованное.
И посмотри, проверяет ли сервер подпись.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB