于是要求:若使RSA安全,p与q必为足够大的素数,使 分析者没有办法在多项式时间内将n分解出来。建议选择 p和q大约是100位的十进制素数。模n的长度要求至少是 512比特。ED攻击标准使用的RSA算法中规定n的长度为 512至1024比特位之间,但必须是128的倍数。国际数字 签名标准 ISO/EC9796中规定n的长度位512比特位。 为了抵抗现有的整数分解算法,对RSA模n的素因子 和q还有如下要求: 1)pql很大,通常p和q的长度相同; 2)1和q-1分别含有大素因子p和q (3)P1和q1-1分别含有大素因子p2和q2 (4)p+1和q+1分别含有大素因子p3和
于是要求 若使RSA安全 p与q必为足够大的素数 使 分析者没有办法在多项式时间内将n分解出来 建议选择 p和q大约是100位的十进制素数 模n的长度要求至少是 512比特 EDI攻击标准使用的RSA算法中规定n的长度为 512至1024比特位之间 但必须是128的倍数 国际数字 签名标准ISO/IEC 9796中规定n的长度位512比特位 为了抵抗现有的整数分解算法 对RSA模n的素因子 p和q还有如下要求 (1)|p-q|很大 通常 p和q的长度相同 (2)p-1 和q-1分别含有大素因子p1和q1 (3)P1-1和q1-1分别含有大素因子p2和q2 (4)p+1和q+1分别含有大素因子p3和q3
为了提高加密速度,通常取e为特定的小整数,如EDI 国际标准中规定e=216+1, ISO/EC9796中甚至允许取e 3。这时加密速度一般比解密速度快10倍以上 下面研究加解密算术运算,这个运算主要是模n的求 幂运算。著名的“平方和乘法”方法将计算x(modn)的模 乘法的数目缩小到至多为2,这里的是指数c的二进制表 示比特数。若设n以二进制形式表示有k比特,即 k=og2n+1。由1≤k,这样(mod n能在ok)时间内完 成 平方一和一乘法算法 指数c以二进制形式表示为 C=∑c2=c+c12+.+c121c1∈{0,1
为了提高加密速度 通常取e为特定的小整数 如EDI 国际标准中规定 e 216 1 ISO/IEC9796中甚至允许取e 3 这时加密速度一般比解密速度快10倍以上 下面研究加解密算术运算 这个运算主要是模n的求 幂运算 著名的“平方-和-乘法”方法将计算xc(mod n)的模 乘法的数目缩小到至多为2l 这里的l是指数c的二进制表 示比特数 若设n以二进制形式表示有k比特 即 k=[log2n]+1 由l k 这样xc(mod n)能在o(k3)时间内完 成 平方 和 乘法算法 指数c以二进制形式表示为 c= t-1 ci2i=c0+c12+…+ct-12t-1 ci {0,1} i=0