首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECIES是一种公开加密算法吗?

问ECIES是一种公开加密算法吗?
EN

Stack Overflow用户
提问于 2018-06-20 05:14:51
回答 2查看 1.8K关注 0票数 3

我已经实现了RSA加密算法来加密数据加密中使用的对称密钥,但是RSA的密钥大小和密文大小造成了内存问题,因此我搜索了其他公钥加密方法以寻找解决方案。我发现了椭圆曲线积分加密方案(ECIES),并了解了它背后的理论,但是,我还不清楚这种方法是如何作为公开/不对称加密算法的。该方法使用从共享秘密导出的密钥计算对称加密,用于加密和解密(使用相同的密钥)。

那么,如何才能将其作为一种非对称加密算法呢?或者是否有任何方法将其实现为非对称加密?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-20 11:21:45

Meta:这并不是真正的编程或开发问题或问题。它可能属于crypto.SX;您可以请求迁移。

确切地说,ECIES是一种混合公钥加密方案,但大多数其他加密方案也是如此。例如,正如您所说,RSA通常用于加密工作(每条消息)对称密钥,而不是直接加密数据。

翻译维基百科的描述:

  1. (通常提前) Bob生成一个(静态的)密钥,并以真实的方式发布公钥(例如使用证书)。

2-5。Alice生成一个短暂的密钥,导出共享的DEK,并对数据进行加密,并使用她的临时公钥(编辑)发送数据,并销毁临时私钥。

  1. Bob使用他的私钥来派生DEK并解密数据。

按注释添加,并在下面扩展:是的,DEK在两端是相同的(注意,我使用的是' the‘,意思是一个,而不是多个),这就是为什么这个方案有效的原因;ECIES中使用DEK进行数据加密和解密的部分是对称的,但是所有其他操作(安全地创建短暂的共享DEK)都是对称的。

除了爱丽丝(或鲍勃),没有人知道她短暂的私钥是至关重要的;如果他们知道了,他们就能解密。但她不需要显式地保守秘密,因为她在使用它发送信息后立即销毁它;这就是短暂的含义。

让我们看看:

  • 收件人的公开密钥是公开的,任何人都可以加密
  • 接收者拥有(静态)私钥,并且可以解密。
  • 没有其他人拥有鲍勃的(静态)私钥或爱丽丝的短暂私钥,也没有其他人能解密
  • 接收者只需要一个键盘;如果有多个发件人,他们都可以使用相同的公钥,但不能解密对方的通信量,也不需要秘密获取公钥;对于一千或一百万发件人来说,这与一个发件人的费用相同或略高于一个发件人

请考虑标准/传统对称格式的性质:

  • 双方必须事先共享一把钥匙(只有一把钥匙,而不是一对钥匙);双方都必须保守秘密,不与其他人共享。
  • 这通常要求双方事先会面,或使用一种实际安全的手段,如信使,将钥匙从一个带到另一个,或者可能从一个中央当局到两个地方。
  • 每个密钥只能由一对用户使用;对于多个发送方,Bob必须拥有和管理这许多不同的密钥,而每个发送方(Alice、Abby、Anne等)必须拥有不同的密钥。每个发件人必须分别会见鲍勃,或他们必须有一个单独的信使(或两个),然后他们与他沟通。对于一千或一百万发送者来说,这会变得非常昂贵。

ECIES不具有常规或对称系统的这些属性,也不具有上述公开密钥或非对称系统的所有属性,尽管它也使用一些对称操作及其非对称操作。

这就是为什么我听起来像是(混合)公钥加密!

票数 3
EN

Stack Overflow用户

发布于 2020-04-08 16:58:32

@dave_thompson_085很好地解释了这个概念。但是,我想添加一个例子来说明这一点。

例:

  • Alice生成公共"qA“和私钥"dA”。
  • 爱丽丝把她的公钥寄给了鲍勃。
  • 使用此公钥,Bob生成一对随机对称密钥(R和S)。
  • Bob用密钥"S“加密消息,并将此密文与密钥"R”一起发送给Alice。
  • 使用这个"R“密钥,Alice可以将她的私钥"dA”相乘,并生成对称密钥"S“来解密密文。

​

​

因此,消息是使用对称密钥加密的,但在网络上是不对称的,因为只有公钥在网络上交换,用于为接收方生成对称密钥,私钥用于在发送方生成相同的对称密钥。

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

https://stackoverflow.com/questions/50940672

复制
相关文章

相似问题

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