私は、暗号学の第一人者であるBruce Schneierによって書かれた article を読みました。記事では、彼は言う:
公開鍵暗号よりも対称暗号を優先します。
しかし、彼はその理由を明らかにしていません。
さて、公開鍵システムは、対称鍵暗号法の問題である中間者攻撃と鍵配布の問題を回避すると思いましたよね?
誰かブルース・シュナイアーの見解を説明してもらえますか、それとも何か不足していますか?
この非対称暗号化よりも対称暗号化の優先は、非対称暗号化がパラメータ化された数学オブジェクトを使用するという考えに基づいており、そのようなパラメータが特別に選択されている可能性があるという疑いがあります。システムを弱体化させるため。たとえば、Diffie-Hellman、DSA、またはElGamalを使用する場合、大きな素数pを法として作業する必要があります。ランダムに選択された素数pは問題ありませんが、「見た目が良い」が特別なpを選択することは可能です。特別なp値がどのように生成されたかを知っている人は誰でも、アルゴリズムを簡単に(または簡単に)壊すことができます。暗号を弱くするこのような素数pは非常にまれであるため、不運から1つをヒットすることはありません(ランダムに選択した素数で問題ありません)。
これは、適切な暗号化パラメータが 何もない であることを意味します。 FIPS 186-4 (DSAの標準)を見ると、DSAパラメータの生成システムの説明(つまり、大きな係数p、およびジェネレーターgおよびグループ順序q)であり、これは明示的に悪意はありません。これは、これらの値の生成を主導する決定論的なPRNGを示すことによって機能します。シードを明らかにすることにより、パラメーターを忠実に生成し、したがって「特別な素数」にふけなかったことを示すことができますクラフト」。
標準のNIST楕円曲線に対してジブを作成できます(FIPS 186-4を再度参照)。これらの曲線にもいくつかのパラメーターがあり、NISTは決定論的なPRNG上記のとおり(実際には、ここではNISTに問題はありません。これらの曲線はSECから継承されたため、間違いはCerticomのものでした。) Brainpool曲線 間違いを修正しようとしました。 15のNIST曲線のうち、少なくとも5つの「Koblitz曲線」にはランダムなパラメーターがないため、故意に弱めることはできません。)
Ole 'Bruceは、上記のように、グループパラメータの検証についてより正確ではなく長い説明ではなく、パンチの効いたラインを求めていたため、上記のすべてを非対称暗号に対する一般的な非難に変えました。覚えておくべき教訓は、暗号化システムの完全な設計は可能な限り透過的であることであり、これには「一見ランダム」なパラメータの生成が含まれます。
彼の言うところによると、企業はバックドアのために検出できない方法で自社製品を微妙に変更しています。公開鍵システムについて、彼は公開鍵交換プロトコルに共通の指数を追加することについて言及しています。
...乱数ジェネレータのランダム性を低くし、何らかの方法でキーを漏らし、公開キー交換プロトコルに共通の指数を追加します。
おそらく、彼は、公開鍵暗号は対称暗号よりも操作に対して開放的であると考えています。
Schneierのブログ には、いくつかの明確なステートメントがあります。
NSAは、対称アルゴリズムよりも公開鍵アルゴリズムの解読においていくつかの基本的な数学的進歩を持っている可能性が高いです。
そして
私は個人的に、その起源が個人的に信頼できない定数について心配しています。
もちろん前者の声明の正当化は非常に複雑であり、数学の最先端技術に関する直観/経験にある程度依存しています。後者は、特定のシステムが他のシステムよりもNSAの影響を受けやすいというより簡単なステートメントであり、従来の離散ログベースのシステムを好む楕円曲線システム上;後者には、NSAが影響を与える場合に影響を与える定数があります。 ".
また、この記事はガーディアンを読む読者に経験則を提示することを目的としていることにも留意してください。もちろん、NSAが壊れている可能性が高い(またはknownで壊れる可能性がある)対称アルゴリズムは存在しますNSA)、および信頼できない定数のない非対称アルゴリズム。彼はDSAよりもCaesarシフトを好むとは言っていません。しかし、Schneierの見解では、標準の対称アルゴリズムは標準の非対称アルゴリズムよりも信頼できます。
鍵の配布の困難さが増していることは、多くの目的で対称暗号のpreferenceが実際にこれを使って。平均的なユーザーがアルゴリズムを自由に選択できる状況であるため、彼はおそらく友人/同僚/共謀者とどのようにコミュニケーションを取るべきかについて考えているでしょう。間違いなく、完全な暗号化システムを設計する人々への彼のアドバイスはもっと複雑になるでしょう。
最後に、このアドバイスはすべて具体的にはNSA監視)であることに注意してください。NSA(またはその同盟国)を敵として使用すると、その多くはとにかく良いアドバイスですが、必ずしも関連性はありません。一般的なハッカーは、利用可能な攻撃のセットがより限定されています。
私は推測しかできませんが、非対称暗号化は対称暗号化よりも数学的に不安定であるという意味に由来していると思います。
たとえば、安全な対称暗号化は理論的に可能であることが知られています。たとえば、実際に使用されることさえあるワンタイムパッドを考えてみてください。標準の対称暗号は、これをエミュレートするための方法ですが、より短い鍵を使用します(特にCTRモードを検討する場合など)。
次に、非対称システムの場合を考えます。ここでは、パブキーが攻撃者に知られていても、暗号化して結果を生成する数学関数F(secret-to-protect、pub key)を数学的に可能にして、シークレットから保護への推測に使用できないようにする必要があります。つまり(対称方式の場合のように)関数が秘密を保護するために使用できる秘密の引数はありません-秘密である唯一のものは、保護したいものです!それでも関数は全単射でなければなりません。そうでなければ、意図された受信者はそれを解読できないからです。したがって、すべての情報がそこになければなりません。実際、公開鍵、つまり秘密鍵に関連する追加情報を知っていれば、操作を簡単に元に戻すことができなければなりません。そのような関数が存在することはそれほど明確ではありません-それらが存在することは知られていません。 RSAとECCは基本的にこのようなスキームの提案ですが、安全性が証明されていないため、提案にすぎません。非対称スキームのセキュリティを確立することは、暗黙的にP!= NPを確立することになるため、非常に難しい問題のようです。
したがって、安全な非対称スキームの既知のインスタンスは知られていない(そして、非対称スキームは、対称スキームよりもはるかに難しい数学的特性を満たさなければならない)ことを考えると、安全な例は対称スキームで知られているため、他のすべては等しい、非対称スキームに対してより疑わしいことは理にかなっています。
実用的な観点から、AESとDES(ほぼ)彼らの地位を保持しています。 DESの最大の問題は、アルゴリズムが解読されたのではなく、鍵のサイズが小さいことでした。 3DESは依然として安全ですが、AESに比べるとかなり低速です。