RSA Как на Java восстановить ключ и зашифровать данные по созданному на Python? Создали на Python приватный и публичный ключи:import rsa
(pubkey, privkey) = rsa.newkeys(512)
Публичный передаю клиенту на Java (modulus, exponent). Как по этим параметрам восстановить объект для зашифровки сообщения?
На Python та же проблема, если есть объект, то легко шифруется, а как получить этот объект из этих параметров?
Или нужно что-то ещё?

21 Авг 2019 в 07:11
185 +1
0
Ответы
1

На Java для восстановления объекта ключа RSA из переданных параметров (модуль и экспонента), можно воспользоваться классом RSAKeyParamsSpec из библиотеки Bouncy Castle. Вот пример кода:

import org.bouncycastle.crypto.params.RSAKeyParameters;
import org.bouncycastle.crypto.params.RSAPublicKeyParameters;
import org.bouncycastle.crypto.params.RSAKeyGenerationParameters;
import java.math.BigInteger;
//Получаем переданные параметры modulus и exponent
BigInteger modulus = new BigInteger(modulusBytes);
BigInteger exponent = new BigInteger(exponentBytes);
//Создаем объект RSAKeyParamsSpec
RSAKeyParameters keyParams = new RSAPublicKeyParameters(true, modulus, exponent);
//Теперь можно использовать объект keyParams для шифрования данных

На Python для восстановления объекта ключа RSA из переданных параметров аналогично можно воспользоваться объектом RSA.construct из библиотеки Crypto. Вот пример кода:

from Crypto.PublicKey import RSA
#Получаем переданные параметры modulus и exponent
modulus = int.from_bytes(modulusBytes, byteorder='big')
exponent = int.from_bytes(exponentBytes, byteorder='big')
#Создаем объект ключа RSA
key = RSA.construct((modulus, exponent))
#Теперь можно использовать объект key для шифрования данных

После того, как вы восстановите объект ключа на Java и Python, вы сможете использовать его для шифрования данных с помощью соответствующих методов шифрования в каждой из библиотек.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 913 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир