RSA шифрование. Так должно быть или это такая реализация библиотеки? Здравствуйте! Подскажите пожалуйста, должно ли так быть или это не совсем RSA?
Использую библиотеку phpseclib в тестовом проекте.
Генерирую 100 ключей и сохраняю их в конфигурационные файлы, где название === подсоленному хешу от публичного и приватного ключа. Длина приватного ключа === 2048.public function gen_rsa()
{
$this->_include_crypt('Math_BigInteger');
$this->_include_crypt('Crypt_RSA');
$rsa = new \Crypt_RSA();
for($i=0;$icreateKey(2048);
$this->_save_rsa($keys['privatekey'], $keys['publickey']);
}
}
Потом пробую поработать с этой библиотекойpublic function test_rsa()
{
$response = [];
$this->_include_crypt('Math_BigInteger');
$this->_include_crypt('Crypt_RSA');
$rsa = new \Crypt_RSA();
$k = $this->_load_rsa('9962e61c03618f2e3eace79d604d6783'); // произвольно выбранный ключ из 100
# encrypt
$rsa->loadKey($k['public']); // шифрую сообщение#1 публичным
$response['enc_with_publ'] = $rsa->encrypt('public key encrypted string');
$rsa->loadKey($k['private']); // шифрую сообщение#2 приватным
$response['enc_with_priv'] = $rsa->encrypt('private key encrypted string');
# decrypt
$rsa->loadKey($k['public']);
$response['dec_by_publ_enc_with_private'] = $rsa->decrypt($response['enc_with_priv']);
$rsa->loadKey($k['private']);
$response['dec_by_priv_enc_with_publ'] = $rsa->decrypt($response['enc_with_publ']);
}
в $response:[
"dec_by_publ_enc_with_private" => "private key encrypted string"
"dec_by_priv_enc_with_publ" => "public key encrypted string"
]
Теперь вопрос:
Эта функция "двусторонняя"? v1: Можно шифровать публичным и расшифровать приватными
v2: Можно шифровать приватными и расшифровать публичным
Спрашиваю по той причине, что я не знаком достаточно с шифрованием и меня убеждают в том что так не должно быть. Что шифрование через RSA должно проходить только в одном направлении как в v1. Говорят что библиотека, которую я использую - "кривая".
Рассудите пожалуйста меня и моего коллегу, кто прав а кто нет! Спасибо

21 Авг 2019 в 07:12
158 +1
0
Ответы
Нет ответов
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир