Задать вопрос
@Sienore

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

Добрый день.

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽