web-dev-qa-db-ja.com

RSAキーのサイズがCPU負荷に与える影響は何ですか?

暗号化および圧縮されたssh接続を使用します。

小さいRSAキーまたは非常に大きいRSAキーを使用する場合、圧縮、解凍、および帯域幅(暗号化ファイルサイズ)のCPU負荷にどのような影響がありますか?

6
Alban

SSHでは、RSA鍵は初期接続セットアップ時にのみ使用されます。接続すると、RSAキーのサイズはCPUと帯域幅の使用に影響を与えませんでファイルを転送します。最初のハンドシェイクは、非対称アルゴリズム(RSA、Diffie-Hellman)を使用して共有シークレットの認証と設定を処理し、次に対称暗号アルゴリズムと共に使用して、残りのデータ交換を暗号化および保護します。

初期接続のセットアップ中に、サーバーは公開鍵をクライアントに送信し、クライアントが検証する署名を計算します。クライアントが独自のRSA鍵ペアで認証されることを望む場合、クライアントは署名も計算し(サーバーによって検証され)、公開鍵をネットワーク経由で送信します。 4096ビットのRSA鍵は、2048ビットのRSA鍵よりも2倍大きく、署名は鍵と同じサイズであるため、2048ビットのRSA鍵があり、それを4096ビットのRSA鍵に変更すると、最初のハンドシェイクの関連メッセージは、合計512バイト(鍵自体は+256バイト、署名は+256バイト)だけ拡大されます。繰り返しますが、これは最初のハンドシェイクのみです。 その後、接続で送信したギガバイトのファイルは何も変更しません。

CPU使用量については、キーサイズを2倍にすると、署名の生成にかかるコストが8倍になります。ただし、この場合も、このコストは初期接続にのみ適用され、小規模なPCは1秒あたり数百の2048ビットRSA署名を既に計算できます。

圧縮はデータbeforeの暗号化で行われ、暗号化要素の影響は受けません。

10
Tom Leek