两种数字签名方案
数字签名方案的实现

数字签名方案的实现欧家权、应用数学、2111011451一:数字签名的背景随着信息、电子技术的迅速发展,全球己步入信息社会。
由于整个社会将形成一个巨大的计算机网络,任何部门的计算机网络一旦出现安全问题,都会直接影响到整个国家的网络安全,所以计算机网络安全问题已引起了各国的高度重视。
随着我国信息化进程的加快,网络化将向各经济部门、政府机关、军队、学校和社会团体等方向延伸,先进的计算机系统能把整个社会乃至军队联结起来。
计算机作为国家的关键基础设施和战略命脉,其安全状况直接影响到国家的安全和发展。
加密技术是保证信息安全的关键技术,其理论是信息安全的核心内容之一。
密码学是一门古老而又年轻的学科,1949年以前,密码学是一种艺术而并不是作为一门严格的科学存在。
1949年shannon[']发表的“保密系统的信息理论"一文为私钥密码系统建立了理论基础,从此密码学成为了一门科学。
而1976年Diffie和Hellman[2]的“密码学的新方向”则开创了公钥密码学的新纪元。
目前的数据加密、数字签名、消息认证等技术都是以密码技术作为基础设计出来的。
随着信息化的高速发展,密码学理论的研究和应用越来越受到重视。
数字签名的概念由Diffie和Hellman提出,是现代密码学最重要最基本的概念之一。
数字签名的设计思想等同于手写签名,即将签名者的身份与其签署的消息绑定,表示某人已对某消息进行了签字。
任何的验证者均能验证消息确实为签名者所签署,而伪造一个合法用户的签名却是困难的。
数字签名是实现数字通信中可认证性、完整性和不可否认性的重要密码技术,是应用最为广泛的公钥密码技术之一.综上所述,数字签名的应用范围相当广泛,而数字签名最重要的应用之一就是数字版权管理系统的应用。
随着网络和数字技术的快速发展,以数字形式存在的产品在人们的日常工作、学习和生活中占据越来越重要的地位。
这些数字产品包括:电影、音乐、图片、电视、软件、书籍、期刊等,我们通称之为数字内容.数字内容通常都是有版权的,版权所有者销售数字内容并希望获得最大的经济收益。
基于Schnorr算法的多重数字签名方案

基于Schnorr算法的多重数字签名方案
褚红伟;葛玮
【期刊名称】《计算机工程》
【年(卷),期】2005(031)023
【摘要】基于Schnorr算法的身份鉴别和签名,大部分计算都可在预处理阶段完成,效率较高,安全性在于计算离散对数难度[1].基于此算法,通过引入身份验证和时间限制等机制,设计了两种多重签名方案,能有效地防止签名重发攻击和恶意签名延迟,具有较好的实用性.最后对这两种方案进行了安全和性能分析.
【总页数】3页(P119-120,145)
【作者】褚红伟;葛玮
【作者单位】西北大学软件工程研究所,西安,710069;西北大学软件工程研究所,西安,710069
【正文语种】中文
【中图分类】TN918
【相关文献】
1.基于Schnorr体制的多重数字签名 [J], 李维科;李方伟
2.一种基于椭圆曲线的Schnorr型多重数字签名 [J], 周敏;张秉儒
3.Schnorr型多重数字签名方案 [J], 李斌;龚少麟;赵泽茂
4.基于Schnorr数字签名的阈下信道方案及分析 [J], 刘欣;李大兴
5.基于Schnorr数字签名的顺序群签名方案 [J], 张秋余;张俊敏;余冬梅;管伟
因版权原因,仅展示原文概要,查看原文内容请购买。
基于RSA和DLP数字签名方案的分析和改进

方案的核心 主要 是依赖于公认 的困难 问题 的难解 性 ,所 以一旦 困难 问题被解决 ,则依赖于这个困难 问题的密码系统也随之攻破。考虑到以后计算机计 算能力的加强和更好的破解方案的提出,所 以基于 两 个或 两 个 以上 困难 问题 的密码 系统 的提 出 已成 为 研 究 者 的重 点 。基 于多个 困难 问题 的的密码 系 统被
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
改进SM2签名方法的区块链数字签名方案

1. 1 PBFT 共识算法 PBFT 主要用于解决区块链节点间的拜占庭容错问题[9],
在 R > 3f + 1(R 为总节点数,f 为错误节点数)的前提下,系统 能保持安全性和活性,能使区块链所有节点执行相同的序列 操作,但由于其效率受节点数量影响较多,故运用于联盟链。 PBFT 是一种状态机副本复制算法[10],即将服务作为状态机进 行建模,状态机在分布式系统的不同节点进行副本复制。每 个状态机的副本都保存了服务的状态,同时也实现了服务的 操作。在 PBFT 算法中存在三种角色:客户端、主节点和从节 点,其中主节点和从节点都进行数据备份。所有的副本在一 个被称为视图的轮换过程中运作。在某个视图中,一个副本 作为主节点,其他副本作为备份。视图是连续编号的整数。 主节点由公式 p = v mod |R| 计算得到,其中:v 是视图编号,p 是 副本编号,|R| 是副本集合的个数。当主节点失效时,就需要 启动视图更换过程,切换主节点,生成新的视图 v + 1,并在该 视图下继续共识过程。共识过程如图 1 所示。
收稿日期:2020⁃08⁃14;修回日期:2020⁃11⁃02;录用日期:2020⁃12⁃07。 作者简介:杨龙海(1997—),男,四川眉山人,硕士研究生,主要研究方向:区块链、算法分析; 王学渊(1974—),男,四川成都人,副教授,博 士,主要研究方向:图像处理、算法分析; 蒋和松(1982—),男,重庆人,讲师,博士研究生,主要研究方向:机器人、计算机视觉、物联网。
Journal of Computer Applications 计算机应用, 2021, 41( 7) : 1983 - 1988
ISSN 1001⁃9081 CODEN JYIIDU
2021⁃ 07⁃ 10 http:/ / www. joca. cn
基于身份的电子公文数字签名方案

K e y wor s:e e to co c a o ume s d g t lsgn t r ; r i r u ;s c iy d lcr ni f i ld c i nt; i ia i au e b a dg o ps e urt
摘
要: 随着信 息技术的发展和 电子政务的深入 实施 , 公文的电子文件形式代替 了 传统的纸质文件形式, 这种
i o ca d c me tC mp tr n ier ga dA piain , 0 2 4 ( 0 :3 .3 . c f il o u n. o ue gn ei n p l t s 2 1 , 8 3 ) 12 1 4 i E n c o
Abs r c :W ih t e d veo m e tofi f ma i n t c no o y a l a h h r u h i tat t h e l p n or to e h l g swe t st e t o o g mplme to . o e n e t t e n e n fe g v r m n h
.
S c h ng ne t bl u h c a e i vi y a
c u e e u i u si n i eo c a o u n sp o e sn o F o t er a o f i c l y s l i g t e r o x a s ss c rt q e t t f il c me t r c s i g f w. r m e s n o f u t o v n o t — y o nh i d l h di l h e
变化不可避免地引起 了电子公文传输过程 中的安全性问题。从辫群上求根 问题 困难的角度 出发, 出了一种 提 基 于身份 的电子公文数 字签名方案 , 说明 了攻击者 能够伪造此签名仅 当他能够求解辫群上的求根问题 , 分析
两个高效无证书签名方案的替换公钥攻击

两个高效无证书签名方案的替换公钥攻击张金辉;吴晨煌;史艳琴【摘要】对新近提出的两个高效无证书签名方案进行安全性分析,指出这两个签名方案都能受到替换公钥攻击。
任意攻击者都可以通过替换签名人的公钥从而达到对任意选择的消息成功伪造签名,分析这两个签名方案能受到替换公钥攻击的根本原因。
最后通过这两个攻击总结分析了无证书签名方案设计过程需要注意的要点,这对无证书签名方案的设计具有借鉴意义。
%We analyse the security of two efficient certificateless signature schemes presented recently, and point out that they can all suffer from the public-key replacement attack.Any attacker can forge valid signature successfully on the message optionally selected by replacing the keys of the singers.We also analyse the primary reason of the public-key replacement attack against these two signature schemes.Finally, through these two attacks we summarise and analyse some key points that have to pay attention to in the process of certificateless signature schemes design, which is of referential significance to the design of the certificateless signature schemes.【期刊名称】《计算机应用与软件》【年(卷),期】2014(000)012【总页数】4页(P311-313,322)【关键词】数字签名;无证书;替换公钥攻击;双线性对;安全性分析【作者】张金辉;吴晨煌;史艳琴【作者单位】莆田学院数学学院福建莆田 351100;莆田学院数学学院福建莆田351100;莆田学院数学学院福建莆田 351100【正文语种】中文【中图分类】TP3090 引言无证书公钥密码系统[1]不仅克服了传统公钥密码系统中的公钥证书的管理问题[2],而且克服了基于身份公钥密码系统[3]中存在的密钥托管问题。
数字签名技术

4.4 数字签名的标准与算法
目前,已经提出了大量的数字签名算法,比如RSA数字签名算 法、EIGamal数字签名算法、Fiat-Shamir数字签名算法、GuillouQuisquarter数字签名算法、Schnorr数字签名算法、Ong-SchnorrShamir数字签名算法、美国的数字签名标准/算法(DSS/DSA)、椭 圆曲线数字签名算法和有限自动机数字签名算法等。 NIST于1994年12月通过了一个签名方案,并将其作为数字签名 标准(Digital Signature Standard,DSS),这就是众所周知的 数字签名算法(Digital Signature Algorithm,DSA)。DSS规范 说明书于1998年作了修改,并于1998年12月15日公布为FIPS PUB 186-1(NIST98)。FIPS PUB 186-1规定DSA或者RSA签名方案都可 以用于美国各机构生成数字签名。2000年2月15日,NIST又给DSS颁 布了一个新标准FIPS PUB 186-2,规定除了DSA和RSA之外,椭圆曲 2015-4-18 20 线数字签名算法( ECDSA)也可以为美国各机构生成数字签名。
码技术和公钥密码技术)及特定的签名算法均可以获得数字签名.
2015-4-18
4
4.2 数字签名的基本原理
4.2.1 数字签名应满足的要求
为了保证数字签名的效果,数字签名必须满足以下要求:
(1)签名是可信的和可验证的,任何人都可以验证签名的有
效性; (2)签名是不可伪造的,除了合法的签名者之外,任何人伪
2015-4-18
23
2.基于RSA的盲签名算法
1985年,D. Chaum提出了一种基于RSA的盲签名算法,下面简 要说明该算法的具体过程。 假设用户A有信息m要求B签署,但又不让B知道关于信息m的任 何一点信息。设B的签名密钥(即B的私钥)为d,验证密钥(即公 钥)为e,模数为n。
盲签名及其应用

2006 年 3 月 第五卷第 1 期
滁州职业技术学院学报
JOURNAL of CHUZHOUVOCATIONAL &TECHNICAL COLLEGE
名人不能产生一个合法的代理签名。
B、可验证性: 验证者可以验证代理签名,并被 证明消息签名确实是经授权的合法签名。
C、可鉴别性: 任何人可以由一个代理的签名鉴 别出代理签名人。
D、不可否认性: 一旦代理签名人代理签名授权 人产生了一个合法的代理签名,他就不能否认这个
签名。
(2) 一种基于椭圆曲线的代理盲签名方案
3.2 按照盲签名的用途来划分 1、群盲签名
群盲签名是由A.Lysyanskay。和Z.Ramzan 通
过把盲签名概念、群签名概念结合起来提出的方 案,一个群盲签名方案应满足以下几个性质:
( 1) 签名的盲性:签名人不能看到他签名的消
息,而且签名人不能记得他曾对某一消息签过名, 但他可以验证他确实对其签过名。
Mar.2 0 0 6 V o 1.5 N o . 1
盲签名及其应用
陈开兵
〔合肥工业大学,安徽 合肥 230000; 滁州职业技术学院,安徽 滁州 239000)
摘 要: 数字签名技术的诞生,使信息的安全问题得到了很好的解决,而作为特殊数字签名的盲签名
技术在实际生活中有若重妥的作用,本文主要介绍了盲签名的基本理论以及其分类,同时还 简单介绍了盲
签名技术在电子选举和电子现全 中的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两种数字签名技术 0902班 贺信 学号:14092400635 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1) 收方能够确认或证实发方的签名,但不能伪造签名。 2) 发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3) 收方对已收到的签名信息不能否认,即有收报认证。 4) 第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。
1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对"绑定"在一起。这使得一个人很难否认数字签名。 1.4 数字签名的作用 网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务。数字签名机制作为保障网络信息安全的手段之一,可以解决伪造,抵赖,冒充和篡改问题。数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有: 1) 防冒充(伪造)。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。显然要求各位保存好自己的私有密钥,好像保存自己家门的钥匙一样。 2) 可鉴别身份。由于传统的手工签名一般是双方直接见面的,身份自可一清二楚;在网络环境中,接受方必须能够鉴别发送方所宣称的身份。 3) 防篡改(防破坏信息的完整性)。传统的手工签字,假如要签署一本200 页的合同,是仅仅在合同末尾签名呢还是对每一页都有签名,不然,对方会不会偷换其中几页这些都是问题所在。而数字签名,如前所述:签名与原有文件已经形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。 4) 防重放。如在日常生活中, A 向B 借了钱,同时写了一张借条给B ;当A 还钱的时候,肯定要向B 索回他写的借条撕毁,不然,恐怕他会再次挟借条要求A 再次还钱。在数字签名中,如果采用了对签名报文添加流水号,时戳等技术,可以防止重放攻击。 5) 防抵赖。如前所述,数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。以上是签名者不能抵赖,那如果接受者确已收到对方的签名报文,却抵赖没有收到呢?要预防接受者的抵赖,在数字签名体制中,要求接受者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制。如此操作,双方均不可抵赖。 6) 机密性(保密性)。有了机密性保证,截收攻击也就失效了。手工签字的文件(如合同文本)是不具备保密性的,文件一旦丢失,文件信息就极可能泄露。数字签名,可以加密要签名的消息。当然,签名的报文如果不要求机密性,也可以不用加密。
2. 数字签名技术 数字签名的目的就是要保证文件的真实性,防止签名者抵赖。对文件进行了签名说明签名者认可了这份文件。然而有时一个文件上的签名并不是签名者真正想要签的,而是别人伪造的签名。攻击者会利用一些攻击模型来达到伪造签名的目的。这些攻击模型包括唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击等。一个签名方案不可能在任何情况下都是安全的,这是因为对一个给定的消息,攻击者用验证算法可以采用穷举法来尝试所有的签名,直到找到一个有效的签名为止。因此,只要有足够的时间,攻击者总是可以对任意消息伪造Alice的签名。所以,设计签名方案时就应考虑到这些攻击,针对这些攻击设计计算上安全的签名方案。
2.1 RSA签名方案 设n = pq,其中p和q是大素数。定义K={(n,p,q,a,b)|n=pq},p 和q为素数,ab ≡ 1(mod (n))}。值n 和b为公钥,值p,q和a为私钥。对K={(n,p,q,a,b)},定义:sigk(x) = xa(mod n) verk(x, y) = trie<=>x≡y b(mod n)。Alice 使用RSA 解密函数Dk 为x 消息签名,因为Dk=sigk是保密的,所以只有Alice 能够产生这一签名,而验证算法使用RSA 加密函数Ek。因Ek 是公开的,所以任何知道Ek 的人都能验证该签名。
2.2ElGamal签名方案 ElGamal算法既可用于数字签名又可用于加密,其安全性依赖于计算有限域上离散对数的难度。设P是一个素数,两个随即数g和x,要求g,x可由一组用户共享。假定被加密信息为M,首先选择一个随机数k,k与p-1互质,计算a=)(modpgk,b=)(modpMyk.(a,b)为密文,是明文的两倍长。解密计算M=b/)(modpax。 3.数字签名技术的发展 随着Internet 和电子商务的迅猛发展,数字签名已成为Internet 和电子商务中必不可少的安全处理技术,为了适应特定领域对数字签名的特殊需求,新的数字签名方案不断提出,总的来说,数字签名技术的发展方向主要有以下几个方面:
3.1高效、安全的数字签名算法 这一方向主要通过研究新的数字签名算法,使其拥有更高的运行效率,更好的安全强度,较短的传输长度和简单、易于实现的算法过程。当前,这方面的研究集中在利用椭圆曲线和离散对数等数学理论的公钥加密算法及其签名算法方面。以椭圆曲线上的有理点构成的阿贝尔群为基础建立的椭圆曲线密码体制是一种基于代数曲线的公钥密码体制。它具有“短密钥,高安全性”的特点,这使得与其它密码体制相比,椭圆曲线密码体制在同等安全强度下可以使用长度小得多的密钥及分组长度。与其它密码编码体制相比,椭圆曲线密码体制不是建立在超大整数分解及素域乘法群离散对数问题等数学难题之上,而是建立在更难的椭圆曲线离散对数问题之上,因而椭圆曲线密码体制及相关的数字签名算法引起了人们广泛的兴趣,成为研究的热点。
3.2 收方不可否认数字签名 在普通的数字签名方案中,发送者是不能否认自己曾经发送过的消息,而对接收方却没有任 何约束,这样,就可能存在2 种情况: 1) 接收方已经阅读了消息,事后却否认自己曾接收过该消息;如接收方接收,并阅读到了一条对自己不利的消息,然后,将它销毁,并否认自己曾经接收过该消息。 2) 接收方故意拖延阅读时间,以作出对自己更有利的决定。 为解决这一问题,一般需进行多次密钥交换和通信过程,并引入可信第三方作为仲裁人,记录双方通信的时间和阅读情况,以确定责任归属。
3.3 盲签名 一般情况下,人们总是先知道文件的内容,然后再进行签名。而在某种情况下,用户需要让签 名者对明文消息文件进行数字签名,而又不希望签名者知晓明文消息文件的具体内容,这就需要盲数字签名,简称盲签名(Blind Signature) 。盲签名是一种特殊的数字签名方法,相对于一般的数字签名而言还应当具有下列3 个特性: 1) 签名者不能看到明文消息; 2) 认证者不能看到明文消息,只能通过签名来确认文件的合法性; 3) 无论是签名者,还是认证者,都不能将盲签名与盲消息对应起来; 在上面提到的“收方不可否认数字签名”方案中,也需要由可信第三方对双方的通信进行担保,但又不希望其获知通信的具体内容,这时,就需要用到盲签名。总之,盲签名具有消息内容的保密性以及盲签