一种UOV签名的密钥恢复装置及方法制造方法及图纸

技术编号:20013455 阅读:30 留言:0更新日期:2019-01-05 22:02
本发明专利技术公开了一种UOV签名的密钥恢复装置,包括:消息和签名模块,用于生成N对消息签名对;功耗曲线模块,用于采集每对消息签名对生成过程中产生的功耗曲线;密钥运算模块,用于依次选取UOV签名生成过程中所有密钥参与的计算公式;密钥猜测值模块,用于依次选取GF(2

A Key Recovery Device and Method for UOV Signature

The invention discloses a key recovery device for UOV signature, which includes: message and signature module for generating N pairs of message signature pairs; power curve module for collecting power curve generated in the process of generating each pair of message signature pairs; key operation module for sequentially selecting calculation formulas for all key participation in the process of generating UOV signature; key guessing value module for depending on. Secondly selected GF(2)

【技术实现步骤摘要】
一种UOV签名的密钥恢复装置及方法
本专利技术涉及信息安全
,尤其涉及一种UOV签名的密钥恢复装置及方法。
技术介绍
UOV签名是多变量签名的一种,它具有能够抵御量子计算机攻击的能力。它的安全性建立在一个NP-Hard问题的基础上,即求解有限域的多元二次方程组。UOV签名的多变量结构含有一个中心映射变换和一个仿射变换:y0,y1,...,ym-1是消息,x0,x1,...,xn-1是签名,F是中心映射变换,L是仿射变换,密钥由F,L的参数组成。中心映射的逆变换包括一个多元二次方程组,是中心映射变换结果。仿射变换的逆变换的形式是的A是n×n的矩阵,b是长度为n的向量,A和b是密钥。现有技术中,UOV签名的密钥恢复主要采用代数分析方法,效率较低,在一定程度上阻碍了UOV签名的广泛应用。
技术实现思路
本专利技术实施例提出一种UOV签名的密钥恢复装置及方法,能够快速恢复密钥,发现UOV签名的安全性问题,从而为保护UOV提供技术支持。本专利技术实施例提供一种UOV签名的密钥恢复装置,包括:消息和签名模块,用于基于UOV签名算法生成N对消息签名对;其中,N为大于2000的正整数;功耗曲线模块,用于采集每对消息签名对生成过程中产生的功耗曲线,获得N条功耗曲线;密钥运算模块,用于依次选取UOV签名生成过程中所有密钥参与的计算公式;密钥猜测值模块,用于依次选取GF(2k)中的元素作为每个所选取的计算公式中的密钥的猜测值;以及,中央处理模块,用于调用所述消息和签名模块、所述功耗曲线模块、所述密钥运算模块和所述密钥猜测值模块,以及在每选取一个猜测值时,依次根据所述N对消息签名对中的消息获取所述计算公式的输入值并进行运算,获得N个输出值,并基于每个猜测值所对应的N个输入值和N个输出值,对所述N条功耗曲线进行分析,获得所述UOV签名算法中的密钥。进一步地,所述密钥包括多个元素;依次选取GF(2k)中的元素作为所述密钥中的每个元素的猜测值;所述中央处理模块包括控制器和处理器;所述控制器用于调用所述消息和签名模块、所述功耗曲线模块、所述密钥运算模块和所述密钥猜测值模块;所述处理器用于对于所述密钥中的一个元素,在每选取一个猜测值进行运算后,计算每个输入值与其对应的输出值之间的汉明距离,获得每个猜测值所对应的N个汉明距离;其中,所述N个汉明距离和N条功耗曲线一一对应;所述控制器还用于根据所述汉明距离对所述N条功耗曲线进行分组,使汉明距离大于预设值的功耗曲线为第一组,使汉明距离小于预设值的功耗曲线为第二组;所述处理器还用于对两组功耗曲线进行差分运算,获得每个猜测值的曲线;所述控制器还用于将每个曲线的最大幅值作为所述曲线的极值,获得每个猜测值的曲线的极值,并将极值最大的曲线所对应的猜测值作为所述密钥中的所述元素,进而获取所述密钥中的所有元素,以获取所述计算公式中的密钥。进一步地,所述差分运算的计算公式如下:其中,Δ为猜测值的曲线,ti为第i条功耗曲线,T0为第一组功耗曲线,T1为第二组功耗曲线,|T0|为第一组功耗曲线的数量,|T1|为第二组功耗曲线的数量,为第i个输入值D与第i个输出值R之间的汉明距离,k为一个正整数。进一步地,所述UOV签名生成过程中所有密钥参与的计算公式为其中,D为输入值,E为密钥,R为输出值,□为加法运算或乘法运算,D、E和R均由GF(2k)的元素组成。进一步地,所述UOV签名算法包括第一仿射变换计算公式y为消息签名对中的消息,为y仿射变换之后的结果,A是m×m的矩阵,b是长度为m的向量;所述第一仿射变换计算公式包括第一计算公式aij′=aij×yi和第二计算公式bi′=aij′+bi,0≤i≤m-1,0≤j≤n-1;其中,在所述第一计算公式中,yi为输入值D,aij为密钥E,aij′为输出值R;在所述第二计算公式中,aij′为输入值D,bi为密钥E,bi′为输出值R。进一步地,所述UOV签名的密钥恢复装置还包括随机变量控制模块;所述随机变量控制模块用于固定UOV签名生成过程中的随机变量;所述控制器还用于调用所述随机变量控制模块。进一步地,所述UOV签名算法包括中心映射计算公式为中心映射逆变换之后的结果,由O和V是两类变量组成;所述中心映射计算公式包括多个多变量方程:所述多个多变量方程分为第一层计算公式Vj′=αijVj、第二层计算公式V″j=Vj′+δi、第三层计算公式Vi′=βijVi、第四层计算公式Vi″=γiVi和第五层计算公式其中,在第一层计算公式中,Vj通过所述随机变量控制模块被固定为预设值,作为输入值D,αij为密钥E,Vj′为输出值R;在第二层计算公式中,Vj′为输入值D,δi为密钥E,V″j为输出值R;在第三层计算公式中,Vi通过所述随机变量控制模块被固定为预设值,作为输入值D,βij为密钥E,Vi′为输出值R;在第四层计算公式中,Vi通过所述随机变量控制模块被固定为预设值,作为输入值D,γi为密钥E,Vi″为输出值R;在第五层计算公式中,为输入值D,η为密钥E,为输出值R。进一步地,所述UOV签名算法包括第二仿射变换计算公式x为仿射变换之后的结果,C是n×n的矩阵,d是长度为n的向量;所述第二仿射变换计算公式包括第三计算公式和第四计算公式di′=cij′+di;其中,在所述第三计算公式中,为输入值D,cij为密钥E,cij′为输出值R;在所述第四计算公式中,cij′为输入值D,di为密钥E,di′为输出值R。相应地,本专利技术实施例还提供一种UOV签名的密钥恢复方法,包括:基于UOV签名算法生成N对消息签名对;其中,N为大于2000的正整数;采集每对消息签名对生成过程中产生的功耗曲线,获得N条功耗曲线;依次选取UOV签名生成过程中所有密钥参与的计算公式;依次选取GF(2k)中的元素作为每个所选取的计算公式中的密钥的猜测值;在每选取一个猜测值时,依次根据所述N对消息签名对中的消息获取所述计算公式的输入值并进行运算,获得N个输出值,并基于每个猜测值所对应的N个输入值和N个输出值,对所述N条功耗曲线进行分析,获得所述UOV签名算法中的密钥。实施本专利技术实施例,具有如下有益效果:本专利技术实施例提供的UOV签名的密钥恢复装置及方法,能够生成消息签名对和对应的功耗曲线,通过采用设置密钥猜测值的方式对UOV签名算法进行运算,并基于运算结果对功耗曲线进行分析,获取真实密钥,从而实现UOV签名算法中密钥的快速恢复,发现UOV签名的安全性问题,为保护UOV提供技术支持。附图说明图1是本专利技术提供的UOV签名的密钥恢复装置的一个实施例的结构示意图;图2是本专利技术提供的UOV签名的密钥恢复方法的一个实施例的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,本专利技术提供的UOV签名的密钥恢复装置的一个实施例的结构示意图,包括:消息和签名模块1,用于基于UOV签名算法生成N对消息签名对;其中,N为大于2000的正整数;功耗曲线模块2,用于采集每对消息签名对生成过程中产生的功耗曲线,获得N条功本文档来自技高网...

【技术保护点】
1.一种UOV签名的密钥恢复装置,其特征在于,包括:消息和签名模块,用于基于UOV签名算法生成N对消息签名对;其中,N为大于2000的正整数;功耗曲线模块,用于采集每对消息签名对生成过程中产生的功耗曲线,获得N条功耗曲线;密钥运算模块,用于依次选取UOV签名生成过程中所有密钥参与的计算公式;密钥猜测值模块,用于依次选取GF(2k)中的元素作为每个所选取的计算公式中的密钥的猜测值;以及,中央处理模块,用于调用所述消息和签名模块、所述功耗曲线模块、所述密钥运算模块和所述密钥猜测值模块,以及在每选取一个猜测值时,依次根据所述N对消息签名对中的消息获取所述计算公式的输入值并进行运算,获得N个输出值,并基于每个猜测值所对应的N个输入值和N个输出值,对所述N条功耗曲线进行分析,获得所述UOV签名算法中的密钥。

【技术特征摘要】
1.一种UOV签名的密钥恢复装置,其特征在于,包括:消息和签名模块,用于基于UOV签名算法生成N对消息签名对;其中,N为大于2000的正整数;功耗曲线模块,用于采集每对消息签名对生成过程中产生的功耗曲线,获得N条功耗曲线;密钥运算模块,用于依次选取UOV签名生成过程中所有密钥参与的计算公式;密钥猜测值模块,用于依次选取GF(2k)中的元素作为每个所选取的计算公式中的密钥的猜测值;以及,中央处理模块,用于调用所述消息和签名模块、所述功耗曲线模块、所述密钥运算模块和所述密钥猜测值模块,以及在每选取一个猜测值时,依次根据所述N对消息签名对中的消息获取所述计算公式的输入值并进行运算,获得N个输出值,并基于每个猜测值所对应的N个输入值和N个输出值,对所述N条功耗曲线进行分析,获得所述UOV签名算法中的密钥。2.如权利要求1所述的UOV签名的密钥恢复装置,其特征在于,所述密钥包括多个元素;依次选取GF(2k)中的元素作为所述密钥中的每个元素的猜测值;所述中央处理模块包括控制器和处理器;所述控制器用于调用所述消息和签名模块、所述功耗曲线模块、所述密钥运算模块和所述密钥猜测值模块;所述处理器用于对于所述密钥中的一个元素,在每选取一个猜测值进行运算后,计算每个输入值与其对应的输出值之间的汉明距离,获得每个猜测值所对应的N个汉明距离;其中,所述N个汉明距离和N条功耗曲线一一对应;所述控制器还用于根据所述汉明距离对所述N条功耗曲线进行分组,使汉明距离大于预设值的功耗曲线为第一组,使汉明距离小于预设值的功耗曲线为第二组;所述处理器还用于对两组功耗曲线进行差分运算,获得每个猜测值的曲线;所述控制器还用于将每个曲线的最大幅值作为所述曲线的极值,获得每个猜测值的曲线的极值,并将极值最大的曲线所对应的猜测值作为所述密钥中的所述元素,进而获取所述密钥中的所有元素,以获取所述计算公式中的密钥。3.如权利要求2所述的UOV签名的密钥恢复装置,其特征在于,所述差分运算的计算公式如下:其中,Δ为猜测值的曲线,ti为第i条功耗曲线,T0为第一组功耗曲线,T1为第二组功耗曲线,|T0|为第一组功耗曲线的数量,|T1|为第二组功耗曲线的数量,为第i个输入值D与第i个输出值R之间的汉明距离,k为一个正整数。4.如权利要求3所述的UOV签名的密钥恢复装置,其特征在于,所述UOV签名生成过程中所有密钥参与的计算公式为其中,D为输入值,E为密钥,R为输出值,为加法运算或乘法运算,D、E和R均由GF(2k)的元素组成。5.如权利要求4所述的UOV签名的密钥恢复装置,其特征在于,所述UOV签名算法包括第一仿射变换计算公式y为消息签名对中的消息,为y仿射变换之后的结果,A是m...

【专利技术属性】
技术研发人员:易海博
申请(专利权)人:深圳职业技术学院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1