Нет, mcrypt - это просто симметричные блочные шифры.
Однако расширение PHP OpenSSL поддерживает асимметричные операции. Вы хотите openssl_sign
и openssl_verify
.
(У вас небольшая терминологическая проблема - в асимметричных системах шифрование выполняется с открытыми ключами, а дешифрование с закрытыми ключами; подписывание выполняется с закрытыми ключи и проверка с открытыми ключами. Не путайте подписывание с шифрованием или дешифрованием - хотя базовые операции часто похожи, это не одно и то же, и путаница может привести к небезопасным реализациям).
Конечно, вы можете просто выполнить REST поверх SSL, используя клиентские сертификаты для аутентификации.