首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSA消息加密问题

RSA消息加密问题
EN

Cryptography用户
提问于 2021-04-11 04:33:14
回答 1查看 107关注 0票数 1

我对密码学非常陌生,我想知道要用RSA加密一个三个字母的消息到底需要做些什么?例如,如果我想加密这个消息,M= \text{HCP}, p=11 q=13

我是否必须将字母转换成数字?(H = 7, C=2, P=15),然后单独加密每个字母吗?或者加/乘它们并同时加密它们?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2021-04-11 09:17:57

为了加密消息,在RSA或其他加密方案中,我们将消息转换(编码)为比特/字节数组,这些数组依赖于该方案。

如果您只考虑英文字母,则可以使用A=0,\ldots, Z=25对字母序列m_0,m_1,\ldots,m_t进行编码。

m = \sum_{i=0}^t 26^i \cdot m_i这种方法是常用的编码方式,记得二进制编码吗?一个类似的想法应用在这里,并注意到解码是独特的。在计算机中,数字很容易转换成八进制(字节),通常处理字节数组,有些方案也使用单词。

你现在或将来都会遇到一些问题;

  1. 不可能有m \geq n,其中n是RSA模。如果您的消息比RSA模数长,那么您需要将您的消息分成几个部分。在你的例子中,p=11,q=13然后是n = 143。这只能一次加密一个字母。使用更大的模数,或者逐一加密!
  2. 我们不使用RSA加密,而是使用RSA进行签名和混合加密,比如RSA-KEM。
  3. RSA加密需要适当的填充,如PKCS#1v.4或OAEP,以防止攻击,参见20年来对RSA密码体制的攻击
  4. RSA签名不是RSA解密.
  5. 对于签名,必须使用概率签名方案(PSS)。
  6. 该填充,是不够安全的,一个需要有固定的时间实现对侧通道的攻击。
  7. 要查看真正的RSA编码,请参阅rfc8017
票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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