2014-02-11 49 views
8

我已使用Stanford Javascript Crypto Library (SJCL)進行對稱AES加密(基於其演示頁面上的示例)。不過,我還需要生成一個密鑰對,使用公鑰對數據進行加密,並使用私鑰對數據進行解密。一些班級名稱表明這在SJCL中可能是可能的,但我想知道是否有人可以幫助它的例子。我並不擔心私鑰存儲這個階段,只是內存中的生成和公鑰/私鑰對的使用。如何在SJCL中實現公鑰/私鑰加密?

如果這是不可能的,我會對另一個包含AES和公鑰加密技術的庫的建議感興趣 - 但我知道這是我可以研究自己的東西!所以主要我很想知道我開始使用的圖書館是否可以滿足我的所有需求,或者我是否需要尋找替代方案。

+3

一般只生成公鑰/私鑰對是沒有多大用處的。問題是你需要建立對公鑰的信任。這個問題非常接近於脫離主題,因爲要求示例代碼或庫被認爲是脫離主題(顯示你已經嘗試過自己,你的搜索引擎和我們一樣好)。 –

+0

相關文章:http://blogs.msdn.com/b/ericlippert/archive/2011/09/27/keep-it-secret-keep-it-safe.aspx – ntoskrnl

回答

-3

根據Symmetric Cryptography in Javascript,沒有提及公鑰密碼術。所以它似乎不被支持。

可能有一些分裂的解決方案可用,但我不知道任何關閉我的頭頂。 Github似乎有一些選擇:javascript public key crypto site:github.com

WebCrypto Working Group正在解決此問題。它將提供配置,密鑰生成,密鑰存儲和一些公鑰操作,如sealsign。第一次修訂版本是而不是有豐富的Diffie-Hellman或BigIntger等原始版本。例如參見Question on BigInteger operations

+0

引用我在別處讀到的內容:[您的回答在另一座城堡中:何時回答不是答案?](https://meta.stackexchange。(https:// meta。com/questions/225370/your-answer-is-in-another-castle-when-is-an-answer-not-an-answer)和[僅鏈接回答不好的練習? stackexchange.com/questions/65277/are-link-only-answers-poor-practice) –

7

事實上,使用ECC模塊可以實現私有/公共加密。如果您是專業人士,您可以在http://bitwiseshiftleft.github.io/sjcl/doc/上查看api文檔。

如果你想要它如何做一個例子,你可以通過

http://justinthomas.pro/crypto/test.html http://justinthomas.pro/crypto/庫網址

這裏你可以看到在行動SJCL ECC實現(包括密鑰生成)

這也許有幫助 https://github.com/bitwiseshiftleft/sjcl/issues/134

PS橢圓曲線密碼學(ECC)是基於有限域上的橢圓曲線的代數結構的公鑰密碼學的一種方法。 256位ECC公鑰應爲3072位的RSA公鑰提供類似的安全 http://en.wikipedia.org/wiki/Elliptic_curve_cryptography

+0

「justinthomas.pro」的鏈接現已停止。 – Amy