gpt4 book ai didi

ssl - RSA 中的消息长度限制

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:33 25 4
gpt4 key购买 nike

在 RSA 中,消息长度不应超过 (keysize/8) 字节。为什么会有这样的限制?输入(比如“abcde”)在将其输入 RSA 算法之前转换成什么?它在哪里考虑输入字符串“abcde”的大小?

最佳答案

RSA算法本质上是:

Ciphertext = (Plaintext e) mod n

并解密:

Plaintext = (Ciphertext d) mod n

en 一起组成你的公钥, dn 组成你的私钥. e 通常是几个常见值之一,例如65537,n是两个大质数pq的乘积,应该是你唯一的,并且定义了 key 长度(例如1024位)。用于解密密文的d的值是使用epq计算的。如果您有兴趣,维基百科有更多详细信息:http://en.wikipedia.org/wiki/RSA_(algorithm) .在 RSA 算法中使用时,您的明文基本上被视为一个大整数。

如果您不熟悉模运算符,它基本上就是左侧除以右侧的余数。例如。 17 mod 5 = 2 因为 5 恰好将 17 除 3 次(3 * 5 = 15),余数为:17 - 15 = 2 >).

由于模运算符的定义,a mod b 的结果总是小于b。鉴于此,并且解密值是执行 mod n 操作的结果这一事实意味着解密时,生成的明文值将始终小于 n。因此,要使这成为您最初加密的实际明文,输入必须小于 n

为了保证这一点,消息的位数(“数字”)被限制为少于 n。由于 n 中的位数是 key 大小,因此它必须少于 keysize 位,或 keysize/8 字节(因为有一个字节中有 8 位)。

关于ssl - RSA 中的消息长度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com