首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用secp256k1曲线对ECIES安全吗?

使用secp256k1曲线对ECIES安全吗?
EN

Cryptography用户
提问于 2020-03-14 08:54:51
回答 1查看 860关注 0票数 3

我读过SafeCurves,它表明按照他们的标准,Secp256k1不是SafeCurve,而是比特币,而ETH在他们的区块链中使用它。

我对此做了更多的研究,发现使用Secp256k1的ECDSA (歌唱算法不加密)是安全的,并且没有问题,因为在ECDSA中那些锁定标准并不重要,而在ECIES中是重要的。

所以我的问题是:

  1. 使用secp256k1对ECIES有多不安全,它暴露了哪些危险/弱点,从而使/what攻击成为可能
  2. 我应该完全避免secp256k1 (对于ECIES)还是可以在某些情况下使用
  3. 什么治疗对ECIES是安全的(因为Curve25519只是为ECDSA实现的)
EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-03-14 14:42:01

在ECIES中使用secp256k1有多不安全?它暴露了/what攻击的哪些危险/弱点?

让我们看看secp256k1根据SafeCurves实现的“失败”。

  • ECDLP:"盘片":这意味着曲线有一个很小的特定值。正如网站所指出的,这并不是本质上不好或可利用的,它只是表示一个(小调?)加速是可能的蛮力搜索。因为一个大的值在这里是“更安全的”,所以曲线必须达到这个目的。
  • ECC:"梯形":这意味着,对于这条曲线,不可能采用自然快速和抗侧通道的标量乘法算法。然而,抗侧通道的实现仍然是可能的(尽管它需要更多的注意)。
  • ECC:"完成":这意味着如果您想要添加两点P,Q (理论上使侧通道抵抗实现更加困难),就必须进行案例区分。然而,在实践中这是无关紧要的,因为secp256k1的案例区分是"Q=-P“、"Q=P”或"Q\neq \pm P“,对于任何理智的标量乘法算法,我们实际上都可以预测哪一种情况在任何一点上都会发生,且准确率为100%,因此,是否存在案例区分并不重要。
  • ECC:"工业":这意味着,如果给您一个字符串,您可以有效地决定您是在查看随机字符串还是曲线上的随机点。这对您来说很可能并不重要,除非您有一些依赖于此属性的超级高级协议,但是像ECDSA和ECDH / ECIES这样的东西并不包括在其中。

我应该完全避免使用secp256k1,还是可以在某些情况下使用?

对于“标准”用例,即ECDH / ECIES / ECDSA和类似的“简单”应用程序,您可以像使用secp256k1一样使用Curve25519,前提是您有一个安全的实现。唯一不能做到的地方是当您需要不可区分的属性时,但这里似乎不是这样的。

ECIES的哪些治疗方法是安全的(因为Curve25519只是为ECDSA实现的)?

Curve25519对于ECIES应该是可用的,因为ECIES本质上是“使用固定公钥进行ECDH密钥交换,然后对共享秘密进行散列以作为对称密钥使用”,而用于Diffie-Hellman的标准化版本的Curve25519有时也称为X25519。

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

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

复制
相关文章

相似问题

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