下面是一个示例:
P= 11,q= 5,N= p*q = 55,选择加密指数e= 3,所以d=e^-1mod (p-1)(q-1) = 27。
如果我想加密x=13,x^e=13^3=52mod55。
我知道如何加密小于N的数字,但如何加密大于N的数字?
我知道如果X大于N,我们应该将X分解成几个部分并分别加密,但我不知道RSA如何分解它?
任择问题:
如何在IOS或python上用RSA加密文件?
发布于 2014-03-03 17:40:01
您不使用加密长消息。
正确的方法是使用混合加密而不是:
不要试图将文件分割成用RSA加密的块。没有标准的方法来做这件事,因为这是个坏主意。
发布于 2014-03-03 15:34:30
RSA算法根本不处理消息的分解。它只加密固定大小的整数。这种加密算法被称为分组密码,因为它以固定大小的“块”加密消息。
块密码本身通常不指定块是如何获得的。所以,你必须决定如何分裂这条信息。将整数分解为固定大小块的可能方法之一是将其转换为基本N,并分别对每个数字进行加密。
请注意,您不应该对每个数字进行独立于其他数字的加密,因为这是不安全的。事实上,这样做相当于使用单字母密码。。块密码有不同的操作模式,可以用来安全地加密多个块。您应该阅读维基百科页面来了解它们。
https://stackoverflow.com/questions/22141410
复制相似问题