RSAには、基本的に3つの数字があります:d
、、、e
n
公開鍵は(e, n)
、秘密鍵は(d, n)
サーバーはm
計算によって数値c=m^d mod n
に署名し、クライアントは計算によって署名を復号化しますm=c^e mod n
。
私の状況では、クライアントの計算能力は限られています (ブラウザー内の Javascript で発生しています)。公開鍵の操作をできるだけ効率的にしたいと考えています。
(d, e, n)
それで私の質問は -システムのセキュリティが依然として高いようにRSA キーを生成する方法はありますか - しかし、公開キー操作のパフォーマンスは良好ですか?
公開鍵の数値を小さく (おそらく 64 ビット)、大きい数値 (おそらく 1024 ビットまたは 2048 ビット) にする方法はありますe
か?n
d
いくつかの大きなキーをランダムに生成し、いくつかの JavaScript RSA ライブラリのパフォーマンスをテストしましたが、パフォーマンスは非常に悪かったです。サイズが 1024 ビットのキーは、計算に非常に時間がかかります。
使用したライブラリはhereから取得しました
多分私の問題は、私が使用しているライブラリのアルゴリズムのパフォーマンスが低いことですか??
公開鍵操作を高速にする必要があり、セキュリティを犠牲にしたくありません。