我该如何在SJCL中实现公钥/私钥加密?

9
我已经使用Stanford Javascript Crypto Library (SJCL)进行对称AES加密(基于其演示页面上的示例)。但我有一个额外的要求,即生成密钥对,使用公钥加密数据并使用私钥解密数据。一些类名表明在SJCL中可能是可能的,但我想知道如何实现的示例。目前我不关心私钥存储,只关心在内存中生成和使用公钥/私钥对。
如果不可能,我会对覆盖AES和公钥密码学的替代库的建议感兴趣 - 但我知道这是我可以自己研究的东西!所以主要我想知道我已经开始使用的库是否能够满足我所有的需求,或者我需要寻找其他选择。

3
通常而言,仅生成公钥/私钥对是不太有用的。问题在于您需要建立对公钥的信任。询问示例代码或库被认为是离题的问题(请展示您自己尝试过的内容,您的搜索引擎与我们一样好)。 - Maarten Bodewes
相关文章:http://blogs.msdn.com/b/ericlippert/archive/2011/09/27/keep-it-secret-keep-it-safe.aspx - ntoskrnl
3个回答

8
实际上,可以使用ECC模块实现私钥/公钥加密。如果您是专业人士,可以查看API文档
如果您想要一个示例,请参阅http://justinthomas.pro/crypto/test.htmlhttp://justinthomas.pro/crypto/代码库。
您可以在这里查看SJCL ECC实现(包括密钥生成)。
此外,这可能会有所帮助:https://github.com/bitwiseshiftleft/sjcl/issues/134 P.S. 椭圆曲线密码学(ECC)是一种基于有限域上的椭圆曲线的代数结构的公钥密码学方法。256位ECC公钥应提供与3072位RSA公钥相当的安全性。http://en.wikipedia.org/wiki/Elliptic_curve_cryptography

1
justinthomas.pro 的链接现在已经失效。 - user47589

3

-4

根据Javascript中的对称加密,没有提到公钥加密。因此似乎不支持。

可能有一些零散的解决方案可用,但我脑海中没有任何想法。Github似乎有一些选择:javascript公钥加密网站:github.com

WebCrypto工作组正在解决这个问题。它将提供配额、密钥生成、密钥存储和一些公钥操作,如sealsign。第一个版本将不会提供丰富的Diffie-Hellman或像BigIntger这样的原语。例如,请参见BigInteger操作问题


引用我在其他地方读到的话:“你的答案在另一个城堡里:什么时候一个答案不是答案?”和“仅包含链接的回答是否是不良实践?” - Eli Burke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接