首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用RSA算法时,明文和密文相同会有风险吗?如果是,为什么?

使用RSA算法时,明文和密文相同会有风险吗?如果是,为什么?
EN

Stack Overflow用户
提问于 2011-02-23 09:46:51
回答 3查看 3.2K关注 0票数 1

如果RSA为给定的明文生成完全相同的密文,是否存在风险?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-23 23:56:28

使用1024位公钥的RSA加密对消息进行加密,最大长度为117字节,对应的密文长度为128字节。更一般地,对于所有密钥大小和标准PKCS#1填充模式,密文总是比明文长。因此,它们不能彼此相等。

如果你考虑后填充输入(即128字节的字符串求幂),那么一个固定点(一个在求幂过程中不变的数字)可能会暴露部分私钥;但是,你不会偶然碰到它。或者,更确切地说,你只会以微不足道的概率命中它(如果你愿意,你可以强制它,但无论如何没有人能阻止你泄露自己的私钥)。攻击者不会通过这种随机事件获得额外的信息,因为这样的相等性可能已经被攻击者测试过了……所以答案是:不,这里面没有风险。

票数 1
EN

Stack Overflow用户

发布于 2011-02-23 10:11:47

您应该仅对(a)用于对称密码的随机生成的会话密钥(b)用作签名机制一部分的加密散列函数使用RSA算法。

具体而言,请参阅Handbook of Applied Cryptography的第290页(第8章:)

仅在随机和与随机输入无法区分的输入上使用RSA的一个非常好的好处是,您永远不会有密文被解释为明文的风险。

直接在数据上使用RSA是危险的。

票数 2
EN

Stack Overflow用户

发布于 2015-04-20 03:21:46

是的,但这是极其罕见的。对于每个−密钥,存在(gcd(e 1,p−1)+1)(gcd(e−1,q−1)+1)个这些值。

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

https://stackoverflow.com/questions/5086172

复制
相关文章

相似问题

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