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

文档序号:9931104阅读:706来源:国知局
一种数字签名方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数字签名领域,特别是涉及一种数字签名方法和装置。
【背景技术】
[0002] 随着公钥密码思想的提出,应运而生了一系列的数字签名技术方案。数字签名相 当于一种电子签章,可以用于加密数据,以提高数据的安全性。目前的数字签名方案的实现 主要基于数学难题,所述的数学难题例如可以是离散对数问题(英文:Discrete Logarithm Problem,缩写:DLP)或整数分解问题(英文:Integer Factorization Problem,缩写:IFP)。 若想破解一个数字签名,需要能够解决这个数字签名所基于的数学难题。
[0003] 传统的数字签名方案的实现基本上都仅基于一个数学难题,例如大部分利用圆锥 曲线密码体制的数字签名方案。也就是说,一个传统数字签名方案的安全性与其所基于的 数学难题的是否能够被解决相关。然而随着技术的发展,仅基于一个数学难题的数字签名 方案越来越容易被破解,导致数字签名的安全性难以保证。

【发明内容】

[0004] 为了解决上述技术问题,本发明提供了一种数字签名方法和装置,破解者必须同 时破解两个数学难题才可能破解所述数字签名,从而大大提高了数字签名的破解难度,保 证了数字签名的安全性。
[0005] 本发明实施例公开了如下技术方案:
[0006] -种数字签名方法,所述方法包括:
[0007] 选定圆锥曲线Cn(a,b),其中a和b*Cn(a,b)的函数中的参数, &,13三2",2"是〇1(&,13) 的模n的剩余类环;
[0008] WCn(a,b)上确定一个基点G,其中6=(紅^),6的阶仏为:
[0009] Nn=lcm{|CP(a,b)|,|Cq(a,b)|}=2r S,其中p和q为大素数,满足
且p+1 = 2r,q+l = 2s,r和s为素数,lcm为计算最小公倍数函数;
[0010] 根据Cn(a,b)和G确定出用于数字签名的私钥d和公钥Q,且不公开(1和1,其中 e:,Q=dG,为不包括原点的&vn ;
[0011] 将消息m通过算法嵌入cn(a,b)中,得到Cn(a,b)中的一个点P(m),其中P(m) = (xm,
[0012] 使用d对P(m)进行数字签名操作,得到m的数字签名(y,S,G〇),其中y为根据G和P (m)得到,Go和S为通过y得到。
[0013] 可选的,所述使用d对P(m)进行数字签名操作,具体包括:
[0014] 选择一个整数k,其中灸;
[0015]计算户(树)'? 奴^ = (xi,-vi) , y 三xi(modNn),以及 y G = (xn,yn),设(xn,yn)为G。,如果 T =0,则重新选择一个k;
[0016] 计算5三k+ y d(modNn),如果5 = 0,则重新选择一个k,其中,y和5均取Nn的最小非 负剩余。
[0017] 可选的,在确定出G、d、Q的过程中、将m嵌入Cn(a,b)以及进行数字签名操作的过程 中使用标准二进制的方式。
[0018] 可选的,所述将消息m通过算法嵌入Cn(a,b)中,包括:
[0019] 使用明文嵌入算法将m嵌入Cn(a,b)中。
[0020] 可选的,在获取(y,S,Go)时,对(y,S,Go)进行验证,具体包括:
[0021] 计算? (-;,0) ?/"(??) = (<,J〔') ' ?
[0022] 在X矣(0,0)时,进一步计算= (\,凡)当-(Xw,_yM)时确定(Y, *) -- 5,Go)合法。
[0023] 一种数字签名装置,所述装置包括:
[0024] 选定单元,用于选定圆锥曲线Cn(a,b),其中a和b为Cn(a,b)的函数中的参数,a,be Z n,Zn是Cn (a,b)的模n的剩余类环;
[0025] 第一确定单元,用于从Cn(a,b)上确定一个基点G,其中G= (xc,yc),G的阶Nn为:Nn = lcm{ |CP(a,b) |,|Cq(a,b) | }=2rs,其中p和q为大素数,满足
.,且p+1 = 2r,q+ 1 = 2s,r和s为素数,lcm为计算最小公倍数函数;
[0026] 第二确定单元,用于根据Cn(a,b)和G确定出用于数字签名的私钥d和公钥Q,且不 公开(1和~,其中忒€ ,Q = dG,:Z^^不包括原点的;
[0027] 嵌入单元,用于将消息m通过算法嵌入Cn(a,b)中,得到Cn(a,b)中的一个点P (m),其 中 P(m) = (xm,ym)
[0028] 签名单元,用于使用d对P(m)进行数字签名操作,得到m的数字签名(y,S,Go),其 中Y为根据G和P(m)得到,Go和S为通过y得到。
[0029]可选的,所述签名单元,具体包括:
[0030]选择子单元,用于选择一个整数k,其中灸e ;
[0031 ]第一计算子单元,计算.^(明)?^7 = (.vi,.ri), y 三xi(modNn),以及 y G = (xn,yn),设 (xn,yn)为Go,如果y = 0,则重新触发所述选择子单元选择一个k;
[0032] 第二计算子单元,用于计算5三k+ y d(modNn),如果5 = 0,则重新触发所述选择子 单元选择一个k,其中,y和5均取Nn的最小非负剩余。
[0033] 可选的,在确定出G、d、Q的过程中、将m嵌入Cn(a,b)以及进行数字签名操作的过程 中使用标准二进制的方式。
[0034] 可选的,所述嵌入单元具体用于使用明文嵌入算法将m嵌入Cn(a,b)中。
[0035] 可选的,还包括:
[0036] 验证单元,用于在获取(y,S,G〇)时,对(y,S,G〇)进行验证,具体包括
[0037] 计算;T= 十(―70十尸(m) = ;
[0038] 在X关(0,0)时,进一步计算凡),当时确定(y, 5,Go)合法。
[0039] 由上述技术方案可以看出,在通过选定圆锥曲线匕",)确定出公钥和私钥d的过 程中,不对外公开d和选定基点的阶化,从而当希望破解数字签名的情况时,由于化没有能公 开,破解者不能直接通过N n与r、s之间的关系,以及r、s与p、q之间的关系计算出Cn(a,b)中的 P和q,破解者必须同时破解两个数学难题才可能破解所述数字签名,从而大大提高了数字 签名的破解难度,保证了数字签名的安全性。
【附图说明】
[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0041 ]图1为本发明实施例提供的一种数字签名方法的方法流程图;
[0042] 图2为本发明实施例提供的一种数字签名的步骤示意图;
[0043] 图3为本发明实施例提供的一种数字签名装置的装置结构图。
【具体实施方式】
[0044]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明 一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] -个数学难题的被破解难度和基于这个数学难题构造的数字签名的安全性直接 相关。不过随着技术的发展,单个数学难题被破解的可能性越来越高,也就是说,基于单个 数学难题的数字签名方案已经难以保证其安全性。
[0046] 发明人通过对基于圆锥曲线密码体制的研究发现,通过环上圆锥曲线来构建密码 体制,可以具有实现基于双难题的数字签名方案的实现基础。例如可以同时基于数学难题 DLP和IFP的数字签名方案,同时解决两个数学难题的难度几何倍数于解决一个数学难题的 难度,可以很好的保证数字签名的安全性。
[0047]不过传统中可能或声称基于双难题的数值签名方案中,由于为了能够通过公钥正 常解密数字签名,需要公开的参数较多。发明人发现,通过公开参数中一部分参数,经过简 单的数学计算,便可以直接获得原本需要解决双难题中一个数学难题才能得到的数值。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1