数字签名原理及实现

摘要:计算机和网络技术的迅猛发展使信息化成为现实的同时,也引入了信息安全问题。数字签名技术在身份认证、数据完整性等方面具有其它技术所无法替代的作用,在信息安全领域得到广泛的应用。本文先介绍了数字签名技术的相关背景,接着系统介绍了数字签名的原理及其相关技术,最后通过数字签名的实现例子使读者能深刻理解其实现原理和过程。

关键词:数字签名;加密技术;认证安全

中***分类号:TP309.7文献标识码:A文章编号:1009-3044(2009)14-3638-03

The Principle and Implement for Digital Signature

LI Sha, ZOU Yong-jun

(Shanxi Radio & TV University, Xi'an 710068, China)

Abstract: The information era has arrived with the quick development of computer and network technologies. Thus, the security problem of information has become the fundamental matter. The digital signatures have many applications in a lot of field for it cannot be substituted by other techniques in information security, including authentication, data integrity, and non-repudiation.

First, this paper introduces the research background of the digital signature. Then it introduces systematically the principle of the digital signature and relevant technology. At last, it demonstrated an simulation to understand the course of the digital signature more profound.

Key words: digital signature; encrypt technologies; certification security

1 引言

一直以来,人们对纸质文件主要是通过手写签名或印章来验证其有效性。但随着IT技术的发展,电子文档将逐步代替纸质的文件成为信息交流的主体。证明某一个电子文件是某作者所作的有效办法是模拟普通的手写签名在电子文档上进行电子签名,作者可以通过数字签名表明目己的身份,读者可以通过数字签名验证作者的身份。

电子邮件是互联网上最重要的应用之一,传统的电子邮件都是明文传输,并且发送方可以轻松地伪造自己的身份。随着电子邮件的应用扩展到各种信息敏感领域,电子邮件的内容保密和发送方身份确认的重要性便逐步凸现出来。数字签名能很好地解决电子邮件的身份确认问题。

电子商务是互联网上发展最快的应用方向,而重要的商务信息具有敏感性和保密性,所以通常的商务信息在传输中要进行加密,同时,为了进一步防止欺骗性的篡改,数字签名是必不可少的。

2 数字签名原理及作用

数字签名是指附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据或变换能使数据单元的接收者确认数据单元的来源和数据的完整性,并保护数据,防止被人进行伪造。签名机制的本质特征是该签名只有通过签名者的私有信息才能产生,也就是说,一个签名者的签名只能唯一地由他自己产生。

数字签名方案由签署算法和验证算法组成,可以用五元组[P,A,K,S,V]表示。其中,P表示一切可能的消息;A表示一切可能的签名集合;K表示有限密钥空间;S表示签名算法;V表示验证算法。

签署流程:对于给定的k,有Sigk∈S,Sigk:P->A,对于任意x∈P,有s=Sigk(x),其中(x,s)发给签名验证者。

验证流程:验证方有验证算法Verk,V满足Verk:P->{真,假};收到(x,s)后计算Verk(x,y),若y=Sigk(x),则Verk(x,y)为真,否则为假。

其中:任意k∈K,Sigk和Verk多项式时间函数;Verk为公开的函数,Sigk为私密函数。

公钥体系加密和数字签名的差异:

1) 公钥加密,发送方用接收方的公钥进行信息加密;接收方用其私钥进行信息解密;

2) 数字签名:发送方用其私钥对信息进行加密;接收方用发送方的公钥进行信息解密,从而确认信息的发送者身份。

数字签名提供了一种安全的保障数据完整性和真实性的机制,可以检验数据从数据源到目的地的传输过程中是否被篡改以及数据的真实来源。因此,它能够下面的问题:

1) 身份认证:收方通过发送方的数字签名确认发送方的身份;

2) 保密性:保证信息不被第三方知晓;

3) 完整性:保证信息无法被篡改;

4) 不可抵赖:签发人一旦签发,就不能再否认。

3 签名算法

由于公钥体系受计算速度的制约,直接使用公钥体制对大文件进行数字签名是不可行的,通常的办法是引入摘要函数(如Hash函数、散列函数),下面对几种常用数字签名算法进行论述并比较。

1) RSA数字签名算法

产生签名与验证参数:

a) 签名人A选择两个大素数p、q,计算n=pq及fi(n)=(p-1)(q-1);

b) 寻找e、d属于Zn使满足(e,fi(n)=1及ed=1(mod fi(n));

c) 公开验证参数{n,e}, A保存{p,q,d,fi(n)}作为秘密的签名参数;

d) 选用一通用的散列函数h( )。

签名算法:

a) A将需签名的文件m(含接收人、内容、签名人、日期等)编码后映射成h(m);

b) 计算c1=(h(m))的d次方 mod p, c2=(h(m))的d次方mod q及签名Sa(m)=(c1q1q+c2p1p) mod n,其中q1q=1 mod p,p1p=1 mod q;

c) 将{m, Sa(m)}发送至文件接收人B或仲裁人T(A、 B、T的含义下同)。

验证算法:

B(或T)检验(Sa(m))的e次方=h(m) mod n是否成立,若成立则接收此文件及签名,否则拒绝接收或宣布无效。

2) Rabin数字签名算法

产生签名与验证参数:

a) A选择两个大素数p、q,并计算n=pq;

b) 公开验证参数n,A保存{p,q}作为秘密的签名参数;

c) 选用一通用的散列函数h()。

签名算法:

a) A将需签名的文件m编码后映射成h(m),选取a=bh(m)使满足(a/p)=(b/q)=1, b属于{1,-1,2,-2},其中(/)为Legendre符号;

b) 计算c1=+a的(p+1)/4次方mod p,c2=+a的(q+1)/4次方mod q及签名Sa(m)=(c1q1q+c2p1p) mod n。其中c1、c2固定一种取法,p1、p2满足q1q=1 mod p,p1p= 1 mod q;

c) 将{m,Sa(m),b}发送至B或T。

验证算法:

B(或T)检验(Sa(m))的二次方=bh(m) mod n是否成立,若成立则接收此文件及签名,否则拒绝接收或宣布无效。

3) DSS数字签名算法

产生签名与验证参数:

a) A选择一个大素数p, p-1应具有大素数因子q,选择一个g属于Zp使g的次数为q,选择一个x属于Zp,并计算y=g的x次方mod p;

b) 公开验证参数{p,q,g,y), A保存{x}作为秘密的签名参数;

c) 选用一通用的散列函数h()。

签名算法:

a) A将需签名的文件m编码后映射成h(m),任意选择k属于Zp,计算k的-1次方使k的-1次方k=1 mod q;

b) 计算r=(g的k次方mod p) mod q及s=k的-1次方(h(m)+xr) mod q;

c) 将{m,r,s)发送至B或T。

验证算法:

a) B(或T)先计算u=h(m)s的-1次方 mod q及v=rs的-1 次方mod q;

b) 检验(g的u次方y的v次方mod p) mod q=r是否成立,若成立则接收此文件及签名,否则拒绝接收或宣布无效。

4 数字签名的实现

利用微软的数字签名工具可以实现测试版本的数字签名,对正式对外颁发的软件进行数字签名首先要向证书颁发机构提出请求并获得软件发行证书。为此,必须生成一个密匙对并向证书颁发机构提供标识信息(如名字、地址和公匙),同时还必须作出在法律上具有约束力的保证,保证不能也不会分发含有病毒或将以其他方式恶意损害用户的计算机或代码的软件。

在命令行模式下,微软数字签名工具使用方法如下:

1) 创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。

输入命令 “makecert -sv Test.pvk -n "CN=Tester" -ss My -r -b 01/01/1900 -e 01/01/9999”

其中:

-sv Test.pvk私匙文件名 Test.pvk;

-n "CN= Tester "其中的" Tester "就是签名中显示的证书所有人的名字;

-ss My指定生成后的证书保存在个人证书中;

-r证书是自己颁发给自己的;

-b/-e 证书的有效期,格式为 月/日/年,最低为1900年;

2) 创建发行者证书 (SPC)

输入命令:“cert2spc c:test.cer c:test.spc”,在C:盘生成证书文件

发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。

3) 对文件进行签名

输入命令:“signcode /spc c:test.spc /k TEST c:Test.exe”,已经成功对Test.exe文件签名。可以通过文件的属性查看数字签名。

5 结束语

本文首先简要介绍了数字签名的原理、过程及相关技术,在此基础上介绍了微软数字签名工具的使用并实现签名系统。随着Internet技术和安全技术的发展和完善,数字签名作为信息安全的一项重要技术将得到越来越广泛的应用。

参考文献:

[1] 张先红.数字签名原理及技术[M].北京:机械工业出版社,2004.

[2] 王尚平,王育民,张亚玲,等.基于DSA及RSA的证实数字签名方案[J].软件学报,2003,14(3):588.

[3] Stallings W.密码编码学与网络安全:原理与实践[M].3版.北京:电子工业出版社,2004.

[4] Atreya M.数字签名[M].贺***,译.北京:清华大学出版社,2003.

数字签名原理及实现

转载请注明出处学文网 » 数字签名原理及实现

学习

《我为出嫁狂》爱没那么简单

阅读(23)

《我为出嫁狂》讲述了在繁华浮躁的都市生活中,已过适婚年龄的白领丽人们在强大的社会压力之下,仍坚持内心纯爱的追求,并由此引发了一连串令人忍俊不禁却又忍不住热泪盈眶的故事。剧中的女主人公夏天是一名电视台编导――事业成功却婚姻挫败

学习

硅片清洗原理与方法综述

阅读(30)

本文为您介绍硅片清洗原理与方法综述,内容包括硅片清洗机工作原理,硅片清洗研究现状。【摘要】文中首先就硅片清洗原理的硅片的表面状态与洁净度问题和吸附理论进行了探讨,在硅片清洗的常用方法与技术中分析了湿法化学清洗、干法清洗技术

学习

闻香识女人

阅读(23)

本文为您介绍闻香识女人,内容包括闻香识女人全文免费阅读,闻香识女人全文阅读林小兰。偏执的少年迷恋上了少女的气味,只是气味,每一次与不同气味的邂逅都让他将独特气味占为己有的想法更为强烈,于是,以少女的绝妙体香为基底,含苞待放的芬芳为

学习

“最后一个流氓”遭遇中的法意与人情

阅读(101)

牛玉强是否会被顺延刑期至2020年,他的牢狱生涯能否提早结束?法意与人情不仅是天平的两端,其实,更大的平衡来自于法意与人情背后的司法完善与人情通达。毕竟,法律的核心是教人向善,而不是以利剑穿心。王彦志吉林大学法学院副教授牛玉强遭遇中的

学习

女孩不哭 第1期

阅读(29)

一女孩不哭,女孩从来不哭。这是周围的人对女孩的评价。真的,女孩不哭。每当朝霞满天,迎着那红艳艳的太阳,女孩灿烂的笑脸上总是写满坚毅自信;每当风轻雨疏,对着空中飘落的雨丝,女孩纯净的目光中总是闪烁着甜甜的笑意;每当云淡天高,空中掠过独飞的

学习

鼓浪屿钢琴博物馆

阅读(21)

本文为您介绍鼓浪屿钢琴博物馆,内容包括厦门鼓浪屿钢琴博物馆,鼓浪屿钢琴博物馆有何特别之处。一座钢琴码头,一间音乐厅,一座钢琴博物馆,一所音乐学校,一个交响乐团,一个业余合唱团,100多户音乐世家……鼓浪屿仿佛是一个世袭贵族,随处都能捕捉

学习

把权力关进制度的笼子里

阅读(24)

本文为您介绍把权力关进制度的笼子里,内容包括把权力关进制度的笼子里原文,把权力关进制度笼子让权力运行。最近,强调指出,“把权力关进制度的笼子里”。这句话很形象、也很耐人寻味,理解其中的深刻含义:权力必须在法律法规的框架内行使,权力

学习

工作计划怎么写及写作技巧

阅读(22)

本文为您介绍工作计划怎么写及写作技巧,内容包括工作计划与写作技巧及范文,工作计划写作技巧答案。工作计划就是,机关、团体、企事业单位或者是个人,对一定时期的工作预先作出安排和打算时,所制定的下一步工作或想法,工作计划实际上有许多不

学习

开源ERP系统

阅读(108)

本文为您介绍开源ERP系统,内容包括erp开源平台排名,erp开源软件有哪些。OpenERP是一个轻量级的开源企业ERP系统,非常适合中小型企业使用。可能不了解开源企业管理系统的读者对它的名字感到陌生,其实它的前身就是比较著名的“TinyERP”项目

学习

浅论刑罚目的

阅读(18)

本文为您介绍浅论刑罚目的,内容包括浅论影响刑罚预防效果因素,浅论刑罚法定原则在司法中的应用。论文关键词:刑罚目的刑罚本质预防报应论文提要:我国的许多学者在讨论刑罚目的的时候,把“报应论”和“预防论”作为刑罚目的的两大流派进行论

学习

儿歌三百首

阅读(31)

本文为您介绍儿歌三百首,内容包括儿歌三百首全文阅读,经典儿歌三百首。当陈玄奘摆开家伙什对着沙僧唱《儿歌三百首》的时候,那场景让人忍俊不禁。可当他的《儿歌三百首》被撕孙悟空得粉碎,最后被段小姐粘好变成《大日如来真经》的时候,让人

学习

命令与征服Ⅲ凯恩之怒

阅读(35)

本文为您介绍命令与征服Ⅲ凯恩之怒,内容包括命令与征服3凯恩之怒任务,命令与征服凯恩之怒完整版。更开阔的战场,更庞大的单位,更大牌的明星,当这股酣畅宏大的战争气势如同压境台风般呼啸而过时,足以打动每一位置身其中的玩家。而“导演”这

学习

哈德逊河上的奇迹

阅读(26)

本文为您介绍哈德逊河上的奇迹,内容包括哈德逊河上的奇迹,被誉为哈德逊河奇迹的传奇机长。悲剧和奇迹的诞生,也许并不像我们想象的那样只能听任命运的摆布。只要我们时刻铭记自己的责任,就能创造哈德逊河上的奇迹。这是发生在全球金融危机

学习

海盗猎手 第7期

阅读(22)

本文为您介绍海盗猎手 第7期,内容包括盗贼之海被遗忘的猎手,海盗猎手电影解说。索马里海盗的猖狂活动,使许多国家开始要求联合打击这些海面上的匪帮。其实,对海盗的打击围剿从来就没有停止。袭击发生在拂晓时分。2006年1月,“三角洲漫游者

学习

硅片清洗原理与方法综述

阅读(30)

本文为您介绍硅片清洗原理与方法综述,内容包括硅片清洗机工作原理,硅片清洗研究现状。【摘要】文中首先就硅片清洗原理的硅片的表面状态与洁净度问题和吸附理论进行了探讨,在硅片清洗的常用方法与技术中分析了湿法化学清洗、干法清洗技术

学习

搜索引擎工作原理

阅读(21)

本文为您介绍搜索引擎工作原理,内容包括全文搜索引擎的工作原理,各大搜索引擎排名原理。■全文搜寻引擎在搜寻引擎分类部份咱们提到过全文搜寻引擎从网站提守信息树立网页数据库的概念。搜寻引擎的自动信息收集功能分两种。1种是按期搜

学习

变频空调器的变频原理

阅读(18)

本文为您介绍变频空调器的变频原理,内容包括上变频和下变频原理,变频洗衣机变频板原理。空调器的变频技术是通过变频器改变压缩机的供电频率或电压,改变压缩机的运转转速,从而改变空调器制冷(热)量的一种高效节能的技术。变频空调器的核心是

学习

浅谈变频器原理

阅读(23)

本文为您介绍浅谈变频器原理,内容包括变频器的作用及原理,变频器原理教程。[摘要]交流变频调速技术发展概况纵观电力传动的发展过程,交、直流两种传动方式共存于各个生产领域,由于直流调速系统的性能指标优于交流调速系统,因此直流调速系统

学习

质量流量计的基本原理及常见故障分析

阅读(30)

本文为您介绍质量流量计的基本原理及常见故障分析,内容包括u型质量流量计工作原理,科氏质量流量计原理。质量流量计因其在测量介质的质量流量方面,有着准确、快速、可靠、高效、稳定以及灵活的优势,使得质量流量计的应用范围越来越广泛,尤

学习

果园常用涂白剂原理与应用

阅读(23)

本文为您介绍果园常用涂白剂原理与应用,内容包括果园果树涂白剂的用法,果园涂白剂的配方。树体涂白是果园中较为传统和有效的一种技术管理方法,冬季对果树树干进行涂白,有利于抗寒保暖和杀灭病虫。现将其主要原理与应用介绍如下:1涂白剂的

学习

光纤直放站的原理及应用

阅读(26)

本文为您介绍光纤直放站的原理及应用,内容包括光纤直放站的组成和主要作用,数字光纤直放站的特点。本文介绍了光纤直放站的工作原理、传输方式、使用特点、应用及原则。关键词:光纤直放站;原理;应用Abstract:Thispaperintroducesworkprin

学习

域管理要点及实现流程

阅读(24)

本文为您介绍域管理要点及实现流程,内容包括域管理常用命令,域的管理方式。[编者按]本刊在2009年2~3月份合刊上刊登了蒋勇先生的《用域管理实现交互业务的灵活运营》一文,收到不少读者的反馈,希望详细了解域管理在实际应用中需要关注的要点