一种数字签名方法和装置的制造方法_4

文档序号:9931104阅读:来源:国知局
于选择一个整数k,其中左;
[0166] 第一计算子单元,计算')(川)?々G = Lyp-vi) , y 三xi(modNn),以及 y G = (xn,yn),设 (xn,yn)为Go,如果y = 0,则重新触发所述选择子单元选择一个k;
[0167] 第二计算子单元,用于计算5三k+ y d(modNn),如果5 = 0,则重新触发所述选择子 单元选择一个k,其中,y和5均取Nn的最小非负剩余。
[0168] 可选的,在确定出G、d、Q的过程中、将m嵌入Cn(a,b)以及进行数字签名操作的过程 中使用标准二进制的方式。
[0169] 可选的,所述嵌入单元具体用于使用明文嵌入算法将m嵌入Cn(a,b)中。
[0170] 可选的,还包括:
[0171]验证单元,用于在获取(Y,S,Go)时,对(丫,S,Go)进行验证,具体包括
[0172] 计算Z 十(-T0)十尸(州)=(<,_>〇 ;
[0173] 在X矣(0,0)时,进一步计算= ,少,当= 时确定(Y, 5,Go)合法。
[0174] 可见,在通过选定圆锥曲线匕。,)确定出公钥和私钥d的过程中,不对外公开d和 选定基点的阶N n,从而当希望破解数字签名的情况时,由于Nn没有能公开,破解者不能直接 通过Nn与r、s之间的关系,以及r、s与p、q之间的关系计算出C n(a,b)中的p和q,破解者必须同 时破解两个数学难题才可能破解所述数字签名,从而大大提高了数字签名的破解难度,保 证了数字签名的安全性。
[0175] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在 执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一 种:只读存储器(英文:read-〇nly memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储 程序代码的介质。
[0176]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之 间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。 尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单, 相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性 的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。 本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0177]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
【主权项】
1. 一种数字签名方法,其特征在于,所述方法包括: 选定圆锥曲线Cn(a,b),其中a和b为Cn(a,b)的函数中的参数,a,bezn,z n是Cn(a,b)的模 η的剩余类环; 从Cn(a,b)上确定一个基点G,其中G= (XG,yc),G的阶Νη为: r \ r \ 1=1〇11{|〇)(&,13)|,|(:(1(&,13)|}=2『8,其中口和9为大素数,满足^~ = 2=:-1,且口+1 \P) \cl) =21',卩+1 = 28,1'和8为素数,1〇11为计算最小公倍数函数; 根据Cn(a,b)和G确定出用于数字签名的私钥d和公钥Q,且不公开(1和1,其中为不包括原点的; 将消息m通过算法嵌入Cn(a,b)中,得到Cn(a,b)中的一个点P(m),其中P(m) = (xm,ym),使用d对P(m)进行数字签名操作,得到m的数字签名(γ,δ,6〇),其中γ为根据G和P(m)得 至lJ,Go和δ为通过γ得到。2. 根据权利要求1所述的方法,其特征在于,所述使用d对P(m)进行数字签名操作,具体 包括: 选择一个整数k,其中免; 计算厂('》)?女(r = (Λ'Ι,.)'Ι),γ sxKmodNn),以及 γ G = (xn,yn),设(xn,yn)为G。,如果 γ = 0,则重新选择一个k; 计算δΞ?^+ γ d(modNn),如果δ = 〇,则重新选择一个k,其中,γ和δ均取Nn的最小非负剩 余。3. 根据权利要求1所述的方法,其特征在于, 在确定出G、d、Q的过程中、将m嵌入Cn(a,b)以及进行数字签名操作的过程中使用标准二 进制的方式。4. 根据权利要求1所述的方法,其特征在于,所述将消息m通过算法嵌入Cn(a,b)中,包 括: 使用明文嵌入算法将m嵌入Cn(a,b)中。5. 根据权利要求1至4任一项所述的方法,其特征在于,在获取(γ,δ,6〇)时,对(γ,δ, Go)进行验证,具体包括: 计I在X矣(〇,〇)时,进一步计〗f确定(y,s,G〇) 合法。6. -种数字签名装置,其特征在于,所述装置包括: 选定单元,用于选定圆锥曲线Cn(a,b),其中a和b为Cn(a,b)的函数中的参数,a,beZ n,Zn 是Cn (a,b)的模η的剩余类环; 第一确定单元,用于从Cn(a,b)上确定一个基点G,其中G= (xc,yc),G的阶Nn为:Nn=lcm / \ f Λ, {|〇)(&,13)|,|(:(1(&,13)|}=2『8,其中口和9为大素数,满足^-.=三=-1,且口+1 = 21',9+1 = If; IfJ 2s,r和s为素数,lcm为计算最小公倍数函数; 第二确定单元,用于根据Cn(a,b)和G确定出用于数字签名的私钥d和公钥Q,且不公开d 和~,其中i/ G Z^;= 为不包括原点的2& ; 嵌入单元,用于将消息m通过算法嵌入Cn(a,b)中,得到Cn(a,b)中的一个点P(m),其中P (rn) = (xm,ym),x" =mod/;)? ym = (mod?); ' a - η!' a - nr 签名单元,用于使用d对P(m)进行数字签名操作,得到m的数字签名(γ j,G〇),其中γ为 根据G和P(m)得到,Go和δ为通过γ得到。7. 根据权利要求6所述的装置,其特征在于,所述签名单元,具体包括: 选择子单元,用于选择一个整数k,其中免; λ η 第一计算子单元,计算 .= (Wi), y 5xi(modNn),以及 γ G= (xn,yn),设(χη, yn)为Go,如果γ =0,则重新触发所述选择子单元选择一个k; 第二计算子单元,用于计算δ ξ k+ γ d(modNn),如果δ = 〇,则重新触发所述选择子单元选 择一个k,其中,γ和δ均取Νη的最小非负剩余。8. 根据权利要求6所述的装置,其特征在于,在确定出G、d、Q的过程中、将m嵌入Cn(a,b) 以及进行数字签名操作的过程中使用标准二进制的方式。9. 根据权利要求6所述的装置,其特征在于,所述嵌入单元具体用于使用明文嵌入算法 将m嵌入Cn(a,b)中。10. 根据权利要求6至9任一项所述的装置,其特征在于,还包括: 验证单元,用于在获取(γ j,G〇)时,对(γ,δ,6〇)进行验证,具体包括 计箕X =狄? ? (―沒)?汽衍)=) · 在X# (〇,〇)时,进一步计算Xl G = (Xb,凡),当(x",凡)=,凡)时确 定(γ,5,g〇)合法。
【专利摘要】本发明实施例公开了一种数字签名方法和装置,提出了一个基于环Zn上圆锥曲线的数字签名方案,给出了签名方案的数值模拟。在通过选定圆锥曲线Cn(a,b)确定出公钥和私钥d的过程中,不对外公开d和选定基点的阶Nn,从而当希望破解数字签名的情况时,由于Nn没有能公开,破解者不能直接通过Nn与r、s之间的关系,以及r、s与p、q之间的关系计算出Cn(a,b)中的p和q,破解者必须同时破解两个数学难题才可能破解所述数字签名,可见本发明实施方案是一个真正同时基于离散对数问题和整数分解问题的数字签名方案,具有非常强的抗破解能力,从而大大提高了数字签名的破解难度,保证了数字签名的安全性。
【IPC分类】H04L9/32
【公开号】CN105721167
【申请号】CN201610302670
【发明人】林松, 刘国建
【申请人】中国农业银行股份有限公司
【公开日】2016年6月29日
【申请日】2016年5月9日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1