使用RSA解密字符串

韩伟

情况如下:要求我在Javascript中实现解密算法,以解密使用以下算法使用RSA编码的字符串:

  1. 将字符串转换为一些整数列表(将4个字符转换为1个整数),我们将此列表称为u []。
  2. 对u []中的所有元素应用此操作: e[i] = RSA((u[i]-e[i-1]) mod n), e[-1] = 0
  3. 然后我们得到加密的整数列表e []。

步骤2的文字描述:我们加密第一个元素,然后从第二个元素中减去加密的第一个元素。然后,我们做(模n),然后对结果进行加密。对于其余的数字,该过程将继续进行。

现在的问题是解密部分。我已经在这部分停留了几个小时!

我使用方程式,目的是使u [n]成为主题:

e[i] = RSA((u[i]-e[i-1]) mod n) -- (1)

我们知道:

RSA(x) = x^e mod n -- (2) 
RSA'(x) = x^d mod n -- (3)

因此,从(1)和(3)

RSA'(e[i]) = (u[i]-e[i-1]) mod n
RSA'(e[i]) + k*i + e[i-1] = u[i]

那我有点卡住了,因为我们不知道k。

因此,我再次尝试:

RSA'(e[i]) = (u[i]-e[i-1]) mod n
(e[i])^d mod n = (u[i]-e[i-1]) mod n

似乎也没有去...

乔尼

第二步没有太大意义,不是吗?

e[i] = RSA((u[i]-e[i-1]) mod n), e[-1] = 0

即,模量与指数无关。这没有多大意义,因为要得到,e[0]您必须计算模0值(等于零就等于无意义),并且e[1]您必须计算模1值,并且结果始终为0。

此外,如果n是RSA模数,则对于纯文本,您将拥有0 <= u[i] < n这意味着相反的第二步就是

u[i] = (RSA'(e[i]) + e[i-1]) mod n

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用RSA技术在JavaScript中加密字符串并在PHP中解密

来自分类Dev

使用RSA Java解密Base64加密的字符串后的垃圾值

来自分类Dev

使用RSA解密字符串时,开头会返回附加的零。

来自分类Dev

无法使用.Net Core中的RSA私钥解密连接字符串

来自分类Dev

使用RSA Java解密Base64加密的字符串后的垃圾值

来自分类Dev

尝试使用 libcrypto 对参数字符串进行 RSA 解密时出错

来自分类Dev

解密(RSA)字符串的长度正在改变

来自分类Dev

无法使用CryptoJS解密字符串

来自分类Dev

无法使用CryptoJS解密字符串

来自分类Dev

如何使用手动设置的 RSA 参数加密和解密字符串?为什么 RSACryptoServiceProvider 抛出?

来自分类Dev

验证解密的字符串

来自分类Dev

来自sqlite的RSA加密字符串的解密是不一样的

来自分类Dev

使用AES-128加密和解密字符串

来自分类Dev

使用AES密钥解密安全字符串

来自分类Dev

使用openssl错误加密/解密字符串

来自分类Dev

PHP使用MCRYPT_RIJNDAEL_256解密字符串

来自分类Dev

无法使用 Java/Kotlin 加密/解密字符串

来自分类Dev

加密RSA,编码为字符串。在另一端编码回字节并解密RSA

来自分类Dev

如何使用密钥字符串解密SHA-256加密的字符串?

来自分类Dev

使用给定的RSA公钥OpenSSL加密字符串

来自分类Dev

加密和解密Unicode字符串

来自分类Dev

SharpAESCrypt加密和解密字符串

来自分类Dev

从 C# 加密的解密字符串

来自分类Dev

字符串替换方法 | 加密解密

来自分类Dev

尝试使用字符数组解密字符串(Polybius Square)

来自分类Dev

使用EF Core 2.2使用SQL Server DECRYPTBYKEY解密字符串

来自分类Dev

尝试使用AES加密和解密字符串时发生IllegalBlockSizeException

来自分类Dev

如何在C Sharp中解密“使用Java加密的字符串”?

来自分类Dev

使用RC4在Java中加密字符串并在VBScript中解密

Related 相关文章

  1. 1

    使用RSA技术在JavaScript中加密字符串并在PHP中解密

  2. 2

    使用RSA Java解密Base64加密的字符串后的垃圾值

  3. 3

    使用RSA解密字符串时,开头会返回附加的零。

  4. 4

    无法使用.Net Core中的RSA私钥解密连接字符串

  5. 5

    使用RSA Java解密Base64加密的字符串后的垃圾值

  6. 6

    尝试使用 libcrypto 对参数字符串进行 RSA 解密时出错

  7. 7

    解密(RSA)字符串的长度正在改变

  8. 8

    无法使用CryptoJS解密字符串

  9. 9

    无法使用CryptoJS解密字符串

  10. 10

    如何使用手动设置的 RSA 参数加密和解密字符串?为什么 RSACryptoServiceProvider 抛出?

  11. 11

    验证解密的字符串

  12. 12

    来自sqlite的RSA加密字符串的解密是不一样的

  13. 13

    使用AES-128加密和解密字符串

  14. 14

    使用AES密钥解密安全字符串

  15. 15

    使用openssl错误加密/解密字符串

  16. 16

    PHP使用MCRYPT_RIJNDAEL_256解密字符串

  17. 17

    无法使用 Java/Kotlin 加密/解密字符串

  18. 18

    加密RSA,编码为字符串。在另一端编码回字节并解密RSA

  19. 19

    如何使用密钥字符串解密SHA-256加密的字符串?

  20. 20

    使用给定的RSA公钥OpenSSL加密字符串

  21. 21

    加密和解密Unicode字符串

  22. 22

    SharpAESCrypt加密和解密字符串

  23. 23

    从 C# 加密的解密字符串

  24. 24

    字符串替换方法 | 加密解密

  25. 25

    尝试使用字符数组解密字符串(Polybius Square)

  26. 26

    使用EF Core 2.2使用SQL Server DECRYPTBYKEY解密字符串

  27. 27

    尝试使用AES加密和解密字符串时发生IllegalBlockSizeException

  28. 28

    如何在C Sharp中解密“使用Java加密的字符串”?

  29. 29

    使用RC4在Java中加密字符串并在VBScript中解密

热门标签

归档