web-dev-qa-db-ja.com

キーの長さの他にSSHキーの強度係数(たとえば、ed25519とrsa-4096の比較)

私はISの分野ではありませんが、控えめなVPSを確保したいので、3 IS guys:2との意見の衝突に遭遇しましたed25519 ssh鍵は、4096バイトのssh-rsaよりも少し安全であり、私たちの時代にはまったく大きな違いはなく、どちらも私にとってはうまくいくと言っています。

誰が「正しい」かはわかりませんが、私はいくつかの限定された読書をしました(私が主題について読んだすべてのパッセージを完全に理解するための知識を持っていないため限定されました)。バイトを使用すると、 公開ed25519キーのバイト数ははるかに少なくなります 公開ssh-rsa 4096キーよりも短いため、それらの秘密キーもはるかに短くなります。

私の質問は、したがって、次の2つの質問で構成できます。

  1. もしそうなら、私はあなたが私が6ヶ月の暗号を学ぶ必要があると思います---これらはより安全ですか?ここで彼らの優位性の基準には別の基準があると感じています。それは単にバイト数ではありません。それはフォーマットに関するものです。

  2. それがフォーマットのみの場合、このフォーマットをssh-rsa 4096キーに実装できませんか?つまり、ed25519キーに含まれるバイト数が約90%少なく、特別なフォーマットをssh-rsa 4096キーに実装した場合、これまでで最も強力なssh公開キーを作成できませんでしたか?

3
user123574

そう、暗号オタクの戦いへようこそ。これを分解してみましょう。


キーの長さed25519は、「楕円曲線暗号(ECC)」と呼ばれる暗号のブランチからのものです。 RSAはかなり単純な数学(整数の乗算)に基づいていますが、ECCは「グループ理論」と呼ばれるはるかに複雑な数学の分岐からのものです。つまり、ECCキーは、それに基づいた数学的問題がはるかに複雑であるため、はるかに短くなり、同じセキュリティレベルを得ることができます。これはフォーマットの違いよりもはるかに深いものです。これは、ライブラリとGoogleのインデックスカードがフォーマットの違いだと言っているようなものです。


セキュリティ:キーが小さく、同じセキュリティレベルでの計算が高速であるため、RSAよりもECCが好まれる傾向があります。以下は、RSA(Integer FactorizationまたはIF)とECC [source] のセキュリティレベルの比較を示す表です。あなたは、ECCキーが実際に小さいキーで同じ仕事をすることがわかることがわかります。

enter image description here


したがって、RSA-4096(上記の表にはない)をed25519と比較する必要があります。これは、140ビットのセキュリティがあり、3000ビットのRSAに匹敵します 発明者によると 。ビットは対数スケールであることに注意してください。129ビットは128ビットの2倍の安全性です。 140ビットは212 = 128倍の4000倍のセキュリティでRSA-4096が勝つ可能性がありますが、実際には、軍事組織や銀行でない限り、128ビットを超えるセキュリティは過剰です。

画鋲を壁に入れるには、大ハンマーまたはレッキングボールを使用する必要がありますか?正解は次のとおりです。

10
Mike Ounsworth

RSAとECCのキーサイズを直接比較することはできません。 2048ビットのRSAキーは、2048ビットのECCキーと同じセキュリティを提供しません。以下は、セキュリティを示す表です。

table

2
Sjoerd