@Sienore

Как сделать шифрование закрытым ключом, а расшифровку открытым?

Добрый день.

Только начинаю изучать эту тему. Требуется реализовать механизм шифрования данных на языке PHP с использованием OpenSSL.
В найденном мной примере шифрование сообщения производится открытым ключом, а расшифровка закрытым. Мне же необходимо сделать наоборот (шифровать сообщение закрытым ключом пользователя, а расшифровывать с помощью открытого). Подскажите, пожалуйста, какие необходимо внести изменения.

P.S. Это необходимо для реализации электронной подписи в нашей системе
slide_7.jpg
  • Вопрос задан
  • 1350 просмотров
Пригласить эксперта
Ответы на вопрос 3
@cicatrix
было бы большой ошибкой думать
Открытый ключ не предназначен для расшифровки сообщений. Им можно только зашифровать.
У вас нет закрытого ключа пользователя, так как предполагается, что закрытый ключ имеется только у владельца подписи (на то он и закрытый). Если у вас есть закрытый ключ пользователя, то ваша система (вернее, система пользователя) скомпрометирована.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не используйте библиотеку mcrypt, она в состоянии deprecated и будет вынесена в PECL начиная с PHP версии 7.2.0.
Используйте openssl, в вашем случае openssl_private_encrypt() и openssl_public_decrypt()
Ответ написан
aryeh
@aryeh
Молод (душой) и приятен в общении :-)
Вы путаете подпись/верификацию и шифрование/расшифровку.
На вашей картинке подпись/верификация. Подпись делается приватным ключом, а верификация публичным.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽