RSA求私钥d.我知道RSA中由公钥e求私钥d是要满足e*d(mod n)=1.此处n大家都知道是(p-1)(q-1).
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/04/28 21:13:01
RSA求私钥d.
我知道RSA中由公钥e求私钥d是要满足e*d(mod n)=1.此处n大家都知道是(p-1)(q-1).用辗转相除法可以求得.但是问题在于如果n是一个大数,有512bit.这么大的数我怎么用辗转相除法啊?如果e选择3,那d肯定也很大,怎么求?.求高手解答······
我知道RSA中由公钥e求私钥d是要满足e*d(mod n)=1.此处n大家都知道是(p-1)(q-1).用辗转相除法可以求得.但是问题在于如果n是一个大数,有512bit.这么大的数我怎么用辗转相除法啊?如果e选择3,那d肯定也很大,怎么求?.求高手解答······
你用的语言是哪个?
我当时是用C语言写的代码,实现最大RSA-2048.
我把思想给你说一下吧.
如果我们要定义一个很小的e、d、n、m,那么直接unsigned long int 就可以了.但是这样定义的数据的大小是有限的,即0----2^32-1,所以我们必须改变一下.
你可以定义一个 unsigned char e_array[513]; //定义513个是为了防止进位丢失
然后e_array的每一个单元只存你的e的一个bit.
举个实际的例子如下:
假如你的数据是3bit的5;
unsigned char data_array[4];
那么
data_array[0] = 0;
data_array[1] = 1;
data_array[2] = 0;
data_array[3] = 1;
就是这样.
采用这种方法你必须自己按照二进制的加减乘除的运算规则写出想要相应的代码.
我当时是用C语言写的代码,实现最大RSA-2048.
我把思想给你说一下吧.
如果我们要定义一个很小的e、d、n、m,那么直接unsigned long int 就可以了.但是这样定义的数据的大小是有限的,即0----2^32-1,所以我们必须改变一下.
你可以定义一个 unsigned char e_array[513]; //定义513个是为了防止进位丢失
然后e_array的每一个单元只存你的e的一个bit.
举个实际的例子如下:
假如你的数据是3bit的5;
unsigned char data_array[4];
那么
data_array[0] = 0;
data_array[1] = 1;
data_array[2] = 0;
data_array[3] = 1;
就是这样.
采用这种方法你必须自己按照二进制的加减乘除的运算规则写出想要相应的代码.
RSA求私钥d.我知道RSA中由公钥e求私钥d是要满足e*d(mod n)=1.此处n大家都知道是(p-1)(q-1).
RSA中,e*d=1(mod(p-1)(q-1))中为什么是mod(p-1)(q-1)而不是modpq?
1.按照RSA算法,若选两个素数p=11,q=7,公钥n=77,e=7,则私钥d=_?答案是说ed=1mod(p-1)(
RSA算法中的数学公式看不懂.想麻烦您 d=e^-1 三 1019(mod 3220) 这个e逆是怎么求的呢?烦劳您帮我
RSA 算法中 mod 运算在程序中怎么表示啊?已知 p=47,q=71,e=79 那么 d=
在RSA加密算法中 d*11=1 mod 8怎么得到d=3
p=7,q=11,e=17 RSA加密算法 d是多少?
在rsa算法中 已知 p=101 q=97 e=13 求d?最好给出算法
对于RSA算法,已知e=31,n=3599,求d.由n=3599,可知pq=59*61=3599,即p=59,q=61
再RSA公钥密码体制中 给定某用户的公钥e=31 N=3599 那么该用户的私钥d等于多少
在RSA算法中,已知p=3,q=11,公钥(加密密钥)e=7,明文M=5,求欧拉凼数fΦ(n) ; 私钥d 和密文C;
计算 以下情况下秘钥(e,n),(d,n)结果(也可以课后算,据RSA算法过程求解). A:p=11,q=19、e=17