115

どちらも公開鍵と秘密鍵を必要とする暗号化アルゴリズムのようです。クライアントサーバーアプリケーションで暗号化を提供するために、どちらかを選択するのはなぜですか?

4

5 に答える 5

82

以下のAVAの回答を確認してください。

私の古い答えは間違っているようです

于 2010-05-15T17:45:19.847 に答える
27

参照、https://web.archive.org/web/20140212143556/http://courses.cs.tamu.edu:80/pooch/665_spring2008/Australian-sec-2006/less19.html

RSA
RSA の暗号化と復号化は可換であるため 、RSA スキーム {(e,R), (d,p,q)} を指定
してデジタル署名スキームとして直接使用して 、メッセージ M に署名することができます。計算: S = M 乗 d (mod R) 署名を検証するには、以下を計算します: M = S 乗 e(mod R) = M 乗 ed(mod R) = M(mod R)





RSA は、指数の使用順序を逆にするだけで、暗号化とデジタル署名の両方に使用できます 。秘密指数 (d) は署名を作成し、公開指数 (e) は誰でも署名を検証できます。他のすべては同じです。

DSA (デジタル署名アルゴリズム)
DSA は、ElGamal および Schnorr アルゴリズムの変形です。これは 320 ビットの署名を作成しますが、512 ~ 1024 ビットのセキュリティでは、離散対数の計算が非常に困難であるため、非常に広く受け入れられています。

DSA 鍵生成
最初に共有グローバル公開鍵値 (p,q,g) が選択されます:
大きな素数 p = 2 乗 L を選択します
L= 512 ~ 1024 ビットで、64 の倍数です
160 ビットの素因数である q を選択しますp-1 任意の h<p-1, h(p-1)/q(mod p)>1 に対して
g = h 乗 (p-1)/qを 選択し、各ユーザーが秘密鍵を選択して公開鍵を計算します。 x<q を選択 計算 y = g 乗 x(mod p)





DSA キーの生成は El Gamal に関連していますが、El Gamal よりやや複雑です。主に、計算を高速化し、結果の署名のサイズを縮小するために使用されるセカンダリ 160 ビット モジュラス q の使用が原因です。



メッセージに署名するためのDSA 署名の作成と検証
M ランダムな署名キーを生成 k, k<q
計算
r = (g power k(mod p))(mod q)
s = k-1.SHA(M)+ xr (mod q )
署名 (r,s) をメッセージとともに送信

して署名を検証し、計算:
w = s-1(mod q)
u1= (SHA(M).w)(mod q)
u2= rw(mod q)
v = ( g power u1.y power u2(mod p))(mod q)
v=r の場合、署名が検証されます

署名の作成は、メッセージごとの一時署名キー k を使用する ElGamal に似ていますが、最初に mod p を計算し、次に mod q を実行して結果のサイズを縮小します。ここでは、ハッシュ関数 SHA の使用が明示されていることに注意してください。検証も 2 つの計算を比較することで構成されます。これも El Gamal より少し複雑ですが、El Gamal に関連しています。
ほとんどすべての計算が mod q であるため、はるかに高速であることに注意してください。
ただし、RSAとは対照的に、DSAはデジタル署名にのみ使用できます

DSA セキュリティ
サブリミナル チャネルの存在は、DSA だけでなく、多くのスキーム (乱数の選択が必要なスキーム) に存在します。優れたアルゴリズムだけでなく、「システム セキュリティ」の必要性を強調しています。

于 2014-02-25T05:44:54.227 に答える
24

ところで、DSA で暗号化することはできません。署名するだけです。これらは数学的に (多かれ少なかれ) 同等ですが、実際には DSA を暗号化スキームとして使用することはできず、デジタル署名スキームとしてのみ使用できます。

于 2010-05-15T18:09:05.883 に答える
20

を参照するman ssh-keygenと、NIST の FIPS 186-2 への準拠を維持するために、DSA キーの長さは正確に 1024 ビットに制限されています。それにもかかわらず、より長い DSA キーは理論的には可能です。FIPS 186-3 では明示的に許可されています。さらに、1024 ビット長の RSA または DSA キーではセキュリティが保証されなくなりました。

結論として、現時点では 2048 ビットの RSA キーが最適です。

その他の注意事項

安全な SSH 接続を確立するには、安全な暗号化キー ペア テクノロジを選択するだけでは不十分です。エドワード・スノーデンの NSA の啓示を考慮すると、以前は十分と考えられていたものよりもさらに警戒する必要があります。

一例を挙げると、安全な鍵交換アルゴリズムを使用することも同様に重要です。これは、現在の SSH 強化のベスト プラクティスの優れた概要です。

于 2013-06-05T09:13:39.540 に答える