CN101714919B - 基于rsa算法的前向安全数字签名算法 - Google Patents
基于rsa算法的前向安全数字签名算法 Download PDFInfo
- Publication number
- CN101714919B CN101714919B CN2009102160199A CN200910216019A CN101714919B CN 101714919 B CN101714919 B CN 101714919B CN 2009102160199 A CN2009102160199 A CN 2009102160199A CN 200910216019 A CN200910216019 A CN 200910216019A CN 101714919 B CN101714919 B CN 101714919B
- Authority
- CN
- China
- Prior art keywords
- key
- algorithm
- digital signature
- signature
- cert
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims abstract description 9
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 3
- 238000007429 general method Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 241000109329 Rosa xanthina Species 0.000 description 1
- 235000004789 Rosa xanthina Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于通信技术领域,涉及网络通信的安全问题,用于网络数字签名。本发明与一般的数字签名算法相比较,在具有高效的签名及验证效率的同时,还具有前向安全性;与其他具有前向安全性的数字签名算法相比,具有高效的密钥更新效率,还具有密钥短的特性,其公钥及私钥都不随密钥周期数T的增长而线性增长,从而减小了密钥保存的昂贵代价。并且本发明同时也隐含地给出了一种将普通数字签名算法转化为前向安全数字签名算法的一般方法。
Description
技术领域
本发明属于通信技术领域,涉及网络通信的安全问题,应用于网络数字签名。
背景技术
在现实中,对数字签名方案最大的威胁来自于(秘密或者说签名)密钥的泄露。只要使用知名的方案和足够大的安全参数,即使敌手能成功分析签名方案,其造成的威胁也远不如密钥泄露造成的威胁。然而一旦签名者的秘密密钥泄露,敌手可以利用泄露的密钥伪造任何时间的签名,整个方案的安全性将瓦解。虽然数字签名中可以附加时间戳,然而这个时间是秘密密钥的使用者声称的,其安全性是建立在秘密密钥的保密上的,持有了秘密密钥的敌手一样可以伪造时间戳。
通常考虑的解决密钥泄露的方法是通过数个服务器经由秘密的共享实现密钥分配,密钥分配有许多实例化的方案比如门限签名方案等。然而,使用密钥分配的方式开销相当大,当大企业或者证书权威组织能分配密钥时,只拥有一台机器的普通用户却没有这样的选择。其他针对密钥泄露的保护方法包括使用受保护的硬件或者smartcard等,但这些方法也往往是昂贵或不切实际的。此外,密钥分配方案不一定能提供想象中的安全性,比如,密钥分配易受共模故障的影响:因为所有机器使用相同的操作系统,如果找出一个系统的可能造成非法入侵的漏洞,所有的机器都会受影响。
一般的数字签名还有一个基本的限制:如果一位签名者的秘密密钥已经不安全(泄露)了,则该签名者(过去和未来的)的所有签名都不可信了,这样的限制破坏了数字签名所应该提供的不可否认性,对于某个恶意的签名者来说,最简单的否认其签名(其可能从中获益)的方法就是将自己的秘密密钥匿名地发送到互联网上的某处并宣称计算机受到了入侵。
针对这样的问题和限制,R.Anderson首先于1997年在ACM CCS会议上提出了前向安全数字签名方案的概念。随后M.Bellare和S.Miner与1999年在Crypto99会议上发表了“AForward-Secure Digital Signature Scheme”一文,文中提出了数字签名的前向安全性的正式定义,给出了可行的前向安全数字签名方案——Bellare-Miner方案,并给出了衡量具体的前向安全性的方法,可以说其奠定了前向安全数字签名研究的基础。
直观上来说,前向安全的特性是指:对于一个数字签名方案,当前秘密密钥的泄露不会造成敌手得到伪造属于过去的签名的能力。Rose Anderson在1997年ACM CCS会议首次提出前向安全数字签名的概念时粗略地将其表示为当前私钥的泄露不会影响到过去的大量数字签名的安全性,而Bellare和Miner在其发表的文章中给出了较正式的定义,即对于一个具有密钥更新(或者说演化)机制的数字签名方案,在其安全性分析模型中允许敌手进行选择消息攻击,并在其所选的时间段j泄露秘密密钥,敌手将试图对于消息m伪造出关于某个时间段i(i<j,对应秘密密钥泄露之前的时间)的签名,如果敌手的伪造是计算上不可行的,那么称方案具有前向安全性。
除了前面提到的前向安全数字签名算法外,Hugo Krawczyk在文章“Simple Forward-secure Signature From Any Signature Scheme”中给出了一种将普通数字签名算法转化为前向安全数字签名算法的一般方法,并基于RSA签名算法给出了前向安全数字签名算法,但是这个算法的验证算法要用到交互式零知识证明,效率很低,除了特定场合外,在实际应用上价值不高。本发明基于RSA签名算法给出一个前向安全数字签名算法,与其他前向安全数字签名算法比较,具有效率高,密钥长度短的优势,具有很高的实用价值。并且本发明其实也隐含地给出了一种将普通数字签名算法转化为前向安全数字签名算法的一般方法。
一个前向安全的数字签名方案应当首先是一个具有密钥更新机制的数字签名方案。这样的一个方案和标准方案类似,但方案的生命周期被分为若干时间段,每个时间段中使用不同的秘密密钥来对消息进行签名,秘密密钥由一个基于当前时间段的密钥计算下一时间段密钥的算法更新,这个算法使用单向函数以保证不能由当前的秘密密钥得出以前的秘密密钥,整个生命周期内公开密钥保持不变,即签名的验证算法也保持不变。
更进一步表述,一个前向安全的数字签名方案FSign一般来说包括下面四个算法。
(1)密钥生成算法FSign.gen(T,1k):一个概率性算法,由时间段数量T和安全参数k生成秘密密钥SK1和公开密钥PK。
(2)密钥更新算法FSign.upd(j,SKj):可能的概率性算法,在方案的生命周期内PK保持不变,而秘密密钥随时间段的改变而更新,令时间段j内使用的秘密密钥为SKj,则一旦时间段j结束进入时间段j+1,就启用密钥更新算法,通过一个单向函数f和SKj计算出新的秘密密钥SKj+1,然后删除SKj。由于使用了单向函数,由SKj+1求出SKj是不可行的。
(3)签名算法FSign.sig(j,SKj,m):可能的概率性算法,使用当前时间段j对应的秘密密钥SKj对消息m签名,生成形如(j,s)的签名。
(4)验证算法FSign.ver(PK,m,(j,s)):确定性算法,使用公开密钥PK,消息m来验证一个声称的时间段j内产生的签名(j,s)是否确实为时间段j内关于消息m的有效签名,对于任何真实有效的签名其都能正确验证。
前向安全数字签名的出现,以一种不需要分配密钥或使用受保护的存储设备的较简单的方式,从某种程度上保护了签名的安全性(“向前的”,而不是全面的安全性),降低了秘密密钥泄露造成的风险和损失。
发明内容
本发明给出了一个新的前向安全的数字签名算法。
本发明用到的函数及主要符号:
T表示密钥周期总数;
函数gcd()对输入的两个整数,输出它们的最大公约数;
函数H()为一个哈希函数,对任意一个0、1序列进行哈希函数运算,所得到的结果为一个不大于n的整数;
PK表示签名者的公钥,SKi表示第i个密钥周期的签名密钥;
运算mod表述模运算,运算‖表示字符串连接运算。
本发明的详细过程如下:
密钥生成算法FSign.gen(T,1k):
2.选择安全的哈希函数H:{0,1}*→{0,1}logn;
3.选择T+1个数e0,e1,…,eT,使得1<ei<f(n),且
5.计算 CERTi=(e0,n,i,ei,κi)(1=i=T)。
公钥PK=(e0,n,H),私钥SK1=(1,d1,n,H)。
密钥更新算法FSign.upd(j,SKj):
1.如果j=T,运行FSign.gen(T,1k)重新初始化系统,否则;
2.计算 SKj+1=(j+1,dj+1,n,H),安全删除SKj,安全保存SKj+1。
签名算法FSign.sig(j,SKj,m):
1.计算t=H(m);
2.计算
3.s=(s,CERTj),(j,s)是对消息m的签名。
验证算法FSign.ver(PK,m,(j,s)):
令s=(s,CERTj),CERTj=(e0,n,i,ei,κi)
1.验证CERTj中的e0是否和签名者的公钥一致;
2.验证CERTj中的i是否等于j;
3.验证
4.验证
5.如果以上验证都通过,则签名是有效的,否则签名无效。
本发明得到的前向安全的数字签名算法不但具有一般数字签名算法所具有的所有特性与安全性,而且还具有前向安全性。因为签名密钥di是独立选取的,攻击者即使的到密钥di,也不可能得到关于密钥dj(j<i)的任何信息,如果攻击者在不知道密钥di的情况下能够伪造一个第i密钥周期的合法签名,那么他就能够攻破RSA困难问题,这与RSA困难问题是难解的假设矛盾,因此本发明具有前向安全性。
与其他具有前向安全性的数字签名算法相比较,本算法的签名算法,验证算法以及密钥更新算法都具有很高的效率。其中:签名算法系需要一次哈希运算及一次模指数运算;验证算法只需要两次模指数运算,两次哈希运算及四次比较运算;密钥更新算法只需要一次模指数运算。除了效率高外,本算法还具有密钥短的特点,大大减小了密钥保存所需要的空间。
附图说明
附图是本发明的前向安全数字签名算法。
具体实施方式
本发明的发明内容部分对本发明的技术方案已经做出了详细说明,在此不再重复描述。
Claims (1)
1.基于RSA算法的前向安全数字签名方法,该方法用于网络数字签名,其中:T表示密钥周期总数;函数对任意输入正整数n,输出不大于n且与n互素的正整数的个数;函数gcd()对输入的两个整数,输出它们的最大公约数;函数H或者H()为一个哈希函数,对任意一个0、1序列进行哈希函数运算,所得到的结果为一个不大于n的整数;PK表示签名者的公钥,SKi表示第i个密钥周期的签名密钥;运算mod表示模运算,运算‖表示字符串连接运算,其特征是,包括以下四个多项式时间算法:
密钥生成算法Fsign.gen(T,1k):
2)选择安全的哈希函数H:{0,1}*→{0,1}log n;
5)计算CERTi=(e0,n,i,ei,κi)(1≤i≤T);
公钥PK=(e0,n,H),私钥SK1=(1,d1,n,H);
密钥更新算法Fsign.upd(j,SKj):
1)如果j=T,运行Fsign.gen(T,1k)重新初始化系统,否则;
签名算法Fsign.sig(j,SKj,m):
1)计算t=H(m);
2)计算
3)σ=(s,CERTj),(j,σ)是对消息m的签名;
验证算法Fsign.ver(PK,m,(j,σ)):
令σ=(s,CERTj),CERTj=(e0,n,i,ei,κi)
1)验证CERTj中的e0是否和签名者的公钥一致;
2)验证CERTj中的i是否等于j;
3)验证
4)验证
5)如果以上验证都通过,则签名是有效的,否则签名无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102160199A CN101714919B (zh) | 2009-10-29 | 2009-10-29 | 基于rsa算法的前向安全数字签名算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102160199A CN101714919B (zh) | 2009-10-29 | 2009-10-29 | 基于rsa算法的前向安全数字签名算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714919A CN101714919A (zh) | 2010-05-26 |
CN101714919B true CN101714919B (zh) | 2012-05-30 |
Family
ID=42418212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102160199A Expired - Fee Related CN101714919B (zh) | 2009-10-29 | 2009-10-29 | 基于rsa算法的前向安全数字签名算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714919B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651747B (zh) * | 2012-05-24 | 2015-08-19 | 电子科技大学 | 基于不可信更新环境的前向安全数字签名方法 |
EP2947813B1 (en) * | 2013-01-16 | 2020-06-24 | Nippon Telegraph and Telephone Corporation | Decryption service providing device, processing device, safety evaluation device, program, and recording medium |
CN104168115B (zh) * | 2014-08-19 | 2017-07-11 | 同济大学 | 前向安全的不可拆分数字签名方法 |
CN104410609A (zh) * | 2014-11-07 | 2015-03-11 | 上海九逸科技有限公司 | 电子商务应用中基于rsa问题前向安全的数字签名方法 |
CN107241196A (zh) * | 2017-06-30 | 2017-10-10 | 杰创智能科技股份有限公司 | 基于区块链技术的数字签名方法及系统 |
CN107547199B (zh) * | 2017-09-07 | 2019-12-20 | 华南师范大学 | 网上竞标系统完善前向安全可否认密钥交换协议实现方法 |
CN110837659B (zh) * | 2019-09-26 | 2021-10-15 | 中国科学院软件研究所 | 带标签的私钥可更新数字签名方法及其在PoS区块链协议中的应用 |
-
2009
- 2009-10-29 CN CN2009102160199A patent/CN101714919B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101714919A (zh) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714919B (zh) | 基于rsa算法的前向安全数字签名算法 | |
Zhou et al. | Research and implementation of RSA algorithm for encryption and decryption | |
Dang | Recommendation for applications using approved hash algorithms | |
CN101931529B (zh) | 一种数据加密方法、数据解密方法及节点 | |
CN101296075B (zh) | 一种基于椭圆曲线的身份认证系统 | |
Nagaraj et al. | Data encryption and authetication using public key approach | |
CN110545169B (zh) | 基于非对称密钥池和隐式证书的区块链方法和系统 | |
CN102883321A (zh) | 一种面向移动微技的数字签名认证方法 | |
CN107465508B (zh) | 一种软硬件结合构造真随机数的方法、系统和设备 | |
KR100396740B1 (ko) | 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법 | |
CN103001957B (zh) | 一种密钥生成方法、设备及服务器 | |
CN102291396A (zh) | 可信平台远程证明的匿名认证算法 | |
CN101964039B (zh) | 一种版权对象的加密保护方法和系统 | |
CN102651747B (zh) | 基于不可信更新环境的前向安全数字签名方法 | |
TSENG et al. | Short Paper_ | |
JP4563037B2 (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
Yang et al. | Efficient certificateless encryption withstanding attacks from malicious KGC without using random oracles | |
CN110401533B (zh) | 一种私钥加密方法及装置 | |
KR101327980B1 (ko) | 아이디 기반 덧셈 준동형 암호화 방법 | |
KR100953716B1 (ko) | Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체 | |
KR101112570B1 (ko) | 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 | |
KR20090080842A (ko) | Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체 | |
JP4856933B2 (ja) | 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法 | |
CN104158663A (zh) | 一种基于双曲线群算术的公钥密码体制及签名方法 | |
CN112528312B (zh) | 一种基于Cocks身份密码体制的签密方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20141029 |
|
EXPY | Termination of patent right or utility model |