RSA中,e*d=1(mod(p-1)(q-1))中为什么是mod(p-1)(q-1)而不是modpq?
发布网友
发布时间:2022-05-29 09:20
我来回答
共2个回答
热心网友
时间:2023-10-14 05:17
用a表示加密前的信息,b表示加密后的信息,c表示用另一对密钥解密后所得的信息,那么:
对明文加密后得b≡a^emod(p*q)
然后再用另一对密钥解密b得c≡a^d≡(a^e)^d=a^(e*d)cmod(p*q)
现在还是不能确定是否有a=c(解密后得信息与加密前的一样)
但是如果我们让e*d=1mod((p-1)(q-1))
那么c≡a^(e*d)=a^(k(p-1)(q-1)+1)
≡amod(p*q)(根据欧拉定理:a^((p-1)(q-1))≡mod(p*q))
在*0≤ a,c<p*q的情况下,a=c
如果a不与p*q互素,也有相同的结论。
热心网友
时间:2023-10-14 05:18
晕,这是人家研究或者说发明出来的加密算法,你这就好比问为什么汽车的车灯是在两侧而不跟摩托车的一样在中间呢。
RSA中,e*d=1(mod(p-1)(q-1))中为什么是mod(p-1)(q-1)而不是modpq?
用a表示加密前的信息,b表示加密后的信息,c表示用另一对密钥解密后所得的信息,那么:对明文加密后得b≡a^emod(p*q)然后再用另一对密钥解密b得c≡a^d≡(a^e)^d=a^(e*d)cmod(p*q)现在还是不能确定是否有a=c(解密后得信息与加密前的一样)但是如果我们让e*d=1mod((p-1)(...
RAS中e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 的mod是什么意思?
mod :求出两数相除的余数
什么是RSA算法,有公钥和私钥对?他的处理过程是这样的?
RSA算法是一种著名的非对称加密算法,它依赖于一对密钥,即公钥和私钥。在非对称加密中,公钥用于加密数据,而私钥用于解密。该算法的核心涉及三个主要参数:n、e和d。n是两个大质数p和q的乘积,它用作加密和解密的基础。e是一个小于n的整数,且与(p-1)*(q-1)互质,用于加密过程。d是e的模逆...
谁知道怎么给文件加密啊
e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )其中n和d要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 2、加密加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。加密的公式是:ci = mi...
给出p、q、e、M,设计一个RSA算法,求公钥,私钥,并且利用RSA算法加密和...
RSA是非对称加密体系,也就是说加密用一个公钥,解密用一个私钥,这2个密钥不同,这点非常非常重要。其实RSA非常简洁,但很美 流程 1,寻找2个大的素数p,q n=p*q=33 N=(p-1)*(q-1)=20 公钥e一般是3 私钥d要通过公钥e去算出来 e*d=1(mod N) 就是说e和d的乘积模N得1 也...
摘抄与理解--RSA加密和ssl
n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。第三步,计算n的欧拉函数φ(n)。根据公式:φ(n) = (p-1)(q-1)爱丽丝算出φ(3233)等于60×52,即3120。第四步,随机选择一个整数e,条件是1<...
有没有加密算法提供,最好是复杂的
RSA算法可以表述如下:(1) 密钥配制。假设m是想要传送的报文,现任选两个很大的质数p与q,使得:(12-1);选择正整数e,使得e与(p-1)(q-1)互质;这里(p-1)(q-1)表示二者相乘。再利用辗转相除法,求得d,使得:(12-2);其中x mod y是整数求余运算,其结果是x整除以y后剩余的余数,如5 mod 3 = 2。这样...
de=1modφ(n)是什么意思
在RSA算法中,de=1modφ(n)是指de与1关于φ(n)同余。对极大整数做因数分解的难度决定了RSA算法的可靠性。对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。只有短的RSA...
已知RSA算法中两个素数P=5,Q=11及公钥e=3 ,求私钥d=? 如果明文M=3...
你好,具体流程如下:5.1 求N p = 5 q = 11 N = p * q =55 5.2 求L L = lcm(p-1, q-1)= lcm(4,10) = 20 20为4和10对最小公倍数 5.4 求D 求D也必须满足2个条件:1 < D < L,E*D mod L = 1 即1 < D < 20,3* D mod 20= 1 显然当D=...
RSA算法的C++实现
RSA算法非常简单,概述如下: 找两素数p和q 取n=p*q 取t=(p-1)*(q-1) 取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1) 取d*e%t==1 这样最终得到三个数: n d e 设消息为数M (M <n) 设c=(M**d)%n就得到了加密后的消息c 设m=(c**e)%n则 m == M,从而完成对c的...