質問

ここでこの質問をするのはあまり適切ではないかもしれません...とにかく、DH の実装に gmp ライブラリを使用しようとしていますが、ここで発生した問題は次のとおりです。

かつて、出力を観察するテストを実行していたとき、プライムキーと秘密キーの大きな値が選択されていました。

  • p は 10 進数で約 300 桁以上の長さでした
  • a、b は約 100 桁の長さでした

最後に、非常に小さい、おそらく 10 進数で 10^8 より小さい共有秘密キーを取得しました...

この問題は何度も発生したわけではなく、実際、観察全体で発生したのは 1 回だけでした...それでも、これはあまり良くありませんでした。

そこで、これを回避する方法はあるのでしょうか...どうもありがとう

役に立ちましたか?

解決

のDiffie-Hellman鍵交換は、共有秘密鍵を生成するように設計されています。

P、a、bの大きな値を使用することで、潜在的な共有キーのプールは非常に大きなものであることを確認します。

ただし、共有キーのの値は、そのプール内のいずれかの値とすることができます。その結果、それはゼロからの範囲であることができた(P - 1)、キーがあるので...それはです。

G^(ab) mod p

そのため、あなたはG^(ab)pの複数の値に近い、ひいてはmodが低い数であるとき、あなただけのインスタンスを見て...ここでの問題を発見していない。

他のヒント

D-Hの点の一部は、秘密鍵があり得ることであるのいずれか Pで指定された範囲内の値。少なくとも理論的には、それらのいくつかの可能性を排除することはない、よりそう、それは安全性の低いなるだろう(現実的には、限り、あなたは鍵の十分に大きなプールを残すように、それは少し本当の違いが)。

は、攻撃者は、キー枯渇(ブルートフォース)攻撃をしようとすることを決めた、と0から開始し、ちょうどカウントアップし、彼らは比較的すぐにこの1をヒットしたい場合には事実です。あなたには、いくつかの他の下限とを決定した場合は、再度、再交渉され、それがその下にバインドされた場合、キーは、それがどんな良い実をしないだろう(たとえば) - ではなく0から始まるのは、攻撃者がで開始します下限指定された、とあなたは何を得ていないと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top