2

以下のコードでは、Crypto++ wiki から、128 は本当に使用すべき数字ですか?

CryptoPP::AutoSeededRandomPool arngA;
CryptoPP::RandomNumberGenerator& rngA = *dynamic_cast<CryptoPP::RandomNumberGenerator *>(&arngA); 
CryptoPP::DH dhA(rngA, 128);
CryptoPP::Integer iPrime = dhA.GetGroupParameters().GetModulus();
CryptoPP::Integer iGenerator = dhA.GetGroupParameters().GetSubgroupGenerator();
4

1 に答える 1

3

Z /(pZ)上の整数因数分解と離散対数はほぼ同じように困難です。したがって、Diffie-Hellmanの係数のサイズは、RSA係数に選択するサイズとほぼ同じである必要があります。1024ビットのRSAキーに慣れている場合は、1024ビットのDiffie-Hellmanキーにも慣れることができます。

crypto++のキーサイズがビット単位で測定されているのかバイト単位で測定されているのかを判断するのは簡単ではありません。Sebastianが指摘しているように、dhA(rngA、128)は実際に128ビットのDiffie-Hellman鍵を生成する可能性があり、これは小さすぎます。コードを見ると、これは確かに当てはまるように見えます。

ジェネレータiGeneratorのサイズは、Diffie-Hellmanのセキュリティには影響しません。(つまり、iGenerator = 2は完全に問題ない可能性があります)

于 2010-01-19T10:21:20.277 に答える