首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定性非对称加密

确定性非对称加密
EN

Stack Overflow用户
提问于 2020-08-31 00:08:43
回答 1查看 928关注 0票数 1

虽然它被认为不安全,但我需要一个Python库,它总是使用非对称加密方案为相同的明文生成相同的密文。

这意味着在使用k加密m时,给出一个明文m和一个公钥k,我将始终得到一个常数密文c。如果有一种方法可以使用Python库“加密”来做到这一点,那就更好了。

EN

回答 1

Stack Overflow用户

发布于 2020-08-31 21:24:51

您找不到这一点,因为公钥加密不可能是确定性的。任何确定性的公钥加密方案都会受到非常简单的攻击:给定密文,猜猜明文可能是什么,并通过使用公钥加密来验证猜测。任何人都可以执行此攻击,因为加密密钥是公开的。

这与公钥签名完全不同,公钥签名可能是确定性的,因为能够分辨出两个签名来自同一条消息并不会改变签名的有效性。对于加密,能够分辨出两个明文是相同的消息确实破坏了加密的全部目的。

在一种情况下,公钥加密可能是确定性的,如果明文是随机生成的,或者是从随机生成的数据中派生出来的,那么就不可能猜测潜在的明文。然而,有了这样的输入限制,您不应该寻找“非对称加密”方案,而应该寻找一个低级的原语:陷阱门置换。这不是一个直接可用的原语,但它可以是加密机制(例如公钥加密机制)的一个构建块。因此,您不能期望库提供它作为它们的接口。此外,典型的协议在使用陷阱门排列的方式上并不是通用的。因此,您的协议定义将调用特定的原语,而不是“确定性非对称加密”原语。

如果您认为您需要“确定性非对称加密”,则您正在设计您自己的加密方案,而且它不可能是正确的。别干那事。如果你需要帮助解决问题,问你的实际问题,而不是你想要解决的死胡同

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

https://stackoverflow.com/questions/63663273

复制
相关文章

相似问题

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