我已经实现了RSA加密算法来加密数据加密中使用的对称密钥,但是RSA的密钥大小和密文大小造成了内存问题,因此我搜索了其他公钥加密方法以寻找解决方案。我发现了椭圆曲线积分加密方案(ECIES),并了解了它背后的理论,但是,我还不清楚这种方法是如何作为公开/不对称加密算法的。该方法使用从共享秘密导出的密钥计算对称加密,用于加密和解密(使用相同的密钥)。
那么,如何才能将其作为一种非对称加密算法呢?或者是否有任何方法将其实现为非对称加密?
发布于 2018-06-20 11:21:45
Meta:这并不是真正的编程或开发问题或问题。它可能属于crypto.SX;您可以请求迁移。
确切地说,ECIES是一种混合公钥加密方案,但大多数其他加密方案也是如此。例如,正如您所说,RSA通常用于加密工作(每条消息)对称密钥,而不是直接加密数据。
2-5。Alice生成一个短暂的密钥,导出共享的DEK,并对数据进行加密,并使用她的临时公钥(编辑)发送数据,并销毁临时私钥。
按注释添加,并在下面扩展:是的,DEK在两端是相同的(注意,我使用的是' the‘,意思是一个,而不是多个),这就是为什么这个方案有效的原因;ECIES中使用DEK进行数据加密和解密的部分是对称的,但是所有其他操作(安全地创建短暂的共享DEK)都是对称的。
除了爱丽丝(或鲍勃),没有人知道她短暂的私钥是至关重要的;如果他们知道了,他们就能解密。但她不需要显式地保守秘密,因为她在使用它发送信息后立即销毁它;这就是短暂的含义。
让我们看看:
请考虑标准/传统对称格式的性质:
ECIES不具有常规或对称系统的这些属性,也不具有上述公开密钥或非对称系统的所有属性,尽管它也使用一些对称操作及其非对称操作。
这就是为什么我听起来像是(混合)公钥加密!
发布于 2020-04-08 16:58:32
@dave_thompson_085很好地解释了这个概念。但是,我想添加一个例子来说明这一点。
例:

因此,消息是使用对称密钥加密的,但在网络上是不对称的,因为只有公钥在网络上交换,用于为接收方生成对称密钥,私钥用于在发送方生成相同的对称密钥。
https://stackoverflow.com/questions/50940672
复制相似问题