PHP中公钥加密的非随机替代方案?

PHP中公钥加密的非随机替代方案?,php,encryption,cryptography,rsa,public-key-encryption,Php,Encryption,Cryptography,Rsa,Public Key Encryption,我正在搜索一个带有简单PHP实现的非对称加密算法,它不会在每次运行时生成不同的公钥/私钥(但对于相同的密码总是相同的) 原因很简单:我的客户经常忘记/重置他们的密码,但一旦他们记住了密码,他们应该能够恢复使用旧公钥发送给他们的旧加密文件。使用RSA,每次他们重置密码(并以此重置公钥)时,都会生成一个新的随机公钥,即使是相同的密码 提前谢谢 只需使用基于密码的加密来加密私钥即可。也就是说,首先从密码(例如使用PBKDF2或bcrypt)派生一个密钥,然后加密私有指数或整个密钥。这就是PGP的工作方

我正在搜索一个带有简单PHP实现的非对称加密算法,它不会在每次运行时生成不同的公钥/私钥(但对于相同的密码总是相同的)

原因很简单:我的客户经常忘记/重置他们的密码,但一旦他们记住了密码,他们应该能够恢复使用旧公钥发送给他们的旧加密文件。使用RSA,每次他们重置密码(并以此重置公钥)时,都会生成一个新的随机公钥,即使是相同的密码


提前谢谢

只需使用基于密码的加密来加密私钥即可。也就是说,首先从密码(例如使用PBKDF2或bcrypt)派生一个密钥,然后加密私有指数或整个密钥。这就是PGP的工作方式。当然,这需要存储加密的私钥。

例如,使用离散日志加密可以很容易地做到这一点。