一个基于强RSA数字签名方案的改进

合集下载

几种数字签名方案简介

几种数字签名方案简介

几种数字签名方案简介1、RSA数字签名方案RSA是最早公钥密码算法之一,由Ron Rivest、Adi Shamir和Leonard Adleman于1978年发明。

RSA数字签名方案基于大数分解难题,其安全性与RSA问题紧密相关。

在RSA数字签名方案中,发送方使用私钥对消息进行签名,接收方使用公钥验证签名。

2、DSA数字签名方案DSA数字签名算法由美国国家标准与技术研究院(NIST)提出,并被采纳为联邦数据处理标准(FIPS)。

DSA数字签名方案基于离散对数难题,其安全性主要依赖于有限域上的离散对数问题。

DSA算法相较于RSA 算法,具有签名长度短、速度快以及抗量子攻击等优点。

3、ECDSA数字签名方案ECDSA是椭圆曲线数字签名算法,其基于椭圆曲线密码学,是在有限域上的椭圆曲线离散对数问题的基础上构建的。

ECDSA数字签名方案相较于RSA和DSA算法,具有更高的安全性和更低的计算开销。

因为椭圆曲线密码学具有较高的安全性和较低的计算复杂性,所以ECDSA 被广泛应用于比特币等加密货币中。

4、EdDSA数字签名方案EdDSA数字签名算法是对标DSA的抗量子攻击算法,由欧洲电信标准化协会(ETSI)提出。

EdDSA使用的是Schnorr签名算法的一种变体,具有较高的安全性和抗量子攻击能力。

此外,EdDSA算法还具有速度快、签名长度短等优点。

以上几种数字签名方案都是目前广泛应用的算法,每种方案都有其特定的应用场景和优缺点。

在实际应用中,我们需要根据具体需求选择合适的数字签名算法以保证信息的安全性和完整性。

随着互联网的快速发展,数字签名方案在信息安全领域变得越来越重要。

数字签名方案用于验证信息的完整性、真实性和不可抵赖性,广泛应用于电子政务、电子商务和网络安全等领域。

无证书数字签名方案作为一种新兴的数字签名技术,因无需证书颁发机构颁发证书,具有降低成本、提高效率等优点,逐渐受到广泛。

本文将对几种无证书数字签名方案进行介绍,并对其安全性进行分析及改进。

对一个基于RSA门限代理签名方案的分析与改进

对一个基于RSA门限代理签名方案的分析与改进

An l ss a d I p o e n n a Th e h l o y S g a u e a y i n m r v me t o r s o d Pr x i n t r
S h me Ba e n t e RS c e s d o h A y t s s e Cr p o y t m
Q h a d l L me0 i h n u iC u n aI iYa i Jn C e h i
( iy n om lU i ri , iy n 6 0 0 X n a g N r a nv s y X n a g 4 4 0 ) e t
( L nom t n E gn eig U i ri ,h n zo 5 0 4 P A Ifr ai n ie r nv s y Z e gh u 4 0 0 ) o n e t
Ab t a t T i a e An lz s h ma e v r bl y f sr c : h s p p r ay e t e n u ea i t o HL s h me, n r v s h a HL s h me xs d s g r me t i L ce a d p o e t t L c e e it if u e n i b d y t e r x sg e s a n t rn sg au e . s i r v d in t r ag r h , e c e i r v d i n tr  ̄ l 。 p o y in r c n o b g in r s h i t Alo mp e s au e lo t m t s h me mp e s au e o g i h o g
名 ( 群 签 名 ) 由 n个 成 员 的组 成 的签 名 组 中 任 何 £1 ≤n 或 ; ( ≤t ) 个 或 £ 以上 成 员都 可 代 表 签名 组 进 行 有 效 签名 称 为 (。 ) 个 t 门限 n 多 重 签 名 ; 名 者 委 托 别 人 代 替 自己 签 名 称 为 代理 签 名 ; 名 签 签

基于RSA和DLP数字签名方案的分析和改进

基于RSA和DLP数字签名方案的分析和改进
在着安全漏洞 ,于是 L 的方案改进 了 Y n 的 i ag 方案 ,减少了密钥 的数量 ,并 降低 了计算 复杂度 ,
方案的核心 主要 是依赖于公认 的困难 问题 的难解 性 ,所 以一旦 困难 问题被解决 ,则依赖于这个困难 问题的密码系统也随之攻破。考虑到以后计算机计 算能力的加强和更好的破解方案的提出,所 以基于 两 个或 两 个 以上 困难 问题 的密码 系统 的提 出 已成 为 研 究 者 的重 点 。基 于多个 困难 问题 的的密码 系 统被
1 前言
效率低下 的问题 ,后来 wu 的方案中步骤繁多并
随着公钥密码思想的建立和提 出,经过长期 的 研究和发展 ,人们利用公钥密码思想建立了各种不
同 的系统 ,随之 发展 的是 各类 的签 名方 案 ,而签 名
且存在系统漏洞 ,攻击者可以伪造签名信息进行攻 击 ,Y n 【 的方 案 中修 复 了 Wu5中存 在 的漏 洞 , ag6 ] 【 但是 由于通信量太大 ,没有实际运用的价值并且存
2 D a ot gn,J j n ipo f hns Am dP le oc,Juag300 . enC ni et ii gFr ro C iee re oc r n ua e fo i F e iin 3 0,C ia j 4 hn )
Ab ta t An lz stesc r yo esg au esh mep o oe yF g n L , Fn ssc rt o h ls yatc sr c : ay e eui f in tr c e rp s db a e i h t h t idi eu y l p oe t — t i o b a kn , A d fri e u t o p oe , an w dgtlsg aue sh mei gv n I eu t sb s do edf c l ig n o t sc r ylo h ls e ii i tr c e s ie . t sc r i ae n t i iut s i a n s i y h y o S n P, a d te e ard telo h lsi h ia d i rv h eu t. Ac s o rkn so t c fR A a d DL n h n rp ie h o p oe n teL n mpo e tesc r i y o r sfu id fat k a wa st ay i te s h me sft , P o e h tte stain C o e sle i l n o sy i e RS a d y o a ls c e ae n sh y rv d ta h i t a n tb ov d smut e u l n t A n u o n a h

5基于RSA算法的数字签名的实现

5基于RSA算法的数字签名的实现

5 基于RSA算法的数字签名的实现5.1开发环境介绍以其强大的性能,世界级的工具支持,操作简易性,扩展性,安全性等等优点,迅速的风靡全球,随着使用者的越来越多,数字签名的问题就越来越受关注。

C# 是.NET的关键性语言,它整个.NET平台是的基础。

5.1.1 C#语言概述在过去的20年里,C和C++已经成为在商业软件的开发领域中使用最广泛的语言。

他们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。

与诸如Microsoft V isual Basic等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。

由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的平衡点。

对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。

他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。

另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。

C#是微软对这一问题的解决方案。

C#是一种最新的,面向对象的编程语言,他使得程序员可以快速地编写各种基于平台的应用程序。

提供了一系列的工具和服务来最大程度地开发利用计算与通信领域。

正是由于C#面向对象的卓越设计,使他成为构建各类组件的理想之选,无论是高级的商业对象还是系统级的应用程序,使用简单的C#语言结构,这些组件可以方便地转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。

最重要的是,C#使得C++程序员可以高效地开发程序,而绝不损失C/C++原有的强大功能。

因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快地转向C#。

5.1.2C#语言的特点C#语言自C/C++演变而来,它是给那些愿意牺牲C++一点底层功能,以获得更方便和更产品化的企业开发人员而创造的。

C#主要特点:简洁、与Web紧密结合、完全面向对象、强壮安全、灵活性和兼容性。

一种有效的RSA算法改进方案

一种有效的RSA算法改进方案
r s l s o h t te d c y t n s e d a d s c rt e e f RS a e b e u sa t l i r v d T e v ra t c n b e u t h w t a h e r p i p e n e u y lv l o A h v e n s b tn i l mp o e . h a n a e s o i ay i e ce t mp e n e n p r ll n h a al l mp e n ain o e v r n n mu i o e d v c s c n f r e mp o e t e i f in l i lme td i aa e d t e p r l l me tt ft ai t h — r e ie a u t ri r v y l a ei o h a o c h h

要 :S R A算 法的解 密性能 与大数模 幂运 算的实现效率有 着直接 的关 系。提 出一种 R A算 法的 改进 方案 , S 通
过 将 R A 解 密 时 的 一 些 运 算 量 转 移 到 加 密方 , 且 运 用 多素 数 原 理 使 得 解 密 时 大 数 模 幂 运 算 的 模 位 数 和 指 数 位 数 减 S 并 小 。 实验 结 果 表 明 该 方 案 不 仅 提 高 了 R A 密码 系统 的安 全 性 , 且 提 升 了 R A 密 码 系统 解 密 的 性 能 , 该 方 案 易 于 S 而 S 且 并 行 实现 , 可使 得 基 于 多核 平 台的 R A 系统 的 性 能 得 到 进 一 步 提 升 。 S
第3 O卷 第 9期
21 0 0年 9月
计 算机 应 用
J u n lo mp trAp l a in o r a f Co u e p i t s c o

基于RSA的群签名方案的缺陷及改进方案

基于RSA的群签名方案的缺陷及改进方案
维普资讯
第 2 卷 第 7 9 期
VO . 9 12
N பைடு நூலகம். 7
计 算 机 工程 与设 计
Co u e gn e n n sg mp trEn ie r ga dDe in i
20 年 4 08 月
Ap .2 08 r 0
基于 R A的群签名方案的缺陷及改进方案 S
关 键 词 : 签 名 ; 前 向 安 全 ; 共 模 攻 击 ;公 钥 状 态 列 表 ; 动 态群 签 名 群
中图法分 类号 : P 0 T 39
文献 标识 码 : A
文章编 号 :0072 (0 8 0 —650 10 —0 4 2 0) 715 —3
F a a di r v d s h meo r u i n t r c e a e nRS lw n mp o e c e fg o p sg au es h meb s d o A
fr adscryadd n m cme e iigo een o civdy t eesh me. A scr a f ru intr ow ui n y a i mb ron r l igi n t hee e t s c e s eui f w o go ps aue r e t j n d t s a n i h y tl a g
s h m e a e nRS sg au es h m ei d s r e . An r v d s h mei r p s d T ei r v d s h ei s c r , f r a d c e s do A i t r c e e c b d b n s i da i n mp o e c e p o o e . h s mp o e e e u e o w r cm s n y mi . a d d a c n

基于RSA算法的数字签名技术在电子商务安全中的应用

基于RSA算法的数字签名技术在电子商务安全中的应用
络安全模式借鉴 。
参 考 文献
ห้องสมุดไป่ตู้
323 嵌入式 系统本 身的安全综合考虑 ..
() 1物理层。嵌入式 系统物理层 的安全问题主要是根 据系统的工作 环境 , 在设计 目标 和设 计要求 时选 择符合 相关 标准 的器件 , 进行 规范化 设计 和施工 , 并在现场 设备和嵌入 式系统 间引入 安全栅 , 并将嵌入 式 系
网的趋势防火墙 的 1 o B多模 光纤接 口,通过 N w2 o oM O V 5 0防火墙 的
l,o ,O o r 0l0lo Ur P接 口连接 4 0 R交换 机 ,实现 与地面环 网 4 0 R交换 57 57
机 的 网络 互 连
困扰煤矿工业 网络安 全生产的难题 , 为提高煤 矿企业稳定高产提供 了网
备的 10 0MB单 模 接 口 , 接 井 下 综 合 自动 化 控 制 网 的 MA H 0 5交 0 连 RC 3 0
换机; 使用 VGA 3 0 1 P 0 B的 1 0 0MB多模 光纤接 口, 0 连接地 面信 息管理
网与井上光纤环 网相连 , 从而构建 了井 下井上双环 网络 , 通过 对此 网络 内外 两方 面的网络安全隐患 的分析 , 用安全栅 、 采 防爆 箱 、 安全 网闸 、 防 火墙、 入侵检测 系统等构建 了嵌入式 以太网 系统 网络安 全体 系 , 解决 了
商务安 全解决方案 , 以实现 电子 商务 系统 中信息传递 的保 密性 、 可 完整性 、 认证性和 不 可否认性等要 求 , 有效 防止 了各种 电子 商务 中的安全 隐患。
关键词 : 电子 商 务 ; 字 签 名 ; S 数 RA 中 图分 类号 : 733 I 1.6 , ' 文 献标 识 码 : A

ISRSAC_上基于身份的代理环签名方案设计

ISRSAC_上基于身份的代理环签名方案设计

第31卷第3期北京电子科技学院学报2023年9月Vol.31No.3JournalofBeijingElectronicScienceandTechnologyInstituteSep.2023ISRSAC上基于身份的代理环签名方案设计袁煜淇㊀刘㊀宁㊀张艳硕北京电子科技学院,密码科学与技术系,北京市㊀100070摘㊀要:数字签名作为核心密码技术之一,对数据安全保护起着重要作用㊂代理环签名是一种兼具环签名和代理签名两者功能的特殊类型的数字签名,适用于对用户身份信息有较高保护需求的领域㊂RSA作为数字签名的基础算法之一,其安全性随着量子计算的快速发展而遭受威胁㊂2018年,M.Thangaval等人在RSA的基础上提出ISRSAC算法,该算法通过增加因式分解复杂性并引入随机数实现对传统RSA安全性的改进㊂在赵等人基于身份及RSA的代理环签名的基础上做出了改进,结合更安全的ISRSAC算法设计并提出了一个基于身份的代理环签名方案,并对方案的正确性及安全性展开分析,同时与其他方案进行对比说明,结果表明该方案具有强不可伪造性㊁匿名性等,能够有效保护授权信息,在匿名电子投票等领域具有很好的现实意义和应用价值㊂关键词:ISRSAC;身份基签名;代理环签名;安全性中图分类号:TP309㊀㊀㊀文献标识码:㊀㊀A文章编号:1672-464X(2023)3-62-77∗㊀基金项目:中央高校基本科研业务费专项资金资助(328202226)㊁ 信息安全 国家级一流本科专业建设点和国家重点研发计划基金资助项目(项目编号:2017YFB0801803)∗∗㊀作者简介:袁煜淇(2000-),女,研究生在读,网络空间安全专业㊂E⁃mail:1210346807@qq.com刘宁(1999-),女,研究生在读,网络空间安全专业㊂E⁃mail:1724916925@qq.com张艳硕(1979-),男,通信作者,副教授,博士,硕士生导师,从事密码数学理论研究㊂E⁃mail:zhang_yanshuo@163.com1㊀引言1 1㊀研究背景及意义数字签名技术在数据安全和隐私保护中发挥着尤为重要的作用,大部分签名算法是基于公钥密码体制的,其中经典算法RSA是1977年由Rivest等[1]提出的,其安全性依赖于大整数分解困难问题㊂但随着量子计算机的出现,其安全性遭受威胁㊂不断有学者提出以RSA为基础的变种算法,以改进其安全性㊂2015年,Arora等[24]通过添加额外的第三素数到公私钥的构成中以增加参数n因子分解的复杂性,并提出了一种加快整个网络的数据交换过程中RSA算法实现的改进形式,但容易受到选择密文攻击㊂2016年,Mustafi等[25]提出利用双变量双射函数的优化方案㊂2018年,Thangavel等[2]提出了 用于云数据机密性的改进RSA安全密码系统(ISR⁃SAC) ,同时证明ISRSAC算法的安全性高于RSA㊂同时,随着技术发展衍生出大量新型应用场景,传统数字签名技术所实现的功能无法满足实际应用需求,故学者们不断提出特殊类型的数字签名以适应使用场景,代理环签名正是其中之一㊂1996年,Mambo等[3]提出代理签名的概念第31卷ISRSAC上基于身份的代理环签名方案设计㊀以满足签名权可授权委托的使用需求㊂2001年,Rivest等[4]提出环签名的概念,主要思想是可实现以匿名方式发布可靠信息㊂2003年,Zhang等[5]提出代理环签名的概念,结合代理签名和环签名的功能,满足了原始签名人签名权的委托代理及身份匿名的隐私保护需求,能够有效解决代理签名者的隐私保护问题㊂在上述基于RSA的改进算法及具备特殊功能的签名方案的研究背景下,讨论研究基于新型算法构造的具有特殊性质的签名方案,对密码技术应用于诸如电子现金㊁电子投票㊁匿名通信等对用户身份隐私保护具有较高要求的领域有重要的理论意义和实用价值㊂1 2㊀国内外研究现状ISRSAC算法是在公钥密码体制下以传统RSA算法为基础的改进安全性的新型算法,而数字签名的安全性极大程度依赖于其核心算法的安全性,故基于ISRSAC构造的数字签名相比于基于传统RSA算法的签名方案而言,具有更高的安全性㊂2015年,Thangavel等[6]提出了ESRKGS算法,该算法将RSA中的大整数分解由两个素数改进为四个素数,增加了破解难度㊂2018年,Thangavel等[7]再次提出了ISRSAC算法以改进了Lvy等人指出的缺陷,进一步增强方案的安全性㊂2021年,Yang等[8]构造了基于ISRSAC的数字签名方案,在此基础上分别设计了代理签名方案㊁广播多重签名方案和有序多重签名方案㊂2022年,刘等[9]在Yang等人的基础上,设计了基于ISRSAC的按序代理多重签名以及广播代理多重签名方案㊂同年,张等[10]基于ISRSAC算法构造了一个环签名方案,并证明了一系列安全性质㊂目前,不断有学者以ISRSAC为基础构造出适用于不同场景的数字签名方案,将该算法的安全性优势与数字签名技术结合,并研究讨论其在各领域上的应用㊂代理环签名的概念是Zhang等[5]人在2003年提出的,将代理签名和环签名两者的功能特性结合,在实现签名权委托代理的同时有效保护了代理签名人的匿名性㊂2004年,Cheng等[11]首次提出基于身份的代理环签名,简化了公钥证书管理㊂2008年,Schuldt等[12]人提出了一个基于身份的代理环签名方案㊂2009年,陈等[13]人提出了基于RSA的代理环签名方案㊂2014年,Asaar[14]给出了基于身份的代理环签名定义及其安全模型,证明了基于RSA假设的随机预言机模型下身份基代理环签名方案是安全的㊂2015年,张等[15]基于双线性对运算和离散对数的困难性问题,提出了基于身份的代理签名㊂2018年,赵等[16]提出了基于身份及RSA的简短代理环签名方法,缩短密钥及签名长度以提高计算效率㊂2019年,Liu等[17]提出了一种高效的车载代理环签名方案㊂2022年,袁等[18]通过对SM2算法进行改进,提出了一种高效的门限环签名方案㊂1 3㊀主要工作及组织结构本文在文献[16]的基础上做出研究,设计并提出了一个ISRSAC上基于身份的代理环签名方案㊂在随机预言模型下,基于ISRSAC的方法被证明是安全的㊂对于本文在ISRSAC算法基础上提出的基于身份的代理环签名方案设计,首先在方案构造上是基于公钥密码体制,相比于以往基于双线性对来构造身份基代理环签名的方法做出了创新;同时,方案的安全性与构成代理环的成员数量无关,实现了强不可伪造性;此外,引入安全性高于RSA的ISRSAC算法,比现有的基于身份的代理环签名安全性更高㊂最后,对方案计算代价进行研究分析,并结合其他方案做出对比说明,进一步突出方案的计算实现的效率㊂本文主要内容安排如下:第1节,主要介绍论文研究的背景意义,概述公钥密码体制下的数字签名技术发展现状,并对ISRSAC算法和代理环签名国内外研究现状进行阐述㊂第2节,围绕设计ISRSAC及基于身份的代理环签名方案过㊃36㊃北京电子科技学院学报2023年程中涉及到的密码学知识进行介绍说明㊂第3节,本节介绍了方案设计的相关知识和方案设计的具体内容㊂第4节,对方案的正确性及安全性进行进一步分析及对比说明㊂第5节,对本文主要工作和成果进行总结概述㊂2㊀基础知识㊀㊀本节将引入相关指标说明ISRSAC算法的安全性高于RSA㊂再依次介绍基于ISRSAC的一般数字签名㊁环签名以及代理环签名方案㊂2 1㊀ISRSAC算法的安全性ISRSAC是以RSA为基础的改进算法,通过强化大整数分解的复杂性,并引入随机数,使得时间复杂度这一指标随着算法复杂程度增加而增大㊂具体说明如下:(1)强化大整数分解难题㊂对于大整数N的生成,由RSA中两个大素数p,q相乘,改进为两个大自然数p-1,q-1和两个大素数相乘,增加了因式分解的难度㊂因而现有的攻击方法通过因式分解求得私钥的时间复杂度指标增大㊂(2)引入随机数增大攻破难度㊂ISRSAC算法中在私钥生成过程中定义了一个新的安全函数α(n),同时引入了一个随机数r以生成α(n)㊂因此,即使攻击者破解得到p,q,但由于r的随机性,也使攻击者无法破解得到私钥d㊂由上述两方面可以明确,ISRSAC在理论上大大提升了算法破解的时间复杂度,使得其安全性远高于传统RSA,该结论也在Yang等[8]人的文章中得到证明㊂2 2㊀基于ISRSAC的数字签名方案该签名算法中,使用ISRSAC生成公私钥对㊂算法流程分为三个阶段:密钥生成算法㊁签名生成算法㊁签名验证算法㊂具体如下:(1)密钥生成算法:随机选取大素数p,q且pʂq,p,q>3;计算n=p㊃q㊃(p-1)㊃(q-1),m=p㊃q;随机选取整数r,其中r满足条件p>2r<q,再计算得到α(n)=(p-1)(q-1)(p-2r)(q-2r)2r;选取公钥e,其中1<e<α(n),gcd(e,α(n))=1;计算私钥d,其中d㊃eʉ1(bmodα(n))㊂综上,确定公钥(e,m)和私钥(d,n)㊂(2)签名生成算法:假设明文为M,哈希函数为H,哈希值为H(M)㊂私钥为(d,n),计算SʉH(M)dbmodm作为H(M)的签名㊂(3)签名验证算法:验证消息M上的签名S,使用同一哈希函数计算H(M),用公钥(e,m)验证H(M)ʉSebmodm是否正确㊂如果等式正确,则接受签名㊂2 3㊀基于ISRSAC的环签名方案2022年,张等人提出一个基于ISRSAC的环签名方案,这一方案主要包含三个算法:密钥生成算法㊁环签名生成算法㊁环签名验证算法㊂(1)密钥生成算法与基于ISRSAC的一般数字签名方案一致,使用ISRSAC生成公私钥对㊂(2)环签名生成算法签名者通过随机n-1个用户的公钥,以及自己的公钥形成一个公钥环L={P1,P2, ,Pn},其中Pi=(ei,mi),i=1,2, ,n,签名者为其中第π(1ɤπɤn)个用户,再利用自身私钥(dπ,nπ)和公钥环L通过下列算法生成对消息M的环签名:计算Sπ=H1(M)dπ㊃ᵑni=1,iʂπH1(M)-ei2(bmodm);Si=H1(M)eπei(modm),输出关于M的环签名(S1,S2, ,Sn)㊂(3)环签名验证算法验证者收到消息Mᶄ及环签名值(S1ᶄ,S2ᶄ, ,Snᶄ)后进行验证:计算H1(Mᶄ),ᵑni=1Sᶄiei;判断ᵑni=1SᶄieiʉH1(Mᶄ)(bmodm)是否成立㊂2 4㊀基于ISRSAC的代理环签名方案基于ISRSAC算法的代理环签名方案分为㊃46㊃第31卷ISRSAC上基于身份的代理环签名方案设计㊀四个阶段:系统建立㊁用户密钥生成阶段㊁签名阶段以及验签阶段㊂(1)系统建立:通过ISRSAC算法生成公私钥对分别为(e,m),(d,n);选择两个Hash函数:H1:{0,1}∗ңZm∗,H2:{0,1}∗ң{0,1}a;公开系统参数(m,e,H1,H2),CA将私钥(d,n)作为主密钥㊂随机生成一些素数作为H1函数,本方案选择SM3函数作为H2函数㊂(2)用户密钥生成阶段1)独立用户密钥生成㊂CA根据每个用户的身份生成唯一编号ID:ID=H1(身份信息)作为每个用户公钥pk,S为用户ID集合:(ID1,ID2, ,IDn)ɪS;CA计算用户私钥sk=(ID)dbmodn并以安全方式发送给用户㊂用户收到密钥后通过IDʉ(sk)ebmodm进行验证㊂上述用户密钥生成过程可由一个CA单独完成,虽然用户信任CA,但实际应用中由于CA知道每个用户的密钥,具有过大权限则不能对它进行合理约束㊂2)联合用户密钥生成㊂为此在设计方案时由多个独立的CA联合生成密钥,通过多个分密钥联合生成用户密钥:Did=Did(1)+Did(2)+Did(3)+, +Did(n),可有效约束CA㊂具体方案如下:每个分CAi选择整数ei,满足,gcd(ei,α(n))=1,计算di:ei㊃diʉbmodα(n),给定初始值:C0=ID,e=1㊂随机选择一些CAi,1ɤiɤk(k为CA个数),计算:Ciʉ(Ci-1)dibmodn,eʉei㊃ebmodα(n)㊂得到:skʉCkʉ(ID)dbmodn,d=ᵑiɪCAdi(bmodα(n)),IDʉ(sk)ebmodm,eʉᵑiɪCAei(bmodα(n))㊂(3)签名阶段原始签名者A需要向环内成员签名时,A将消息msgA(R M L)发送给CA,即包括自己身份㊁期限的授权信息R,需要签名的消息集M和代理签名成员集合信息L={ID1,ID2, ,IDn}㊂CA收到消息后,生成含有A信息的密钥,并通过安全的方式发送给A:SAʉ(H2(R M L))dbmodn㊂A在收到来自CA的密钥后,通过SAeʉH2(R M L)bmodm验证㊂确认无误后,A随机选择整数rɪuZ∗m,计算代理信息:tʉrebmodm,sʉSA㊃r(H2(t M))bmodm,并发送给环内授权成员IDɪL㊂环内代理成员IDsɪL接收到A发来的代理信息(s,t)后进行验证:seʉH2(R M L)㊃tH2(t M)bmodm㊂确认无误后,代理L签署信息㊂首先对所有的iɪ{1,2, ,n}ɡiʂs,随机均匀㊁一致的选择riɪuZ∗m,再计算:tiʉriebmodm,hi=H2(IDi,ti,M,L)㊂随机选择一个rsɪuZ∗m,计算tsʉrseᵑiʂs(IDi)-hibmodm,如果有(ts=1)ᶱ(ts=ti,iʂs),则重新计算ti,hi,否则计算hs=H2(IDs,ts,M,L)㊂IDS用A的授权信息s生成自己的代理密钥skᶄsʉskshs㊃sbmodm㊂计算σʉskᶄsᵑni=1ribmodn㊂最后生成代理环签名:Ω={R,M,L,t,t1, ,tn,h1, ,hn,σ}(4)验签阶段对于签名的每个接收者首先选择IDiɪL验证:hi=H2(IDi,ti,M,L),i=1,2, ,n,进而验证:σeʉᵑ1ɤiɤn(tiIDihi)㊃tH2(t M)H2(R M L)bmodm㊂如果两者相等,则说明签名验证结果正确,反之错误,拒绝签名㊂3㊀ISRSAC上基于身份的代理环签名方案㊀㊀本节设计并提出了一个ISRSAC上基于身份的简短代理环签名方案,该方案包括6个算法:密钥生成(Generation)㊁提取(Extract)㊁代理委托(Delegation)㊁验证委托(VerifyDelegation)㊁签名(Sign)和验证(Verify)㊂该方案能够有效缩短密钥和签名长度,提高了计算效率;在实现上不受代理密钥暴露攻击的影响,具有强不可伪㊃56㊃北京电子科技学院学报2023年造性㊂3 1㊀符号说明注意:如果算法A是(t,qg,qp,qe,qe,qprs,e)有界的,即算法的运行时间最多为t,使得最多在时间qg查询预言机G,在时间qp查询随机预言机P,在时间qe查询Extract,在时间qd查询ProxyDelegation和在时间qs查询Sign预言机,可以至少以ε的概率赢得游戏㊂表1㊀符号说明符号含义说明xƔѳX表示分配给x的操作X是一个集合x是从集合X均匀随机选择的一个元素x1 x2 xn表示一个编码为字符串组成的对象的有效回收x1,x2, xn,是对象#空字符串|x|表示x的比特长度θѳC(x1, xn)表示算法C输入x1, 输出到θ3 2㊀相关知识(1)ISRSAC假设ISRSAC密钥生成器KGisrsac是生成四元组(n,m,e,d)的算法,其中n=p㊃q㊃(p-1)㊃(q-1),m=p㊃q且e㊃dʉbmod(α(n)),其中α(n)=(p-1)(q-1)(p-2r)(q-2r)2r㊂算法B打破KGisrsac和ISRSAC单向性的有利条件定义为:Advow-isrsacKGisrsac(B)=pr(n,m,e,d)ѳKGisrsac;γѳZNy=γebmodmγѳB(n,m,e,y)éëêêêêùûúúúú即B打破了ISRSAC相对于KGisrsac的(tᶄ,εᶄ)的单向性,如果B以tᶄ的时间运行,并且有利条件为Advow-isrsacKGisrsac(B)ȡεᶄ㊂(2)基于身份的签名[13]在签名认证的过程中,将主体公钥与之身份信息相关联是十分有意义的,基于此,Shamir[19]提出了一种基于身份的公钥密码体制㊂密钥生成算法为:公钥=H(身份信息);私钥=F(主密钥,公钥)㊂该密钥生成与传统公钥密码体制相反,该计算过程无法公开,只限于特定的主体,以实现对计算出的密钥的保密㊂在该公钥密码体制中,用户可以使用身份信息等作为公钥,再用公钥生成私钥,此即为基于身份的公钥密码体制㊂在Shamir的基于身份的签名方案中包括4步算法[20]㊂建立:这个算法由TA(可信机构)运行来生成系统参数和主密钥;用户密钥的生成:这个算法也由TA执行,输入主密钥和一条任意的比特串idɪ{0,1}∗,输出与id对应的私钥;签名:一个签名算法㊂输入一条消息和签名者的私钥,输出一个签名;验证:一个签名的验证算法㊂输入一个消息㊁签名对和id,输出True或False㊂(3)安全模型Yu[21]等提出对基于身份的代理环签名方法选择身份攻击,存在A1,A2,A3三种类型的潜在敌手㊂安全模型中需要满足代理签名者身份的不可伪造性并且对抗适应性选择消息可实现存在性不可伪造㊂若方案对2㊁3型敌手安全,则对1型敌手也是安全的㊂在挑战者C和敌手A之间开始以下游戏,验证方案对A1㊁A2㊁A3敌手的不可伪造性㊂C运行算法ParaGen,用安全参数l获得系统参数para和主密钥(mpk,msk),然后发送主密钥给A㊂A将密钥与各身份IDu对应并运行KeyExtract算法,C将私钥xu返回给敌手㊂敌手A可以基于消息空间描述符ω上原始签名者的身份ID0和身份集ID请求授权,ID是ID0在ω上签名权委托代理的身份集㊂C运行KeyExtract得到x0并返回σ0:σ0ѳDelegationGen(Para,mpk,ID0,ID,ω,x0)㊂A可请求message有关于ID到C的代理环签名㊂此外,敌手A为ω和ID提供了一个具有㊃66㊃第31卷ISRSAC上基于身份的代理环签名方案设计㊀身份ID0的原始签名者的授权σ0,该授权由DelegationGen算法得到或由A产生㊂C检查σ0是一个有效授权,在授权中具有身份ID0的原始签名者将ω的签名权授权给具有身份集ID的委托代理,满足ID⊆ID,messageɪω㊂若上述不成立,返回#;否则,C运行KeyExtract算法获得对应于身份IDj的一个代理签名者密钥xj,IDjƔѳID,再运行ProxyRingSign算法生成代理环签名θ并返回给敌手A㊂最后,输出一个关于原始签名者身份ID0和代理签名者身份集ID∗的基于身份的有效代理环签名(message∗,ω∗,θ∗),其中ID∗⊆ID∗,ID(是损坏的代理签名者的集合,并赢得游戏㊂对于A=A1,E0:ID0∗和ID∗中所有身份未被请求给Extract查询机,即A1没有密钥对应于它们;E1:(ω∗,ID∗)对没有被要求作为身份ID0∗下的一个ProxyDelegation查询;E2:m∗没有被要求作为身份集ID∗下的一个Sign查询㊂敌手A1定义为[14]:如果没有有界的(t,qg,qe,qd,qs,ε)敌手A赢得游戏,基于身份的代理环签名(t,qg,qe,qd,qs,ε)存在不可伪造性抵抗自适应性选择消息(权证)和选择身份攻击㊂对于A=A2,E0:ID0∗没有被要求作为一个Extract查询;E1:(ω∗,ID∗)对没有被要求作为身份ID0∗下的一个ProxyDelegation查询㊂敌手A2定义为:如果没有有界的(t,qg,qe,qd,ε)敌手A赢得游戏,基于身份的代理环签名(t,qg,qe,qd,ε)存在不可伪造性抵抗自适应性选择消息(权证)和选择身份攻击㊂对于A=A3,E0:ID∗中每个身份都没有被要求作为一个Extract查询;E1:message没有被要求作为身份集ID∗⊆ID∗下的一个Sign查询㊂敌手A3定义为:如果没有有界的(t,qg,qe,qs,ε)敌手A赢得游戏,基于身份的代理环签名(t,qg,qe,qs,ε)存在不可伪造性抵抗自适应性选择消息(权证)和选择身份攻击㊂3 3㊀方案设计根据基于ISRSAC的代理环签名以及基于身份的签名的构造方法,本节设计并提出了ISRSAC上基于身份的代理环签名方案㊂其中,ID0表示每个原始签名人身份,ID和ID表示委托代理的身份集及每个子集㊂假设:委托代理中代理签名者的身份数量为n(nȡ2);ID的每个子集ID大小为z(zȡ2)㊂ISRSAC上基于身份的代理环签名方案由6个算法构成,分别为:密钥生成(Generation),密钥提取(Extract),代理委托(ProxyDelegation),代理验证(VerifyDelegation),签名(Sign)和验证(Verify),各算法的具体流程如下㊂(1)系统参数及密钥生成(Generation):输入系统参数l,输出系统参数Para和系统主密钥(msk,mpk),即:(Para,(msk,mpk))ѳParaGen(l)㊂系统参数如下:假设l0,l1,lNɪN,且P0:{0,1}∗ң{0,1}l0,P0:{0,1}∗ң{0,1}l1,G:{0,1}∗ңZ∗N是随机预言机㊂设KGisrsac是ISR⁃SAC密钥对产生器,输出四元组(n,m,e,d),使α(n)>2ln,e的长度大于l0和l1位㊂密钥分配中心KGisrsac生成ISRSAC参数(n,m,e,d)㊂发布mpk=(e,m)作为主密钥,并保持主密钥msk=(d,n)的秘密㊂因此,公共参数是Para=(P0,P1,G)和mpk㊂(2)密钥提取(Extract):输入Para,mpk主密钥msk=d和用户身份的IDu;输出身份IDu相应的密钥(密钥分配中心计算xu=G(IDu)dbmodm,并将安全且经过身份验证的通道上的用户密钥xu发送给身份为IDu的用户),即xuѳExtract(Para,mpk,msk,IDu)㊂㊃76㊃北京电子科技学院学报2023年(3)委托代理(ProxyDelegation):若身份ID0的原视签名人决定将其签名权委托给具有身份集ID的委托代理,则采用该算法㊂输入Para,mpk,ID0,ID的原始签名者的密钥x0,信息空间描述符ωɪ{0,1};输出一个授权σ0,即σ0ѳProxyDelegation(Para,mpk,ID0,ID,x0)㊂系统参数如下:设ω是一个信息空间描述符,具有身份ID0的原始签名者愿意将他的签名权委托给具有身份集ID的代理签名组,授权σ0=(R0,s0)=(r0ebmodm,r0x0c0bmodm),其中r0ѳZ∗N且c0=P0(R0 ω ID)㊂然后,原始签名者发布授权σ0(ω,ID)㊂(4)代理验证(VerifyDelegation):输入Para,ID0,ID,ω,σ0,如果σ0是一个有效的授权,输出为1,否则为0㊂即{0,1}ѳVerifyDelegation(Para,mpk,ID0,ID,ω,x0)㊂系统参数如下:假设原始签名人的身份ID0,代理签名人的身份集ID,信息空间描述符ω和授权σ0,如果关系s0e=R0G(ID0)c0适用,验证者检查,其中c0=P0(R0 ω ID)㊂如果结果如上所述,该授权是有效的;否则,该授权无效㊂(5)签名(Sign):输入Para,mpk至少包含两个身份的代理签名者的身份集ID,ω的一个有效授权σ0和ID满足ID⊆ID,代理签名者的密钥xj,对应身份IDjƔѳID⊆ID和消息messageɪω㊂输出是基于身份的代理环签名θ㊂即θѳSign(Para,mpk,ID0,ID,ID,(message,ω,σ0),xj)㊂系统参数如下:具有身份IDjƔѳID⊆ID(jɪ{0, ,z-a})的代理签名者可以匿名签名消息messageɪω,代表具有如下所述的密钥xj和有效授权σ0的且身份为ID0的原始签名者㊂1)代理签名者IDj选择rƔѳZ∗N,计算R=rebmodm,cj+1=P1(R ID ID IDj ω message)㊂2)对于j-1ɤuɤj+1代理签名者IDj选择rƔѳZ∗N并且计算Ru=rebmodm和cu+1=P1(RuG(IDu)cuR0G(ID0)c0 IDID IDu ω message)㊂3)代理签名者IDj计算rj=rsuxjcjbmodm㊂4)在消息message和消息空间描述符ω上,基于原始签名者的身份ID0和代理签名者的身份子集ID⊆ID,代理环签名是θ=(R0,r0, ,rz-1,C0)㊂(6)验证(Verify):输入Para,ID0,ID,ID,ω,message,θ,如果θ是一个基于身份的有效代理环签名,输出是1,否则为0,即{0,1}ѳVerify(Para,mpk,ID0,ID,ω,message,θ)㊂系统参数如下:鉴于原始签名者的身份ID0和代理签名者的身份集ID及ID,消息空间描述符ω,消息message,代理环签名θ,验证过程如下:1)如果messageɪω检查;否则,停止;2)如果ID⊆ID,检查;否则,停止;3)对于0ɤuɤz-1,计算Ru=re和cu+1=P1(RuG(IDu)cuR0G(ID0)c0 IDID IDu ω message)接受签名当且仅当cz=c0,其中c0=P0(R0 ω ID)㊂4㊀ISRSAC上基于身份的代理环签名方案分析4 1㊀正确性分析下面将对上述方案进行正确性分析,方案的正确性可验证如下:㊃86㊃第31卷ISRSAC上基于身份的代理环签名方案设计㊀由rj=rsuxjcjbmodm,R=rebmodm,xu=G(IDu)dbmodm,授权信息σ0=(R0,s0)=(r0ebmodm,r0x0c0bmodm),可以得到验证等式rjeG(IDj)cjR0G(ID0)c0(bmodm)=rs0xjcjæèçöø÷eG(IDj)cjR0G(ID0)c0(bmodm)=res0exjecjG(IDj)cjR0G(ID0)c0(bmodm)=Rs0exjecjG(IDj)cjR0G(ID0)c0(bmodm)=R(r0x0c0)exjecjG(IDj)cjR0G(ID0)c0(bmodm)=R(r0e)x0c0exjcjeG(IDj)cjR0G(ID0)c0(bmodm)=RR0G(ID0)dc0eG(IDj)dcjeG(IDj)cjR0G(ID0)c0(bmodm)=R(bmodm)由上述等式可验证方案的正确性㊂4 2㊀安全性分析下面对方案的安全性进行具体分析,证明该方案中代理签名者身份隐私具有无条件匿名性并在随机预言模型下该方案具有强不可伪造性㊂在证明过程中,若ISRSAC上基于身份的代理环签名方案对2㊁3型敌手是安全的,那么它对1型敌手也能确保安全,为了证明所构造的方案具有不可伪造性,需要证明他是不可伪造的敌手A2,A3㊂引理4 1[22]首先介绍安全模型证明过程中运用的分裂引理㊂假设A⊂XˑY,使得Pr[(x,y)ɪA]ȡδ㊂对任何α<δ,定义B={(x,y)⊂XˑY|PryᶄɪY[(x,y)ɪA]ȡδ-a}和B-=(XˑY)B,有如下声明:(1)Pr[B]ȡα;(2)∀(x,y)ɪB,PryᶄɪY[(x,y)ɪA]ȡδ-α;(3)Pr[B|A]ȡαδ㊂定理4 2若ISRSAC函数与KGisrsac的关联是(tᶄ,εᶄ)单向的,并且εᶄȡε22(1-2-l0)4(qP0+qd),tᶄɤ2(t+(qG+qE+2qd)te),其中ε2ȡε4qE-qd(2qd+qP0)2-lN-2-l0,在Z∗N中te是一个指数的时间,qG,qP0,qE,qd分别是查询预言机G,P0,Extract,ProxyDelegation的次数,那么该方案对敌手A2是(t,qG,qP0,qd,ε)安全的㊂证明:对敌手A2,构造算法B,输入(n,m,e,y=γe)运行A2,输出是γ=y1ebmodm㊂算法B运行A2,在输入mpk=(e,m)和回答A2的预言机查询时,由于A2拥有所有代理签名人的密钥,可以模拟代理环签名,因此预言机访问Sign是没有必要的,消除了方案的不可伪造性㊂假设算法CA2保持最初的空关联组T[㊃]和TP0[㊃],并回答如下A2的预言机查询㊂(1)P0(R0 ω ID)查询:如果定义TP0[R0 ω ID],B返回它的值;否则,B选择TP0[R0 ω ID]Ɣѳ{0,1}l0,并返回TP0[R0 ω ID]给A2㊂(2)G(IDu)查询:如果T(IDu)=(b,xu,Xu),B返回Xu㊂如果这项尚未定义,则选择xuƔѳZ∗N,并且b=0的概率是β,b=1的概念是1-β㊂如果b=0,则B设置Xu=xeu;如果b=1,设置Xu=xeuybmodm㊂它存储T[IDu]ѳ(b,xu,Xu),并返回Xu给A2㊂(3)基于IDu的Extract查询:算法B查找T[IDu]=(b,xu,Xu),如果这项尚未定义,它执行查询G(IDu)㊂如果b=0,则B返回xu;否则,设置badPEѳtrue,中止A2㊃96㊃北京电子科技学院学报2023年执行㊂(4)基于身份ID0的(ω,ID)ProxyDelegation查询:算法B执行查询G(ID0),查找T[IDu]=b,xu,Xu㊂如果b=0,则B执行ProxyDelegation算法模拟ID0的授权,因为B知道原始签名者的密钥x0㊂如果b=1,B首先选择c0Ɣѳ{0,1}l0和s0ƔѳZ∗N,并计算R0ѳs0eX0-C0bmodm㊂如果TP0[R0 ω ID]已经被定义,则B设置badDGѳtrue并且中止;否则,设置TP0[R0 ω ID]ѳc0,返回σ0=(R0,s0,c0)给A2㊂最后,假设如果B不中止签名模拟,在时限t内,至少以概率ε,用原始签名者身份ID0对消息m和授权ω,A2输出一个有效的伪造(R0,s0,c0)㊂首先,计算B不中止回答A2的查询的概率下界,需要计算η=Pr[ badPE]Pr[ badDG| badPE],其中作为A2对Extract和ProxyDel⁃egation分别查询的结果,事件badPE和badDG表明B中止签名模拟㊂这些概率计算如下:1)要求1:Pr[ badPE]ȡβqE㊀㊀证明:B在A2的Extract查询中中止的概率为Pr[ badPE]㊂对Extract查询,当b=1时,B以概率1-β中止且badPEѳtrue㊂故在一个Extract查询中Pr[ badPE]为β,且对于大部分qE的查询,该概率值至少是βqE㊂2)要求2:Pr[ badDG| badPE]ȡ1-qd((qd+qP0)2-lN)-q2d2-lN㊀㊀证明:事件 badPE和 badDG是独立的,故Pr[ badDG| badPE]=Pr[ badDG]㊂在ProxyDelegation查询中,B中止的概率为Pr[ badDG]㊂当查询badDGѳtrue时,B中止,该事件的概率包含两部分,一是以前查询P0发生的ProxyDelegation模拟中(R0 ω ID)产生的概率,二是B以前在ProxyDelegation模拟中使用相同随机性R0的概率㊂前者用于qdProxyDel⁃egation查询的概率至少为qd(qd+qP0)2-lN,后者用于qdProxyDelegation查询的概率至少为q2d2-lN㊂因此,B不中止签名仿真的概率至少是ηȡβqE-qd(2qd+qP0)2-lN㊂由于伪造是有效的,因此有s0e=R0(G(ID0))c0,在原始签名者身份ID0下,A2没有要求ProxyDelegation算法授权(ω ID),并且ID0没有要求Extract查询㊂另外,G(ID0)=xe0y的概率是1-β㊂然后B为ID0查找T[㊃]以获取值x0,并以概率ε1ȡε(1-β)ηȡε(1-β)βqE-qd(2qd+qP0)2-lN返回有用的输出(R0,s0,c0,x0)㊂因此,B以概率ε1ȡε4qE-qd(2qd+qP0)2-lN返回可用的输出(R0,s0,c0,x0)㊂由于P0是随机预言机,除非在攻击期间被询问,c0=P0(R0 ω ID)事件发生的概率小于2-l0㊂而很可能在成功攻击期间查询(R0 ω ID),对预言机P0查询后生成有效伪造概率的下界是ε2ȡε1-2-l0㊂之后B使用预言机重放技术[23]解决ISRSAC问题㊂B算法采用两份A2,猜测固定参数1ɤpɤ(qP0+qd),希望p是查询(R0 ω ID)到预言机P0的索引,猜测的概率是1qP0+qd㊂算法B给出了相同的系统参数,相同的身份和相同的随机比特序列给两份A2,并返回相同的直到查询预言机第p次查询随机应答㊂对第p次查询预言机P0,B给Hash查询Pp两个随机应答c0和cᶄ0,使得c0ʂcᶄ0㊂因此,在A2从P0查询相同的(R0 ω ID)后,B获得两个有用的输出(R0,s0,c0,x0)和(R0,sᶄ0,cᶄ0,x0)㊂利用引理1计算B返回一个有用对的概率㊂假定Γ表示A2成功执行的集合,B返回有用输出的成功概率是在空间(X,Y)上,其中X是随机位和B占用除了与预言机P0相关的随机预言机响应的集合;Y是随机预言机响应预言机㊃07㊃第31卷ISRSAC上基于身份的代理环签名方案设计㊀P0的集合㊂因此,Pr[(X,Y)ɪΓ]=ε2㊂用引理1,分裂了有关P0到(Yᶄ,c0)的随机性Y,除了结果为c0的第k次查询,Y是所有到P0不同查询的随机响应的集合㊂引理1保证Ω每个子集的存在,使得Pr[Ω|Γ]ȡγδ=12,并且对每个(X,Y)ɪΩ,Prc0ᶄ[(X,Yᶄ,cᶄ0)ɪΓ]ȡδ-γ=ε22(qP0+qd)㊂如果B用固定(X,Yᶄ)和随机选择的cᶄ0ɪ{0,1}l0重放攻击,它得到另一个成功对((X,Yᶄ),cᶄ0),使得c0ʂcᶄ0以概率ε2(1-2-l0)4(qP0+qd)㊂A2成功执行两次后,B得到((X,Yᶄ),c0)和((X,Yᶄ),cᶄ0),c0ʂcᶄ0,即以概率εᶄȡε22(1-2-l0)4(qP0+qd)得到有用对(R0,s0,c0,x0)和(R0,sᶄ0,cᶄ0,x0)㊂从有用对(R0,s0,c0,x0)和(R0,sᶄ0,cᶄ0,x0),B计算y的ISRSAC算法反演如下㊂由于输出是基于有效的伪造,因此se0=R0(xe0y)c0,seᶄ0=R0(xe0y)cᶄ0㊂此外,还得到x0(cᶄ0-c0)s0sᶄ0æèçöø÷e=y(c0-cᶄ0)bmodm㊂由于c0ʂcᶄ0ɪ{0,1}l0并且e是一个长度严格大于l0的素数,即e>c0-cᶄ0,因此gcd(e,(c0-cᶄ0))=1㊂使用扩展Euclidean算法,可以找到a,bɪZ,使得ae+b(c0-cᶄ0)=1㊂得出y=yae+b(c0-cᶄ0)=yax0(cᶄ0-c0)ssᶄæèçöø÷bæèçöø÷ebmodm㊂算法B以概率εᶄ输出yax0(cᶄ0-c0)ssᶄæèçöø÷bæèçöø÷作为y的ISRSAC反演㊂算法B的运行时间tᶄ是A2的2倍,加上响应Hash查询所需的时间,qEExtract和qdProxy⁃Delegation查询的时间㊂假设ZN中l(多)次模指数运算需要te时间,当所有其他操作需要时间为零,由于每个随机预言机G或Extract查询需要的时间最多为1次指数运算,1个授权模拟需要2次指数运算,B的运行时间为tᶄɤ2(t+(qG+qE+2qd)te),证明完成㊂定理4 3若与KGisrsac相关的ISRSAC函数是(tᶄ,εᶄ)单向的,并且εᶄȡ(ε1-z2-l0)2(1-2-l0)8(qP1+qs)(qP1+qs+1),tᶄɤ2(t+(qG+qE+(2z+1)qs)te)㊂当ε1ȡε4qE-(2q2s+qsqP1)2-lNæèçöø÷,在Z∗N中te是一个指数的时间,qG,qP0,qP1,qE,q分别是预言机G,P0,P1,Extract,Sign的查询数量,那么该方案对敌手A3是(t,qG,qP,qE,qPrs,ε)安全的㊂证明:证明对于敌手A3,构造算法B,输入((e,m),y=yebmodm)运行A3,目标是输出γ=y1ebmodm㊂算法B运行A3,在输入mpk=(e,m)和应答A3的预言机查询时,打破该方法的存在不可伪造性㊂A3拥有原始签名者的私钥,故可以模拟授权,预言机访问ProxyDelegation是没有必要的㊂假设算法B保持初始的空关联数组T[㊃],TP0[㊃],TP1[㊃],并且应答A3的预言机查询如下㊂(1)P0(R0 ω ID)查询:如果定义TP0[R0 ω ID],则B返回它的值,否则B选择TP0[R0 ω ID]Ɣѳ{0,1}l0,返回TP0[R0 ω ID]给A3㊂(2)P1(RuG(IDu)cuR0G(ID0)c0 ID ID IDuω message)查询:如果定义TP1[RuH(IDu)cuR0H(ID0)c0 ID ID IDuω message],则B返回它的值;否则,B选择TP1[RuG(IDu)cuR0G(ID0)c0 ID ID IDu ω message]Ɣѳ{0,1}l1返回给A3TP1[RuG(IDu)cuR0G(ID0)c0 ID ID IDu ω message]㊂㊃17㊃。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第29卷 第9期2006年9月计 算 机 学 报C HIN ESE J OU RNAL OF COM PU TERSVol.29No.9Sept.2006收稿日期:2006203220;修改稿收到日期:2006205230.本课题得到国家自然科学基金(90304012)、国家“九七三”重点基础研究发展规划项目基金(2004CB318000)资助.曹正军,男,1971年生,博士研究生,主要研究方向为信息安全与密码学.E 2mail :zjcao @.刘木兰,女,1941年生,研究员,博士生导师,主要研究领域为信息安全、密码学、计算机代数.一个基于强RSA 数字签名方案的改进曹正军1),2) 刘木兰2)1)(上海大学数学系 上海 200444)2)(中国科学院数学与系统科学研究院数学机械化重点实验室 北京 100080)摘 要 该文改进了Zhu 等人的基于强RSA 的数字签名方案.原方案在系统建立阶段必须选取QR n 中的三个生成元,并且签名人在签名阶段还必须选取一个固定长度的素数.改进方案只需选取两个生成元,而且只需选取一个固定长度的奇数.新方案的计算量约是原方案的1/2.在强RSA 假设下,文中分析了改进方案的安全性.关键词 强RSA 假设;生成元;自适应选择消息攻击;存在型伪造.中图法分类号TP309Improvement of a Signature Scheme B ased on Strong RSACAO Zheng 2J un 1),2) L IU Mu 2Lan 2)1)(Depart ment of M at hematics ,S hanghai Universit y ,S hanghai 200444)2)(Key L aboratory of M at hematics Mechaniz ation ,A cadem y of M at hematics and S ystems Science ,Chinese A cadem y of Sciences ,B ei j ing 100080)Abstract This paper imp roves t he signat ure scheme based on st rong RSA p roposed by Zhu in 2001.The original scheme should select t hree generators in Q R n in t he set up p hase.In signing p hase ,t he signer has to choo se a prime number wit h p rescribed lengt h.The aut hors remove t hese rest rictions.Only two generators and an odd should be selected in t he improved scheme.The scheme saves about 1/2comp utation co st of t he original scheme.The aut hors also analyze it s security under st rong RSA.K eyw ords st rong RSA ;generator ;adaptive chosen 2message attack ;existential forgery1 引 言在文件上手写签名一直被作为一种证明签名者身份的标识,它表明签名人看过乃至同意文件的内容.签名人作出签名后将无法否认,并要为自己的签名负责.在法律上,签名是一种重要的诉讼证据.生活中需要签名的事例举不胜举.重要的如:给重病患者动手术,必须有亲属在手术协议书上签名;重要的商务合同必须有相关法人代表的签名,还需公证处公证;司法机关审讯犯罪嫌疑人的审讯记录也须有当事人的画押.一般的如:写留言、借条、填登记表.当然,随着高科技的发展,刑侦工作中采用的DNA 检测,即利用个体的生理特征来鉴别有关主体,另当别论.现实生活中,手写签名有很多缺陷.高超的伪造者能够模仿签名人的笔迹伪造签名;采用高明的剥离技术,签名能够从一篇文章盗用移到另一篇文章;文件在签名后能被替换;由于自然力的影响,笔迹会变得模糊,难以辨识.总之,依靠人体感官来辨识的手写签名是相当不安全的.为了克服这些缺陷,一门新技术即在数字世界中实现签名,在20世纪70年代末随着公钥密码学[2]的诞生发展起来了,这便是基于公钥基础设施(P KI)的数字签名(digital signat ure).目前绝大部分数字签名方案都是基于离散对数问题和RSA问题的[3],典型的如El Gamal签名[4]、Schnorr签名[5]以及美国的数字签名标准DSA[6],都是基于离散对数问题.我们知道,利用RSA构造的签名方案模数长度不小于1024bit(离散对数型的模数长度则是512bit),因此效率较低.那么,能否利用RSA构造出效率较高的数字签名方案呢?为此, Cramer和Shoup[7]在2000年最早提出了一个基于强RSA假设的数字签名方案,但该方案不够简练. 2003年,Fischlin[8]在Cramer2Shoup方案的基础上进行了改进.事实上,该方案与国内学者朱华飞[1]在2001年提出的一个数字签名方案很类似.下面我们将对这三个方案加以叙述,然后再设计一个改进方案.新方案的优点在于,系统建立阶段只需选取两个生成元(比原方案少一个),签名人在签名阶段只需选取一个固定长度的奇数(原方案为素数).在同等规格的模数下,新方案的效率要明显优于原方案,计算量约是原方案的1/2.并且在强RSA假设下,我们分析了改进方案的安全性.2 三个基于强RSA假设的签名方案2000年,Cramer和Shoup[7]最早提出了一个基于强RSA假设的数字签名方案,他们证明了该方案在自适应选择消息攻击(adaptive cho sen2message attack)下能够抵抗存在型伪造(existential forgery).为此,我们先介绍强RSA问题与强RSA假设,然后再叙述相关的三个方案.定义1(强RSA问题). 给定一个RSA模N= pq和一个随机数c∈Z3N,计算a,b∈Z3N,bΕ2,使得a b=c mod N.强RSA假设.在不知道N因子分解情况下,计算强RSA问题是困难的.211 CS2数字签名方案建立.选取n=pq,其中p=2p′+1,q=2q′+1,p,p′,q,q′均为素数;记Q R n为Z n中的二次剩余构成的群,随机选取h,x∈Q R n和一个长为(l+1)bit 的素数e′.H(・):{0,1}3→{0,1}l为一安全无碰撞的Hash函数.P K=(n,h,x,e′,H),S K=(p,q).签名.设待签名的消息为m,随机选取一个长为(l+1)bit s的素数e≠e′以及y∈QR n;计算x′使得(y′)e′=x′h H(m)mod n,计算y使得y e=x h H(x′)mod n,签名为(e,y,y′).验证.首先检验e是否是长为(l+1)bit s的奇数且e≠e′,然后计算x′=(y′)e′h-H(m)mod n并验证x=y e h-H(x′)mod n.212 Fischlin2数字签名方案2003年,Fischlin[8]指出CS方案中关于x′的计算过程是多余的.为此,他提出了一个改进方案:建立.选取n=pq,其中p=2p′+1,q=2q′+1, p,p′,q,q′均为素数;记Q R n为Z n中的二次剩余构成的群,随机选取h1,h2,x∈QR n.H(・):{0,1}3→{0,1}l为一安全无碰撞的Hash函数.P K=(n,h1, h2,x,H),S K=(p,q).签名.设待签名的消息为m,随机选取一个长为(l+1)bit的素数e以及长为l bit s的串α;计算y 使得y e=x hα1hα H(m)2mod n,签名为(e,α,y).验证.首先检验e是否是长为(l+1)bits的奇数,α长是否为l bit s,然后验证y e=x hα1hα H(m)2mod n.Fischlin的改进方案为了达到随机化目的,选取了一个长为l bit s的随机串α,这有利于抵抗选择消息攻击.而且改进方案明显地去除了原方案中的冗余成分,提高了系统的效率.213 Zhu2数字签名方案最近,我们从有关文献中发现,早在2001年国内学者朱华飞[1]就曾提出了一个与Fischlin的改进方案极其相似的协议:建立.选取n=pq,其中p=2p′+1,q=2q′+1, p,p′,q,q′均为素数;记Q R n为Z n中的二次剩余构成的群,随机选取三个生成元X,g,h∈QR n, H(・):{0,1}3→{0,1}l为一安全无碰撞的Hash函数.P K=(n,g,h,X,H),S K=(p,q).签名.设待签名的消息为m,随机选取一个长为(l+1)bit s的素数e以及长为l bit s的串t;计算y8161计 算 机 学 报2006年使得y e=X g t h H(m)mod n.签名为(e,t,y).验证.首先检验e是否是长为(l+1)bit s的奇数,然后验证y e=X g t h H(m)mod n.3 新改进方案311 新改进方案的描述Fischlin2方案和Zhu2方案都引进了另一个公开参数(前者是h1,后者是g),通过选取随机串α(后者为t),增强了系统抵抗选择消息攻击的能力.事实上我们能够通过更简单的办法来实现这一目的,进一步去除冗余成分,提高系统的效率.下面我们给出一个改进方案:建立.选取n=pq,其中p=2p′+1,q=2q′+1, |p|=|q|=512bit s,p,p′,q,q′均为素数;记Q R n为Z n中的二次剩余构成的群,随机选取Q R n中的两个生成元X,g.H(・):{0,1}3→{0,1}256为一安全无碰撞的Hash函数.P K=(n,g,X,H),S K=(p,q).签名.设待签名的消息为m,随机选取一个长为257bit s的奇数e,且(e,<(n))=1,计算y使得y e=X g H(m‖e‖X)mod n.签名为(e,y).验证.首先检验e是否是长为257bit s的奇数,然后验证y e=X g H(m‖e‖X)mod n.定理1. 上述协议中的每一步都能够实现,最后得到的签名能够通过验证.证明. 由于签名人知道n的因子分解,可以求出<(n),从而计算出d=e-1mod<(n), y=(X g H(m‖e‖X))d mod n.证毕. 312 效率分析改进方案的效率要明显优于Fischlin2签名方案和Zhu2签名方案,具体情况如表1所示.表1 三种签名方案的比较Fischlin2签名方案Zhu2签名方案新改进方案公钥(n,x,h1,h2)(n,X,g,h)(n,X,g)私钥(p,q)(p,q)(p,q)随机数素数e,随机串α素数e,随机串t奇数e签名(e,α,y)(e,t,y)(e,y)验证等式y e=x hα1hα H(m)2y e=X g t h H(m)y e=X g H(m‖e‖X)从表1中可以看出新改进方案少选了一个生成元,且签名时少选了一个随机串,验证方程中也少了一个幂运算.因此,在同等规格的模数下,原方案与新方案的计算量之比约为3∶2.此外,原方案要求随机选取的e为素数,而新方案只要求e为奇数,无需进行素性检验.故此,总的计算量约为原方案的1/2.注记1.在原方案中,如果e为合数,不妨设e= ab,则(a,t,y b)和(b,t,y a)都是关于同一消息的合法签名.新方案则在验证等式中把H(m)换成了H(m‖e‖X),利用Hash函数构造了一个新挑战,有效地抵制了上述攻击,去掉了素数要求.注记2.在Fischlin2方案和Zhu2方案中分别记X^=x hα1hα2,X—=X g t,则相应的验证方程为y e=X^h H(m)2, y e=X—h H(m)(mod n).由于X^,X—对攻击者而言都是已知的,所以这两个方案可以看成是改进方案的一种简单变型,但其安全性明显要弱于改进方案.改进方案利用Hash函数的随机性,通过H(m‖e‖X)把消息m,签名数据e 和公开参数X绑定在一起,有利于抵抗自适应选择消息攻击.313 安全性分析命题1. 上述改进方案在自适应选择消息攻击(adaptive chosen2message attack)下能够抵抗存在型伪造(existential forgery).证明. 我们首先解释在自适应选择消息攻击下攻击者A的攻击能力.此时,攻击者A能够多次(在多项式时间内)访问签名预言机SO(Signing Oracle),有一条记录带,把每次提交的询问m i和得到的回答(e i,y i)记录下来.在每次提交新的询问时,A能够根据先前的记录自主选择所提交的询问.为了叙述方便,把A在攻击中的记录记为{(m i,e i,y i):1ΦiΦt},可以假定A每次提交的询问是不相同的(i≠j,则m i≠m j).现在需证:攻击者在经过多次询问后,得不到一合法的消息/签名(m,e,y)(m不能作为A提交的询问),使得y=(X g H(m‖e‖X))d mod n.为此,根据A找到的e,y分两种攻击类型加以讨论.攻击1.根据攻击者得到的e,只需考虑(I)存在某个i(Φt),使得e=e i.此时又可分为两种情况:(I1)如果H(m i‖e i‖X)=H(m‖e i‖X),则91619期曹正军等:一个基于强RSA数字签名方案的改进由于m≠m i,m i‖e i‖X≠m‖e i‖X,从而A找到了H的一对碰撞.由于在ROM模型下总是假设H 是一理想的随机函数,故此,攻击者成功的概率A dv S O(Q,R,t)Φ1/2255,其中Q={m1,m2,…,m t},R={(e1,y1),(e2,y2),…,(e t,y t)}.(I2)如果H(m i‖e i‖X)≠H(m‖e i‖X),则显然有y i≠y mod n.不妨设H(m‖e i‖X)> H(m i‖e i‖X),记H(m‖e i‖X)-H(m i‖e i‖X)=α,由y e i=X g H(m‖e i‖X)mod n,y e ii=X g H(m i‖e i‖X)mod n,可得(y y-1i)e i=g H(m‖e i‖X)-H(m i‖e i‖X)=gαmod n.由于|e i|=257,|α|Φ256,所以e i≠α.在已知n,e i,gα的情形下,攻击者找到合乎要求的y等同于解密利用RSA加密的(y y-1i),加密指数为e i.这与RSA的基本假设相矛盾.(II)对ΠiΦt,都有e≠e i.此时又可分为两种情况:(II1)如果ϖiΦt,使得H(m i‖e i‖X)=H(m ‖e‖X),则同(I1)一样,攻击者A能够找到H的一对碰撞,这与ROM模型下假设H是一理想的随机函数相矛盾.(II2)如果Πi,1ΦiΦt,都有H(m i‖e i‖X)≠H(m‖e‖X),由于{e i}1ΦiΦt是随机选取的,故ϖi, 1ΦiΦt,使得e i>e,从而根据y e=X g H(m‖e‖X)mod n,y e i i=X g H(m i‖e i‖X)mod n,可得(y y-1i)e=g H(m‖e‖X)-H(m i‖e i‖X)y e i-ei mod n.在已知n,e,H(m‖e‖X),H(m i‖e i‖X),y e i-ei的情形下,攻击者A找到合乎要求的y就等同于解密利用RSA加密的(y y-1i),加密指数为e.这与基本假设相矛盾.也就是说,利用攻击者得到的e,可以把攻击算法归约到RSA解密问题,然而在目前分解大数能力的条件下,RSA解密问题是十分困难的.攻击2.根据攻击者得到的y,此时由于X,g 均是QR n中的生成元,且满足y e=X g H(m‖e‖X)mod n,故此存在α使得y=gαmod n,从而在已知X,g的情况下攻击者必能找到X关于g的一种表示,即X=y e g-H(m‖e‖X)=gαe-H(m‖e‖X)mod n,但这与强RSA假设矛盾.事实上,如果攻击者能够从前t次询问与回答中,对某个i(Φt)得到y i关于g的表示,即有αi使得y i=gαi mod n,那么,令αi e i-H(m i‖e i‖X)=αe-H(m‖e‖X)求出一整数α即可.但在已知y i和g 的情况下求αi与强RSA假设矛盾.总之,在给定y的情况下,可以利用攻击者求解e的算法来构造另一算法解决强RSA问题,从而与强RSA假设矛盾.4 结束语本文改进了一个基于强RSA的数字签名方案,新方案的计算量只是原方案的1/2,并且在强RSA 假设下分析了新方案的安全性.改进方案利用Hash 函数的单向性构造了一个复合挑战,因而能够进行灵活的变形.利用这一特点可以设计盲签名、部分盲签名等一些重要的数字签名方案,我们将在今后的工作中进一步介绍这方面的结果.参考文献1Zhu Hua2Fei.New digital signature scheme attaining immunity to adaptive chosen2message attack.Chinese Journal of Electron2 ics,2001,10(4):484~4862Diffie W.,Hellman M.E..New directions in cryptography.IEEE Transactions on Information Theory,1976,IT222(6): 644~6543Rivest R.L.,Shamir A.,Adleman L.M..A met hod for obtai2 ning digital signatures and public2key muni2 cations of t he ACM,1978,21(2):120~1264El Gamal T..A public2key cryptosystem and a signature scheme based on discrete logarit hms.IEEE Transactions on Information Theory,1985,31(4):469~4725Schnorr C.P..Efficient identification and signatures for smart cards.In:Proceedings of Advances in Cryptology2Crypto’89, Berlin:Springer2Verlag,1990,239~2516Schneier B..Applied Cryptography:Protocols,Algorit hms, and Source Code in C.2nd Edition.New Y ork:Wiley,1995, 521~5227Cramer R.,Shoup V..Signature schemes based on t he strong RSA assumption.ACM Transactions on Information and System Security,2000,3(3):161~1858Fischlin M..The Cramer2Shoup Strong2RSA signature scheme revisited.In:Proceedings of t he P KC2003,Lecture Notes in Computer Science2567,Berlin:Springer2Verlag,2003,116~1290261计 算 机 学 报2006年CAO Zheng 2Jun ,born in 1971,Ph.D.candidate.His research interests include information security and cryp 2tography.L IU Mu 2Lan ,born in 1941,professor ,Ph.D.supervi 2sor.Her research interests include cryptography ,informa 2tion security and computer algebra.B ackgroundDigital signature is an important component of modern cryptography.It has greatly promoted the development of E 2commerce.Lots of researchers have paid attention the design and analysis of signature schemes.In this paper ,the authors improve the signature scheme based on strong RSA proposed by Zhu.The original scheme should select three generators in QR n in the setup phase.In signing phase ,the signer must choose a prime number with prescribed length.The authors remove these restrictions.Only two generators and an odd should be selected in our scheme.The improve 2ment scheme saves about 1/2computation of the original scheme.The authors also prove its security under strong RSA assumption.The research is supported by the National Natural Science Foundation of China under grant No 190304012and National Basic Research Program (973Program )of China un 2der grant No 12004CB318000.The research group is with In 2stitute of Systems Sciences ,Chinese Academy of Sciences.The group members have published a number of papers in in 2ternational and internal journals and conferences about ap 2plied mathematics ,cryptography and computer sciences ,etc.12619期曹正军等:一个基于强RSA 数字签名方案的改进。

相关文档
最新文档