一种tts签名的解密方法

文档序号:9767660阅读:856来源:国知局
一种tts签名的解密方法
【技术领域】
[0001] 本发明涉及信息安全技术领域,尤其涉及一种TTS签名的解密方法。
【背景技术】
[0002] 多变量公钥密码是现在和未来重要的公钥密码之一,它具有能够抵御量子计算机 攻击的能力。它的安全性是建立在一个NP-Hard问题的基础上,即求解有限域的多元多次方 程组,其中大部分的多项式是二次多项式。TTS签名是多变量公钥密码的一种代表性的密 码。
[0003] 对多变量公钥密码的解密,特别是对TTS签名的解密,现有技术一般采用代数攻击 方法,但随着算法的不断改进,这些解密方法的使用并不是特别有效。

【发明内容】

[0004] 本发明实施例提出一种TTS签名的解密方法,能够提高TTS签名的解密效率。
[0005] 本发明实施例提供一种TTS签名的解密方法,包括:
[0006] 获取TTS签名算法中的计算公式;
[0007]依次选取集合中的数值作为所述计算公式中的私钥采样值,并在每选取一个私钥 采样值时,依次选取所述集合中的数值作为所述计算公式的输入值进行运算,获取运算过 程中产生的功耗曲线;所述集合为{(〇〇.. .0)2,(00.. .1)2,...,(11.. .1)2};
[0008] 采用基于汉明距离模型的差分能量攻击方法对所述功耗曲线进行分析,获得所述 TTS签名算法中私钥。
[0009] 进一步地,所述TTS签名算法包括多个计算公式q(x) Θ e(x) =r(x);其中,q(x)为 输入值,e(x)为私钥,r(x)为输出值,θ为加法运算或乘法运算,q(X)、e( X)和r(x)均由GF (2k)的元素组成。
[0010] 进一步地,所述依次选取集合中的数值作为所述计算公式中的私钥采样值,并在 每选取一个私钥采样值时,依次选取所述集合中的数值作为所述计算公式的输入值进行运 算,获取运算过程中产生的功耗曲线,具体包括:
[0011]在运算每个计算公式时,依次选取集合中的k个数值作为所述计算公式中私钥e (X)的采样值,并在每选取一个私钥采样值时,依次选取所述集合中的所述k个数值作为所 述计算公式的输入值q(x)进行运算,获取每个私钥采样值所对应的k个输出值r(x)和k条功 耗曲线;其中,k个输入值q (X)、k个输出值r (X)和k条功耗曲线--对应,k 2 1。
[0012] 进一步地,所述采用基于汉明距离模型的差分能量攻击方法对所述功耗曲线进行 分析,获得所述TTS签名算法中私钥,具体包括:
[0013] 在运算每个计算公式后,基于汉明距离模型计算每个输入值q(x)及其对应的输出 值r(x)之间的汉明距离,获得每个私钥采样值所对应的k个汉明距离;其中,所述k个汉明距 离和k条功耗曲线一一对应,所述功耗曲线为时刻与功耗的对应关系变化曲线;
[0014] 根据所述汉明距离对所述k条功耗曲线进行分组,使汉明距离大于预设值的功耗 曲线为一组,使汉明距离小于预设值的功耗曲线为另一组;
[0015] 根据每组中的所有功耗曲线计算每个时刻的平均功耗,获取每组的平均功耗曲 线,以使每个私钥采样值对应两条平均功耗曲线;
[0016] 根据每个私钥采样值所对应的两条平均功耗曲线,计算每个时刻的功耗差值,获 取每个私钥采样值所对应的功耗差值曲线;
[0017]求取每个私钥采样值所对应的功耗差值曲线的极值,获取极值最大的功耗差值曲 线,并将所述极值最大的功耗差值曲线所对应的私钥采样值作为所述计算公式中的私钥e (x)〇
[0018] 进一步地,所述TTS签名算法包括第一仿射变换计算公式;所述第一仿射变换计算 公式包括第一计算公式yi = yi+bi和第二计算公式aij = aij Xyj,i,j = 0,1,…,27;
[0019] 其中,在所述第一计算公式中,yi为输入值q(x),bi为私钥e(x),yi为输出值r(x); 在所述第二计算公式中,yj为输入值q(x),aij为私钥e(x),aij为输出值r(x)。
[0020] 进一步地,所述TTS签名算法还包括中心映射计算公式;
[0021] 所述中心映射计算公式如下:
[0022]
[0023]
[0024]
[0025]
[0026] 其中,果:为输入值q(X),Pij为私钥e (X),fi为输出值r(X)。
[0027] 进一步地,所述TTS签名算法还包括第二仿射变换计算公式;所述第二仿射变换计 算公式包括第三计算公式$ = $十 < 和第四计算公式~ = x 5,i,j = 〇,1,. . .,27;
[0028] 其中,在所述第三计算公式中,巧为输入值q(x),cU为私钥e(x),另为输出值r(x); 在所述第四计算公式中,巧为输入值q(x) ,(?为私钥e(x),Clj为输出值r(x)。
[0029] 实施本发明实施例,具有如下有益效果:
[0030] 本发明实施例提供的TTS签名的解密方法,能够在TTS签名算法的运算过程中进行 功耗采样,获得功耗曲线,进而采用基于汉明距离模型的差分能量攻击方法对功耗曲线进 行分析,以获得TTS签名算法中使用的私钥,可在TTS签名无法进行正常解密的情况下,实现 对TTS签名的解密,且有效提高TTS签名的解密效率。
【附图说明】
[0031] 图1是本发明提供的TTS签名的解密方法的一个实施例的流程示意图;
[0032] 图2是本发明提供的TTS签名的解密方法中步骤S3的一个实施例的流程示意图;
[0033] 图3是本发明提供的TTS签名的解密系统的一个实施例的结构示意图。
【具体实施方式】
[0034]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0035]参见图1,本发明提供的TTS签名的解密方法的一个实施例的流程示意图,包括: [0036] S1、获取TTS签名算法中的计算公式;
[0037] S2、依次选取集合中的数值作为所述计算公式中的私钥采样值,并在每选取一个 私钥采样值时,依次选取所述集合中的数值作为所述计算公式的输入值进行运算,获取运 算过程中产生的功耗曲线;所述集合为{(〇〇.. .0)2,(00.. .1)2,...,(11.. .1)2};
[0038] S3、采用基于汉明距离模型的差分能量攻击方法对所述功耗曲线进行分析,获得 所述TTS签名算法中私钥。
[0039] 需要说明的是,TTS签名算法由TTS签名系统来运行,TTS签名系统根据输入的密文 y,计算并输出其TTS签名X。TTS签名系统包括随机数产生模块、第一仿射变换模块、第二仿 射变换模块、中心映射模块和私钥。其中,私钥包括A、B、C、D和p,其中,A、C是矩阵,B、D是向 量,P是数组,它们均由GF(2 k)的元素组成,即A = A(aoo,a()i,· · ·,ai9,i9),B = B(bo,bi,· · ·, big),C = C(C00,C01,· · ·,C27,27),D = D(d〇,dl,· · ·,d27),Ρ = Ρ(Ρ〇0,Ρ〇1,· · ·,P27,27)。
[0040] 在TTS签名系统运算过程中,随机数产生模块用于产生多个GF(2k)的随机数S,其 中随机数S由GF(2 k)的元素组成,即S = S(so,S1,. . .,s7)。第一仿射变换模块用于计算 J = 4)· + 5,其中歹是y经过第一次仿射变换后的计算结果,密文y和中间的计算结果f均由GF (2k)的元素组成,即y = y(y〇,yi, . . · ,yi9),.F = y("..,yi9)。其中,第一次仿射变换计算公式 j =_办+ .A具体如下:
[0041] yi = yi+bi ;
[0042] aij = aij Xyj ;
[0043] = (〇〇..,Ο),;
[0044] y,=y,+ ai, > = 〇,i,...,i9。
[0045] 中心映射模块用于计算? = .,其中是中心映射的逆变换,?是f经过中心映 射逆变换后的计算结果,中间的计算结果f由GF(2k)的元素组成,即7 =可,…石)。其中, 中心映射计算公式IzF1?具体如下:
[0046]
[0047]
[0048]
[0049]
[0050] 其中,中心映射模块的计算步骤为:利用随机数产生模块为1,系,...,?选择随机的 数值;将代入f〇,fi,. . .,fs,并计算它们的系数;fhfl·,. . .,f8被转化为关于 的线性方程组,求解这个线性方程组;将"代入f9,f 1Q中,计算H1S的值; 将代入fn,f12, · . .,f19中,计算它们的系数;fn,f12, . . .,f19被转化为关于 4心的线性方程组,求解这个线性方程组。
[0051] 第二仿射变换模块用于计算x = CT + l>,这里1是?经过第二次仿射变换后的计算结 果。其中签名X由GF(2k)的元素组成,即X = X(XQ,X1, . . .,X27)。其中,第二次仿射变换计算公 式* = CT+I3具体如下:
[0052] X; = s;. + di;
[0053] ?/ =?,χ5;
[0054] xi=(00. · .0)2;
[0055] x = xi+cij,i,j = 0,1,· · ·,27。
[0056] 进一步地,所述TTS签名算法包括多个直接由私钥运算的计算公式q(x) 〇 e(x)=r (x);其中,q(x)为输入值,e(x)为私钥,r(x)为输出值,〇为加法运算或乘法运算,q(x)、e (X)和r(x)均由GF(2 k)的元素组成。
[0057]具体地,在第一仿射变换计算公式中,第一计算公式yi = yi+bi和第二计算公式aij = aijXyj为直接由私钥A、B运算的计算公式,i, j = 0,l,. . . ,27。其中,在所述第一计算公式 中,yi为输入值q(x),bi为私钥e(x),yi为输出值r(x);在所述第二计算公式中,yj为输入值q (X),aij为私钥e(x),aij为输出值r(x)。
[0058] 在中心映射计算公式中,直接由私钥p运算的计算公式如下:
[0059]
[0060]
[0061]
[0062]
[0063] 其中,5为输入值q(x),Pij为私钥e(x),fi为输出值r(x)。
[0064] 在第二仿射变换计算公式中,第三计算公式X =$ + ??,和第四计算公式Q 为 直接由私钥C、D运算的计算公式,i,j = 0,1,. . .,27。其中,在所述第三计算公式中,?;为输 入值q(x),cU为私钥e(x),5为输出
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1