0

我使用充气城堡为 ECDH 和 AES128-GCM 使用密钥推导函数。

所以这是我的代码。

byte[] secretZ = txtEcdhKdfZ.Text.HexToByteArray();
byte[] extraInfo = txtEcdhKdfInfo.Text.HexToByteArray();

ECDHKekGenerator egH = new ECDHKekGenerator(DigestUtilities.GetDigest("SHA256"));

egH.Init(new DHKdfParameters(NistObjectIdentifiers.IdAes128Gcm, 128, secretZ, extraInfo));
byte[] symmetricKey = new byte[DigestUtilities.GetDigest("SHA256").GetDigestSize()];
egH.GenerateBytes(symmetricKey, 0, symmetricKey.Length);

txtEcdhKdf.Text = symmetricKey.ToHex();

我在这里看到了那个代码。

但 extraInfo 不影响结果。

因为无论 extraInfo 是否有值,结果总是相同的。

new DHKdfParameters(...) 中的 secretZ 值和 keySize 会影响结果。

如何让 extraInfo 影响结果?

4

0 回答 0