【问题标题】:libsodium PHP storing private key in filelibsodium PHP将私钥存储在文件中
【发布时间】:2018-08-10 02:12:24
【问题描述】:

我一直在使用 PHP 中的 openssl 库来生成用于 RSA 加密的密钥对,并且看到在最新版本的 PHP 7.2 中,现在已经集成了 libsodium。

我想更新到较新的库,并且可以生成密钥对。在 openssl 库中,我能够将密钥导出到加密的密钥文件中,以便存储在文件系统上。

如何使用 libsodium 实现这种等效性?

谢谢,

里昂

【问题讨论】:

    标签: php encryption rsa public-key-encryption libsodium


    【解决方案1】:

    libsodium 不支持 RSA。根据https://wiki.php.net/rfc/libsodium,libsodium 支持的算法如下:

    • 密码哈希和密钥派生 (sodium_crypto_pwhash_*)

      • Argon2i(密码哈希竞赛的选定算法)
      • 加密
    • Curve25519 上的 ECDH (sodium_crypto_box)
    • 经过身份验证的密钥加密 (sodium_crypto_secretbox)
    • Ed25519 数字签名 (sodium_crypto_sign)
    • AEAD 模式
      • ChaCha20-Poly1305
      • AES-256-GCM

    libsodium 的设计原则之一是人们不知道如何选择最佳加密原语,因此 libsodium 会为您选择,而不是让您自己选择。

    【讨论】:

    • 好的,我现在明白不支持 RSA,但支持非对称密钥加密。您将如何导出和加密文件系统上的密钥以供以后使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多