PHP7, LibSodium и распространенные алгоритмы шифрования

Я пишу реализацию OpenPGP (RFC 4880) с PHP7.

GPG и PGP используют алгоритм симметричного ключа CAST5 (также известный как CAST-128) для защиты закрытых ключей.

Примечание: обратите внимание, что можно использовать другие алгоритмы симметричного ключа (CF RFC 4880): IDEA, TripleDES, Blowfish, AES with 128-bit key, AES with 192-bit key, AES with 256-bit key или Twofish with 256-bit key.

Mcript реализует следующие алгоритмы:

http://php.net/manual/fr/mcrypt.ciphers.php

Однако Mcrypt устарел. Вместо этого мы должны использовать натрий.

Хорошо... но мне кажется, что Sodium не предоставляет алгоритмы с симметричным ключом, упомянутые выше.

Примечание: обратите внимание, что некоторые алгоритмы хеширования отсутствуют в реализации Sodium: MD5, SHA-1, RIPE-MD/160, SHA384, SHA224.

Я ошибся ?

Если я прав, то для меня это означает, что Sodium не заменяет Mcrypt.

Спасибо

Денис


person Denis Kertios    schedule 29.01.2018    source источник
comment
См. этот вопрос. Я сомневаюсь, что вы найдете авторитетный пакет, который реализует CAST5 или IDEA, поскольку это очень устаревшие алгоритмы.   -  person President James K. Polk    schedule 29.01.2018
comment
Ты прав. Мне кажется, что целью LibSodium является предоставление высокоуровневых решений для некоторых задач, связанных с криптографией в контексте WEB-программирования. Это не универсальный криптографический набор инструментов, который предоставляет базовые строительные блоки для разработки криптографических приложений.   -  person Denis Kertios    schedule 29.01.2018
comment
Я считаю, что Sodium не имеет ничего общего с PHP, это просто сторонняя библиотека, для которой написано расширение-обертка PHP. Старое доброе расширение mcrypt, вероятно, медленно умирало по той простой причине, что никто с необходимыми навыками не заботился о его поддержке. Таким образом, команда PHP не разработала путь обновления для замены mcrypt на libsodium.   -  person Álvaro González    schedule 01.02.2018


Ответы (1)


Если я прав, то для меня это означает, что Sodium не заменяет Mcrypt.

Нет, и это никогда не было намерением.

Небезопасная криптография несовместима с безопасной криптографией (то есть с тем, что предоставляет libsodium). Конец чего-либо.

Если вам необходимо выполнить миграцию, mcrypt_compat позволит вам расшифровывать сообщения из старых шифров mcrypt, чтобы вы могли повторно зашифровать их с помощью libsodium.

person Scott Arciszewski    schedule 25.10.2019