【发布时间】:2020-10-09 15:10:49
【问题描述】:
我正在尝试使用crypto++ wiki 中的示例进行 ecies 加密,它符合 IEEE P1363 的方案版本。 ETSΙ ΤS 102 941 v1.3.1 标准中描述的方案的前两个步骤是:
-
Sender 在 [1, q-1], ...中生成一个临时私钥 r,...
-
发送方从接收方加密公钥 Kr 中导出一个共享秘密 S。 S = Px,其中 ...
但是,在 crypto++ 示例中,第一行是:
ECIES<ECP>::Decryptor d0(prng, ASN1::secp256r1());
PrintPrivateKey(d0.GetKey());
ECIES<ECP>::Encryptor e0(d0);
PrintPublicKey(e0.GetKey());
它使用私有的解密器并将加密器基于它。我看不出它与算法的步骤是如何匹配的。
此外,wiki 声明加密函数返回一个元组 {K,C,T},其中 K 是加密的公共秘密,C 是密文,T 是身份验证标签。 但是,在示例中,它们没有被检索到,我不知道它们是如何检索到的。
任何见解和帮助将不胜感激。谢谢!
【问题讨论】:
标签: c++ cryptography crypto++ ecies