我用过Stanford Javascript Crypto Library (SJCL)用于对称 AES 加密(基于其演示页面上的示例)。但是,我还有一个额外的要求,即生成 key 对,使用公钥加密数据,并使用私钥解密数据。一些类名表明这在 SJCL 中可能是可能的,但我想知道是否有人可以帮助举例说明它是如何完成的。在这个阶段,我不关心私钥存储,只关心公钥/私钥对的内存生成和使用。
如果不可能,我会对有关涵盖 AES 和公钥密码学的替代库的建议感兴趣 - 但我知道这是我可以自己研究的东西!所以我主要想知道我开始使用的库是否可以满足我的所有需求,或者我是否需要寻找替代方案。
最佳答案
事实上,使用 ECC 模块可以实现私有(private)/公共(public)加密。如果您是专业人士,可以在 http://bitwiseshiftleft.github.io/sjcl/doc/ 查看 api 文档。 .
如果你想要一个它是如何完成的例子,你可以通过
http://justinthomas.pro/crypto/test.html http://justinthomas.pro/crypto/仓库地址
您可以在此处查看正在运行的 SJCL ECC 实现(包括 key 生成)
这也可能有帮助 https://github.com/bitwiseshiftleft/sjcl/issues/134
附言 椭圆曲线密码术 (ECC) 是一种基于有限域上的椭圆曲线代数结构的公钥密码术方法。 256 位 ECC 公钥应提供与 3072 位 RSA 公钥相当的安全性 http://en.wikipedia.org/wiki/Elliptic_curve_cryptography
关于javascript - 如何在 SJCL 中实现公钥/私钥加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21700840/