- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
若x后加时戳 y1=(2t x+t1)3 mod n1 y2=(2t x+t2)3 mod n2 y3=(2t x+t3)3 mod n3 t是t1, t2, t3的二元表示位数,可防止这类攻击。上述攻击扩展为k个用户,即将相同的消息x传给k个人,只要,采用低指数亦可有效攻击。因此,为抗击这种攻击e必须选得足够大。一般,e选为16位素数。 对短的消息,可用随机数字填充,以防止低加密指数攻击。 定时攻击法: 定时(Timing)攻击法由P. Kocher提出,利用测定RSA解密所进行的模指数运算的时间来估计解密指数d,而后再精确定出d的取值。R. Rivest曾指出,这一攻击法可以通过将解密运算量与参数d无关挫败。 另外还可采用盲化技术,即先将数据进行盲化,再进行加密运算,而后做去盲运算。这样做虽然不能使解密运算时间保持不变,但计算时间被随机化而难于推测解密所进行的指数运算的时间。 侧信道攻击 为了保证安全,必须仔细选择各参数。 (1)n的确定 ? n=p1×p2,p1与p2必须为强素数。 强素数p的条件:(a)存在两个大素数p1和p2,p1|(p-1),p2|(p+1)。(b)存在4个大素数r1, s1, r2及s2,使r1|(p1-1), s1|(p1+1), r2|(p2-1), s2|(p2+1)。称r1, r2, s1和s2;p1和p2为二级素数。 RSA的参数选择 ? p1与p2之差要大。若p1与p2之差很小,则可由n=p1p2估计(p1+p2)/2=n1/2,则由((p1+p2)/2)2-n=((p1-p2)/2)2。上式右边为小的平方数,可以试验给出p1, p2的值。 ? p1-1与p2-1的最大公因子要小。在惟密文攻击下,设破译者截获密文y=x e mod n。破译者做下述递推计算: xi=xi-1e mod n=(xe)i mod n 若ei=1 mod ?(n),则有xi=x mod n,且ei+1=e mod ?(n),即xi+1=x。若i小,则由此攻击法易得明文x。由Euler定理知,i=?((p1-1)(p2-1)),若p1-1和p2-1的最大公因子小,则i值大,如i=(p1-1)(p2-1)/2,此攻击法难于奏效。 ? p,q要足够大,以使n分解在计算上不可行。 (2)e的选取原则: (e, ?(n))=1 ? e不可过小:若e小,x小,易遭低指数攻击 ? 选e在mod ?(n)中的阶数,即i,ei ?1 mod ?(n),i达到(p1-1)(p2-1)/2。 (3)d的选择: e选定后可用Euclidean算法在多项式时间内求出d。d要大于n1/4。d小,签字和解密运算快,这在IC卡中尤为重要(复杂的加密和验证签字可由主机来做)。类似于加密下的情况,d不能太小,否则由已知明文攻击,构造(迭代地做)y=xe mod n,再猜测d值,做xd mod n,直到试凑出xd?1 mod n是d值就行了。Wiener给出对小d的系统攻击法,证明了当d长度小于n的1/4时,由连分式算法,可在多项式时间内求出d值。这是否可推广至1/2还不知道。 设n=1024 二次筛法:O^{e^{1+o(1)3.66}}(90年代中期前常用) 椭圆曲线:O^{e^{(1+o(1))4.77}}(p\approx sqrt(n)时慢) 数域筛法:O^{e^{1.92+o(1)}2.96}(n大时较有效) X^2-(p_1+p_2)x+n=(x-p_1)(x-p_2) N|x^2-1?p|x^2-1; q|x^2-1 ? x=1 modp x=1 modq; x=-1 modp x=-1 modq; x=-1 modp x=1modq; x=-1modp x=-1modq X=-1*q*q^-1+1*p*p^-1 X=q*q^{-1}-p*p^{-1} N|(x-1)(x+1) N〉x-1;Nx+1 所以x-1和x+1都包含n的因子 W^2=1 mod n??? 知道w^{\phi(n)} =1 mod n \phi(n)|ab-1?w^{ab-1} = 1 mod n (显然,因为m^{ab}=m) 第一个failure:平凡因子 循环中判断平凡因子等于-1。 N=2^1024; if a2^256/3 Boneh: if a2^299.08 Y是群元素;碰d N=35,e=17,\phi(n)=24;;17*d=1mod 24; 所以d=17。 1.知道私钥可以概率分解 2。同一消息用两个不同的公钥加
文档评论(0)