首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECIES与ECDSA

ECIES与ECDSA
EN

Cryptography用户
提问于 2018-07-02 13:25:40
回答 2查看 869关注 0票数 4

我理解ECIES的工作原理。我有一个信息结构

代码语言:javascript
复制
[alice`s ephemeral public key, MAC tag, ciphertext]

如果我想在ECDSA中使用ECIES,我不明白我应该做什么。例如,应用程序网络中的每一方都有用于身份验证的静态公钥/私钥对。我想知道是谁发信息的。哪种消息结构更安全?

  1. [alice ephemeral public key, alice static public key, ECDSA tag, ciphertext],其中ECDSA tag = sign(ciphertext || Kmac, alice static private key)
  2. [alice ephemeral public key, alice static public key, ECDSA tag, MAC tag, ciphertext],其中ECDSA tag = sign(ciphertext, alice static private key)

还是这些选择相似?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2018-07-02 15:11:00

通常,您需要使用签名-然后加密。也许最好把它们分开。

因此,密码消息变成:$$\text{ECIES}(P_B,M So \text{ECDSA}(S_A,M))$$

$A$是alice,$B$是bob,$P$是公钥,$S$是私钥,$|$是连接,$M$当然是消息本身。

临时公钥和身份验证标记的生成可以是$\text{ECIES}$的一部分,这需要对称密码和操作模式。然后,这种操作模式可以是经过身份验证的操作模式,如GCM,在加密消息的末尾追加身份验证标记。

因此,ECIES的结果将是:$$\widetilde{P_A} c\t$

其中$\widetilde{P_A}$是Alice的临时密钥(作为ECIES的一部分),$C$是包含消息和签名的密文,$t$是身份验证标记。

您还可能希望包含某种版本号或域参数规范(但请注意,攻击者可能会更改这些规范)。您必须确保可以确定哪个元素在数据结构中的位置。

备注:

  • 选项符号--即加密--即签名更安全,但也更晦涩。
  • 向$B$发送原始公钥是没有意义的,因为接收方需要信任用于验证的公钥。相反,发送包含公钥的证书,并在提取/使用公钥之前验证证书。
  • 如果您不想自己想出一个完整的协议规范/库,那么使用诸如CMS这样的容器格式可能是有意义的。

警告:上面解释了如何实现签名然后加密。它没有说明如何实现安全消息传递协议。对于这种重放攻击,需要避免模拟攻击和许多其他攻击。

票数 7
EN

Cryptography用户

发布于 2018-07-04 01:42:09

你为什么需要ECDSA?您需要第三方来验证邮件的真实性,还是只需要收件人才能验证邮件的真实性?

假设爱丽丝试图向鲍勃发送一条信息,对夏娃保密,并防止马洛里伪造。假设爱丽丝和鲍勃可以事先从电话簿上分享关于彼此的公共信息。对于Alice来说,在她和Bob通过静态/静态Diffie-Hellman密钥协议共享的秘密下使用认证密码就足够了。这正是Whit Diffie和Martin的1976年年关于公钥密码学的开创性论文中的应用程序。

如果爱丽斯的私钥是$a$,而她的公钥是$A = g^a$,同样地,$B = g^b$,其中$g$是标准基(例如$2美元,在$\mathbb Z/p\mathbb $中,$p$是2048位RFC 3526组#14模,或$x^{-1}(9)$,在Curve25519中),然后,Alice和Bob共享秘密$$h = A^b = (g^a)^b =g^{b}=g^{b}= (g^b)^a .$,如果它们派生出$k = H(h)$并使用$k$作为经过身份验证的密码(如NaCl crypto_secretbox_xsalsa20poly1305 )的密钥,那么它们就可以在该秘密密钥下交换消息。

只要密钥是Alice和Bob的秘密,就没有其他人能够了解使用经过身份验证的密码传输的消息内容的信息。只要密钥是Alice和Bob的秘密,其他人就不能伪造经过认证密码验证的消息。只有Alice和Bob可以验证消息--对于私有消息的真实性,这是您所需要的。

或许还有更多的故事:妥协长期密钥$a$或$b$将允许对手追溯解密所有过去的信息;防止我们需要一个协议,允许各方迅速删除他们的密钥。(这有时被称为“向前保密”,这是一个轻率的术语,在地毯下准确的擦除钥匙的时间或时间。)但是带有静态密钥的ECIES或由ECDH组成的静态ECIES具有相同的易受长期密钥危害的漏洞。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/60455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档