私の知る限り、RSAキーは通常(強力な)ランダムジェネレータに基づいて生成されます。パスワードに基づいて、javascriptでRSAキーペアを生成
代わりに、パスワードに基づいて作成したいと考えています。たとえば、SHA512(SHA512(パスワード+塩)+パスワード+唐辛子)
のためにこれはJavaScriptで、クライアント側を実行する必要が
そのハッシュにというか、。
誰でもこれを行う方法を知っていますか?与えられた入力に基づいて、決定論的にRSAキーペアを作成する簡単なJavaScriptライブラリはありますか?
(実は、私はRSAに言及していますが、任意の安全な非対称暗号化が十分であろう、私はちょうど官民の暗号化を必要とする)
追加:私はいくつかの安全な通信ソリューションを構築していますので、私は、これを必要とします接続に依存する必要はなく、サーバーを安全にすることさえ必要としません。
ランダムキーを使用してすべてのコンテンツをAESで暗号化しています。これらのキーはRSAで暗号化されています。アイデアは、アリスがボブの公開鍵で(つまりボブの公開鍵をオンラインで保存する必要がある)自分のコンテンツ(または実際には自分のコンテンツのAES鍵)をRSAで暗号化できるという考えです。
その後、Bobがパスワードを再入力すると、ブラウザはRSAプライベート&公開鍵を確定的に計算し、Aliceからコンテンツをダウンロードし、秘密鍵を使用してローカルで復号化することができます。
JavaScriptを使用してRSAキーを作成しますか?私はそれを自分で試して覚えているそれはすべての私の記憶を食べて、計算するために永遠に取った。私はJavaに切り替えました。 – Amberlamps
RSA以外の非対称暗号化方式でも問題ありません。しかし、鍵のクライアント側を生成し、それを送信する前に秘密鍵でデータを暗号化する必要があります。公開鍵はサーバー側に格納されます。ECCのアプローチがもっと速いのかどうか分かりませんか? –
@SheldonPinkmanの暗号化は、プライベートではなく、公開鍵を使用して行われます。間違いなくあなたのアイデアには欠陥があります。 –