当前位置:文档之家› 数字签名实验报告

数字签名实验报告

数字签名实验报告
数字签名实验报告

附件2:

北京理工大学珠海学院实验报告

ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY

实验题目数字签名实验实验时间 2014.4.8

一、实验目的:

(1)掌握数字签名技术的原理;

(2)熟悉密钥的生成及其应用。

二、实验内容以及步骤:

RSA-PKCS签名算法

(一)签名及验证计算

(1)进入实验实施,默认选择即为“RSA-PKCS”标签,显示RSA-PKCS签名实验界面。

(2)选择明文格式,输入明文信息。点击“计算SHA1值”按钮,生成明文信息的散列值。

(3)选择密钥长度,此处以512bit为例,点击“生成密钥对”按钮,生成密钥对和参数。选择“标准方法”标签,在标签下查看生成的密钥对和参数。

(4)标准方法签名及验证

点击“标准方法”标签下的“获得签名值”按钮,获取明文摘要的签名值,签名结果以十六进制显示于相应的文本框内;点击“验证签名”按钮,对签名结果进行验证,并显示验证结果;上述过程如图1.1.8-3所示。

(5)选择“中国剩余定理方法”标签,在标签下查看生成的密钥对和参数。

(6)中国剩余定理方法签名及验证

点击“中国剩余定理方法”标签下的“获得签名值”按钮,获取明文摘要的签名值,签

名结果以十六进制显示于相应的文本框内;点击“验证签名”按钮,对签名结果进行验

证,并显示验证结果。

ELGAMAL签名算法

(1)在“RSA-PKCS”标签下的扩展实验中,点击“ELGAMAL扩展实验”按钮,进入

ELGAMAL签名算法扩展实验窗体。

(2)设置签名系统参数。在文本框“大素数p”内输入一个大的十进制素数(不要超过8

位);然后在文本框“本原元a”内输入一个小于p的十进制正整数,点击“测试”。

(3)注册用户,在“用户名”文本框中输入一个“注册用户列表”中未出现的用户名,如

“alice”,点击“注册”按钮。

(4)在“用户注册”窗口中的文本框“私钥x”中输入一个小于素数p的十进制非负整数,

点击“确定”按钮;然后,点击“计算公钥”按钮,系统会为该用户生成一对公私钥。

(5)点击“密钥登记”按钮,主窗口的“注册用户列表”中就会出现一个新的用户信息,

重复上述过程,产生不少于2个注册用户。

(6)①输入签名消息。在“明文M”文本框中输入一个小于p的十进制非负整数,作为

欲签名的消息;在“随机数k”文本框中输入一个小于p的十进制非负整数,作为共享密钥的初始信息;然后点击“确定”按钮。②签名。点击“签名”按钮,得到该消息的保密签名结果,③发送签名。点击“发送签名”按钮,激活验证签名窗口

(7)确定验证方。在“验证方基本信息”中的“用户名UID”文本框中输入一个已经注册

的用户名,然后点击“获取私钥”按钮,即得到验证方的一些基本信息。

(8)点击“发送确认”按钮,将验证结果通知签名方。

DSA签名算法

(一)签名及验证计算

(1)选择“DSA”标签,进入DSA签名实验界面。

(2)选择明文格式,输入明文信息。

(3)点击“计算SHA1值”按钮,生成明文信息的散列值。

(4)生成参数及密钥

(5)签名及验证

(6)在“算法跟踪”框下点击“生成DSA参数”/“生成DSA密钥”/“获取DSA签名”

/“验证DSA签名”按钮,进入调试器,选择对应的算法函数对DSA参数生成、DSA

密钥生成、DSA签名生成和DSA签名验证进行算法跟踪。

ECC签名算法

椭圆曲线具有在有限域GF(p)和GF(2m)上的两种类型,因此ECC签名算法有两种具体形式,此处以GF(p)为例,GF(2m)可参照完成。

(一)签名及验证计算

(1)选择“ECC”标签,进入ECC签名实验界面。

(2)选择明文格式,输入明文信息。

(3)点击“计算SHA1值”按钮,生成明文信息的散列值。

(4)参数及密钥生成,点击“取得密钥对”,生成椭圆曲线参数和密钥对。

(5)签名及验证,点击“验证签名”按钮,对签名结果r和s进行验证,并显示验证结果。

(二)扩展实验

(1)设置签名系统参数

(2)注册用户

(3)在“主窗口”中,点击“签名”,进入“签名”窗口

(4)确定签名方。

(5)签名运算。

(6)验证签名。

(7)点击“发送确认”按钮,将验证结果通知签名方。

(8)在“算法跟踪”框下点击“取得ECC密钥”/“获得ECC签名”/“验证ECC签名”

按钮,进入调试器,选择对应的算法函数对ECC密钥生成、ECC签名生成、ECC签名验证进行算法跟踪。

三、思考题:

1、数字签名的基本原理

简单地说,就是把附加在数据单元上的一些数据,或是对数据单元所作的密码变换。发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。

数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。”

2、数字签名算法怎么依靠密码学技术来实现的?

在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;普通的数字签名算法包括三种算法:密码生成算法;标记算法;验证算法。

四、实验总结:

通过本次实验,我学到了数字签名的原理、密钥的生成和解密过程,虽然还不是很熟悉,但是以后课后会多加上机练习掌握。实验过程中遇到了一些问题,那就是签名确认的密钥不知道应该怎样去核对,经过询问同学和上网查找资料,初步掌握密钥的生成和解密的过程。实验中需要特别注意各个算法的异同,以后要牢记这些要点。

企业财务系统的身份认证和电子签名解决方案

企业财务系统的CA身份认证和电子签名解决方案 1、用户需求: 总结用户需求如下: ●财务系统需要提升安全级别。财务系统的基本情况如下: ?财务系统的系统结构、操作系统、开发语言等(略) ?三种主要应用功能:预算申请、审批、修正;费用的申报;对财务系统查阅。 ●需要解决单纯的用户名/密码登录的脆弱性问题,确保登录财务系统的身 份的真实性。 ●需要对财务系统的操作、交易实现签名,满足不可抵赖性、事后溯性的 应用需求。 2、解决方案 具体设计方案如下: ●建设数字证书认证服务器,解决服务器和个人用户身份真实性的问题。 具体建设方案如下: ?证书服务器负责证书的日常管理。 ?管理终端完成证书的申请和发放工作。 ?为应用服务器颁发服务器证书,为个人用户颁发个人证书。登录时,实现双向验证,确保应用服务器身份和个人身份的真实性。 ?用户手持USB KEY,带有密码芯片算法的KEY,存储量大于等于32K。 用于私钥存储,确保私钥的安全。 ?采用SQL数据库,用于证书服务器生成证书和CRL的存储 ●建设数字签名中间件,对用户在财务系统中的操作实现数字签名,实现 抗抵赖的功能。具体建设方案如下: ?将数字签名服务器与应用服务器共同部署; ?在IE中部署签名插件; ?用户的操作需要用私钥进行签名; ?服务器端对用户的签名数据进行验签;

?应用数据和签名数据进行分别的存储。 具体部署的拓扑图如下(略) 3、用户收益 采用本方案后用户收益如下: ●通过强身份认证手段的采用,确保所有登录财务系统用户的身份的真实 性 对财务系统的操作、交易实现签名,满足不可抵赖性、事后溯性的应用需求。 ---------------------------------------------------------------------------------------------------------------------- 北京安软天地科技有限公司 专业的应用安全服务提供商,主要提供CA系统、SSL VPN设备,以及身份认证、电子签名、电子印章、文档保护、加密解密等解决方案,在金融、政府、电力、石油石化行业有大规模成熟应用。

实验2 数据加密与数字签名

实验2 数据加密与与数字签名 一、实验目的与要求 体验各种密码体制的数据安全操作与数据安全软件以及了解我国的电子商务法律,并思考应如何做好电子商务的安全防范。 二、实验内容 1.运行C语言编程的加密程序。 2.PGP软件的下载与使用(对邮件以及文件加密)或Openssl软件。 3.非密码的安全技术。 4.各国发展电子商务的政策和制定的电子商务法律。 5.我国第一部电子签名法的内容与实施 三、实验软件 Windows XP ,IE 7 ,PGP软件,Openssl软件 四、实验步骤 (一)数据安全软件的使用 1.下载PGP与安装PGP(见附录) 2.利用PGP对邮件或磁盘文件进行加密 3.或者利用Openssl做如下操作:(用对称加密法对文件进行加密与解密) (1)生成源文件。用记事本创建一个文本文件,文件名为学号 (026h231f.txt),内容为学生的名字与学号,保存在c:\openssl\out32dll 的文件夹下。 (2)对源文件进行对称加密。输入命令:“openssl enc-des3-in 026h231f.txt-out out026h231f.des”回车后,在加密过程中系统会提示输入保护密码,输入密码后,再次确认(输入密码时屏幕无任何显示),系统在c:\openssl\out32dll目录下自动生成一个des3算法加密后的 out026h231f.des文件。 (3)查看加密的文件。输入命令:“type out026h23lf.des”,查看加密后的out026h231f.des文件的内容。

(4)对加密文件进行解密。输入命令“openssl enc-des3-d-in out026h231f.des -out new026h231f.txt”,并根据提示输入解密密码,对“outmane.txt”文件内容进行解码。 (5)比较解密后文件和源文件,输入命令“type new026h23lf.txt”,查看解密后的文件内容,判断是否与源文件026h23lf.txt的内容一致。(二)验证恺撒密码 1、请输入如下程序: #include main() { char c; while((c=getchar())!=’\n’) { if((c>=’a’&&c<=’z’)||(c>=’A’&&c<=’Z’)) { c=c+3; if(c>’z’&&c<=’z’+3||c>’Z’&&c<’Z’+3) c=c-26; } printf(“%c”,c);}} 2、验证是否是素数?的C语言程序 #include Main() { Int m,I,k; Scanf(“%d,&m”); K=aqrt(m); For(i=2;i<=k;i++) If(m%i==0)break;

密码学实验-实验6 DSA数字签名算法

实验报告 一、实验目的 理解DSA算法原理 二、实验内容与设计思想 数字签名是一种以电子形式给消息签名的方法,是只有信息发送方才能进行的签名、信息发送方进行签名后将产生一段任何人都无法伪造的字符串,这段特殊的字符串同时也是对签名真实性的一种证明。电子信息在传输过程中,通过数字签名达到与传统手写签名相同的效果。 数字签名的实现原理简单地说,就是发送方利用hash算法对要传送的信息计算得到一个固定长度的消息摘要值,用发送方的私钥加密此消息的hash值所生成的密文即数字签名;然后将数字签名和消息一同发送给接收方。接收方收到消息和数字签名后,用同样的hash算法对消息进行计算,得到新的hash值,再用发送方的公钥对数字签名解密,将解密后的结果与新的hash值比较,如果相等则说明消息确实来自发送方。 DSA(Digital Signature Algorithm)源于ElGamal和Schnorr签名算法,1991年被美国NIST采纳为数字签名标准DSS(Digital Signature Standard),具体实现过程参见图1。 DSS安全性基于有限域求离散对数的困难性,算法描述如下: 1.密钥生成算法 1)选取160比特长的素数q和L比特长的素数p,满足q|(p?1),其中L≡0(mod 64)且 512≤L≤1024; 2)随机选取正整数h,11;q,p和g作为系统公开参数; 3)每个用户,随机选取正整数x,1≤x≤q?1,计算y=g x mod p;用户的公钥为y,私 钥为x。 2.签名算法 对于消息M,首先随机选取整数k,1≤k≤p?2,计算 r=(g k mod p) mod q s=(H(M)+xr)k?1mod q 则M的签名为(r,s),其中H为Hash函数SHA。 3.验证算法 接收方收到消息M′和签名(r′,s′)后,计算 e1=H(M′)s′?1mod q e2=r′s′?1mod q 验证等式 (g e1y e2mod p) mod q 如果v=r′成立,则说明消息确实来自发送方。

一、数字签名说明

附件2 中债综合业务平台客户端数字签名说明 可信代码数字签名证书可以保证您的软件是完整的、安全的(即可信任的)。为了保障您所下载的中债综合业务平台客户端安装程序未受病毒或木马的侵害,我公司已对安装程序及运行程序启用数字签名证书,并在版本安装和使用时进行明确的提示。(以下以“中债综合业务平台网上客户端”为例说明)。 一、数字签名说明 1.在已下载的安装程序上点击右键,选择“属性”;

2.选择“数字签名”标签,可看到该文件由中央国债登记结算有限责任签名。

3.点击“详细信息”,如软件未被改动,则证书的状态为“此数字签名正常”。 4.点击“查看证书”,可看到证书相关信息。

至此,可确认您下载的安装程序是可信任的,请放心进行安装和使用。 5.如果文件被非法篡改,分为两种情况 第一种:如果是WindowsXP系统,则在文件属性里,“数字签名”一栏仍显示该文件有签名,但详细信息里会提示“该数 字签名无效”,查看证书里会提示“没有验证对象的数字签名”。

第二种:如果是Windows7以上的系统,则在文件属性里看不到“数字签名”一栏. 一旦遇到以上这两种情况,请立即删除安装程序并重新下载,然后重复以上的验证步骤。 二、安装过程及客户端打开过程操作提示 1.Windows系统弹出的用户帐户控制窗口。 在Windows7及以上版本的系统中,如果将控制面板中的“用户帐户控制设置”设定为“始终通知”或“仅在程序尝试对我的计算机进行更改时通知我”,则会在运行安装程序时,弹出操作系统UAC提示对话框,此时点击“是”即可

继续进行安装操作。 2.打开客户端时可能遇到的安全警告。 在启动中债综合业务平台客户端时,如果用户的组策略—用户配置—管理模板—Windows组件—附件管理器中的高风险文件类型的包含列表是开启状态,会弹出安全警告对话框,此时点击“运行”即可继续启动打开客户端程序。

电子商务安全 数字签名实验报告

实验二数字签名 一实验目的 了解数字签名的原理,掌握数字签名的方法,掌握常用的数字签名技术,理解并掌握非对称加密算法的使用。 二实验内容 1 散列函数: 2 数字签名: 3 非对称加密算法的使用 三实验步骤 1 散列函数 (1)任意选择一个文件,分别使用MD5和SHA进行信息摘要实验,比较两种散列算法得到的结果。注意:这里要完成2种情况的实验。 (2)将文件中的内容进行分别进行不同的修改操作:增加、删除、修改,然后再使用两种散列算法进行信息摘要实验,比较两种算法在不同修改操作得到的结果,并进行分析。注意,这里要完成6种实验过程。

经过对内容的修改(即使是很小的改动例如一个标点符号),同种算法中得出的结果完全不相同,由此可见散列算法具有唯一性,从而保证了信息传输的安全性。而且摘要长度大小是一样的,这说明散列算法有定长性。 (3)字符串散列实验:使用自己的姓名和学号当作实验字符串,使用不同的散列算法获得信息摘要,并 2 数字签名实验 (1)选择一个文件,然后生成信息摘要。 (2)使用RAS算法进行数字签名。注意自己的私钥和公钥的保存。 (3)将原始文件和签名得到的文件传递给相邻同学,让其验证你的签名。注意,应告诉对方你的公钥, 四实验总结

2 总结信息摘要的特点,分析比较原始文件和信息摘要的关系。 (1)对于任何大小的数据,单向散列函数产生定长的信息摘要——定长性; (2)对任何不同的信息,通过单项散列函数产生的指纹都不同——唯一性; (3)已知信息摘要,不能通过推理或计算得到相应的数据——单向性。 信息摘要是根据原始文件通过单项散列函数得到的,并且原始文件一经改变,其信息摘要也会改变;而且无法从信息摘要产生相应的文件信息,这是由其单向性决定的。也就是说原始文件是信息摘要的基础,而信息摘要无法推断出原始文件,并且原始文件的改变也会改变信息摘要。 3 查找资料,掌握数字签名的原理和过程,画出数字签名的过程。 数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,授受方用发送方的公开密钥进行解密。这是一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性。在实际过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。下面介绍利用散列函数进行数字签名和验证的文件传输过程: (1)被发送文件用SHA编码加密产生128bit的数字摘要。 (2)发送方用自己的私用密钥对摘要再加密,这就形成了数字签名。 (3)将原文和加密的摘要同时传给对方。 (4)对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要。 (5)将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比。如两者一致,则说明传送过程中信息没有被破坏或篡改过。否则不然。 数字签名的过程如下图:

现代密码学第八讲:数字签名

1 数字签名 《现代密码学》第八讲

2 上章内容回顾 公钥密码体制的提出及分类 公钥密码体制的基本概念 单向陷门函数的概念 设计公钥加密算法--背包密码体制 RSA算法及攻击方法 ElGmal算法 椭圆曲线密码体制

3 本章主要内容 数字签名的基本概念 一般数字签名算法 Z RSA数字签名技术 Z 数字签名标准 Z 基于离散对数的数字签名 Z 椭圆曲线数字签名

4 数字签名的基本概念 手写签名与数字签名的区别 手写签名是一种传统的确认方式,如写信、签订协议、支付确认、批复文件等. 手写签名是所签文件的物理组成部分;数字信息没有固定的物理载 体,如何使数字签名与所签文件捆绑在一起? 手写签名通过与标准签名比较或检查笔迹来验证,受验证人主观影响大;二进制数字信息无法用人眼辨识,但可以使用数学算法来验证数 字签名,不受验证人主观影响。 手写签名不易复制;二进制数字信息,十分容易复制,所以必须防止数字签名重复使用。

5 数字签名和消息认证码的异同: 消息完整性验证、消息源认证. 消息认证的作用是保护通信双方以防第三方的攻击,然而却不能保护通信双方中的一方防止另一方的欺骗或伪造. ①B伪造一个消息并使用与A共享的密钥产生该消息的认证码,然后声称该消息来自于A. ②由于B有可能伪造A发来的消息,所以A就可以 对自己发过的消息予以否认. 数字签名的基本概念

6 数字签名技术则可有效解决这一问题, 类似于手书签名,数字签名应具有以下性质:①能够验证签名产生者的身份,以及产生签名的日期和时间. ②能保证被签消息的内容的完整性. ③数字签名可由第三方公开验证,从而能够解决通信双方的上述争议. 数字签名在网络安全中提供数据完整性、数据源认证性、数据不可否认性等性质 数字签名的基本概念

数字签名课程设计

1.RSA数字签名的目的和意义 RSA公开密钥加密算法自20世纪70年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。 RSA在软件方面的应用,主要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。日常应用中,有比较著名的工具包Open SSL(SSL,Security Socket Layer,是一个安全传输协议,在Internet上进行数据保护和身份确认。Open SSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的Eric Yang 等发起编写的。Open SSL应用RSA实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE浏览器,自然也实现了SSL协议,集成了使用RSA技术的加密功能,结合MD5和SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用RSA技术。 RSA更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台j2ee。事实上,在j2se的标准库中,就为安全和加密服务提供了两组API:JCA和JCE。JCA (Java Cryptography Architecture)提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器;JCA由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是java.security包,此软件包包含的是一组核心的类和接口,Java中数字签名的方法就集中在此软件包中。JCE(Java Cryptography Extension) 在JCA的基础上作了扩展,JCE也是由几个软件包组成,其中最主要的是javax.crypto 包,此软件包提供了JCE加密技术操作API。javax.crypto中的Cipher 类用于具体的加密和解密。在上述软件包的实现中,集成了应用RSA 算法的各种数据加密规范(RSA算法应用规范介绍参见:https://www.doczj.com/doc/559657585.html,/rsalabs/node.asp?id=2146 ,这些API内部支持的算法不仅仅只有RSA,但是RSA是数字签名和证书中最常用的),用户程序可以直接使用java标准库中提供的API进行数字签名和证书的各种操作。 2.数字签名算法的基本框架

基于数字签名技术的成绩管理系统设计与实现

2019.05 1数字签名的概念 数字签名是一种具有密钥的信息加密算法。此密钥 用于确保信息的准确性,通过生成的公钥和私钥来验证信息是否被篡改。它是将哈希加密算法和消息摘要算法相结合。数字签名是一种加密技术,而加密技术是否安全很大程度上取决于密码系统是否安全。以前可以用传统的手写签名来进行数据的加密,但是手写签名存在着被冒名顶替的隐患,在当下的大数据信息时代已经不适用。而公钥加密安全系数高,将生成的唯一的密钥结合加密算法,解决了密钥的管理和使用问题。在保证了信息安全的同时,而且还比其他的加密算法更为方便可靠,所以,公钥加密自然而然实现普及。从公钥加密算法出现以来,数字签名技术也得到飞速发展。 2数字签名技术基础 RSA 数字签名算法的关键实现与RSA 加密算法相 同。密钥的生成、代码签名数字证书和文档签名等使用 的都是RSA 算法。加密过程:(1)通过哈希算法对原数据加密压缩生成摘要,使数据量变小。便于数据的存储。只要信息的一部分发生更改,那么信息摘要值就会随之发生更改,导致与原信息不匹配,从而保证信息的不可更改性; (2)发件人用自己本地的私钥对摘要进 行加密,以形成数字签名,再发送给收件人;(3)接 收方使用发件人发送的公钥解密摘要,并使用接收文本 的散列算法生成摘要;(4)比较这两个摘要,验证数 据是否出错。 3 系统设计 3.1问题分析 基于数字签名的学生成绩管理系统,需要将学生成 绩进行加密,避免了学生的成绩在传输过程中发生篡 改、丢失、出错的问题,如果出错,系统会将错误的消息返回给教师,并提示出错具体原因。保证了教师在上传成绩过程中的安全性和稳定性。教师和学生可以同时登录系统查看成绩。该管理系统不仅加强了对于学生的信息管理,而且使得对于学生信息的管理更加可靠、安全,使得学生的信息传输安全性得了提高。在另一方面不仅提升了教师的工作效率,还促进了学校教务管理的高效运行。3.2实现目标 该系统不仅能够实现教师对学生成绩的在线管理, 在传输的同时还要能对学生成绩进行数字加密,保证传输的安全性、稳定性和可靠性。 (1)教师运行安装加 密程序,生成唯一的一对一的公钥密钥; (2)教师将 加密后的学生成绩打包上传给教务管理人员; (3)教 务管理人员接收到成绩数据包,通过生成的唯一的密钥进行解密,获取学生成绩信息。因此,在传输过程中学生的成绩保证了高度的可靠性和安全性。3.3软件需求 软件的需求分析在软件生存周期中重中之重。因为 前期的需求分析是否完善决定了后期开发工作是否能正常有序的进行。假设最初需求分析不够全面,那么最后 基金项目:江苏省大学生创新创业训练计划平台,项目名称:基于数字签名技术的成绩管理系统的设计与实现,项目编号:201811122035X。 作者简介:王晨建(1997-),男,本科,研究方向:软件工程;王峰(1978-),男,通讯作者,本科,高级实验师,研究方向:计算机应用。收稿日期:2019-02-19 基于数字签名技术的成绩管理系统设计与实现 王晨建,殷杰,王巧玲,李卫星,王峰*,谢胜越 (三江学院计算机科学与工程学院,南京210012) 摘 要:互联网应用技术在飞速发展,高校信息化建设向纵深推进,也因此出现了各种各样的管理学生成绩的系统。但是在互联网给我们带来便捷生活的同时,也带来了相关的网络安全性的问题。在这一背景下,引入电子商务领域的数字签名加密技术来构建基于这一技术的学生成绩管理系统。它在很大程度上解决了信息在传输过程中的可靠性、安全性和信息篡改的问题。关键词: 成绩管理系统;数字签名;信息传输安全;网络安全 85

白话数字签名

白话数字签名(1)——基本原理(新!) 摘要 本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。 由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。 对称加密 何谓加密?加密是一种“把数据搞乱掉”的技术。加密技术涉及到4种东东: 明文:可以被人或程序识别的数据。例如一个文本文件、一段歌词、一个Word文档、一首MP3、一个图片文件、一段视频等等。 加密算法:将数据搞乱掉的方法。 密钥(密码):一个你在进行加密操作时给出的字符串,让加密算法不但把明文“搞乱掉”,而且要乱得“与众不同”。这样即使别人搞到了解密算法,如果没有当初加密时所使用的密码,一样无法进行解密操作。 密文:明文被加密算法和密钥加密后的结果。它看上去就是一堆乱码,没有人或程序能知道它到底表示什么信息。 作为加密的一个实例,我将使用由我杜撰的“景氏替换加密算法”演示一下加密过程。 明文:good good study, day day up. 密钥:google 景氏替换加密算法:将明文中的所有的字母“d”替换成密钥。 密文:将“good good study, day day up.”中的所有字母“d”替换成“google”,就得到密文“googoogle googoogle stugoogley, googleay googleay up.”。这个密文乱得还可以吧?一般人看了肯定不知道它是什么意思。 那么什么是解密呢?解密就是把密文再变回明文的过程。 例如“景氏替换解密算法”就是:将密文中所有与密钥相同的字符串替换成“d”。 密文:googoogle googoogle stugoogley, googleay googleay up. 密钥:google 景氏替换解密算法:将密文中所有与密钥相同的字符串替换成“d”。 明文:将“googoogle googoogle stugoogley, googleay googleay up.”中的所有“google”替换成“d”,就得到了明文“good good study, day day up.”。 您肯定已经注意到了,我们在进行加密和解密时使用的密钥必须是相同的,例如在上例中,加密和解密都必须使用相同的密钥“google”。所以像“景氏替换加密算法”这种就被称为对称加密算法。目前最为流行的对称加密算法是DES和AES,此外,对称加密算法还有IDEA、FEAL、LOKI、Lucifer、RC2、RC4、RC5、Blow fish、GOST、CAST、SAFER、SEAL等。WinRAR的文件加密功能就是使用的AES加密算法。 非对称加密 非对称加密算法是一类与众不同的加密算法,它的密钥不是1个,而是2个(一对),我们先姑且称它们为密钥K1和密钥K2。非对称加密算法的特点是,如果用密钥K1进行加密,则有且仅有密钥K2能进行解密;反之,如果使用密钥K2进行了加密,则有且仅有密钥K1能进行解密。注意“有且仅有”的意思——如果用密钥K1进行了加密,是不能用密钥K1进行解密的;同样,如果用密钥K2进行了加密,也无法用密钥K2进行解密。这是一个非常重要的特性,至于如何在实际中运用这个特性,请看下文。 我想给Clark传送一个AV小电影,又怕被他的老婆发现...... 话说俺得了一个很不错的AV小电影,想通过网络传送给Clark,可是又怕被他的老婆发现(因为Clark 的老婆是一个超级黑客,她可以使用sniffer技术截获任何通过网线传送给Clark的数据。别跟我说用VPN,它超出了本文讨论的范围),怎么办呢?对了,我们需要一个“将数据搞乱掉”的技术——加密技术。我先

发送数字签名和加密邮件 实验报告

一、实验目的 ●了解什么是数字签名与加密 ●掌握用Outlook Express发送签名邮件的方法 ●掌握用Outlook Express 发送加密邮件的方法。 二、实验环境 ●实验室所有机器安装了Windows 操作系统,并附带Outlook Express。 三、实验内容和步骤 1、设置Outlook Express收发QQ邮件 (1)打开OUTLOOK EXSPRESS方法为开始/所有程序/OUTLOOK EXPRESS; (2)申请帐号方法:OUTLOOK EXSPRESS的工具/帐号/添加/邮件/输入显示名/输入你的QQ邮箱地址/设置电子邮件服务器名 https://www.doczj.com/doc/559657585.html, https://www.doczj.com/doc/559657585.html,/输入电子邮件的帐号名称和密码/下一步/完成 2、申请免费数字证书

查看证书: 3、在Outlook Express 设置数字证书 (1)在Outlook Express 中,单击“工具”菜单中的“帐号”(2)选取“邮件”选项卡中用于发送安全邮件的邮件帐号,然后单击“属性”。

(3)选取安全选项卡中的签名标识复选框,然后单击选择按健 (4)在弹出的“选择默认帐户数字标识”窗口中,选择要使用的数字证书,就选择你刚才申请的个人电子邮件保护证书 (5)点击“确定”按钮,完成证书设置。至此,你可以发送带数字签名的邮件。 4、发送签名邮件 发送邮件时从“工具”菜单中选择“签名”,收件人地址栏后面出现“签名”标志。

本次实验我给邮箱为16018733139@https://www.doczj.com/doc/559657585.html, 发送一个签名邮件。 发送成功: 5、发送加密邮件 发送加密邮件前必须正确安装了对方的“电子邮件保护证书”,只要请对方用他的“电子邮件保护证书”给你发送一个签名邮件,证书会自动安装,并与对方Email地址绑定,否则就要手工安装对方“电子邮件保护证书”。 (1)从Outlook Express“工具”菜单中选择“选项”。 (2)鼠标单击“数字标识”按钮。

数据加密实验报告

实验报告 课程:计算机保密_ _ 实验名称:数据的加密与解密_ _ 院系(部):计科院_ _ 专业班级:计科11001班_ _ 学号: 201003647_ _ 实验日期: 2013-4-25_ _ 姓名: _刘雄 _ 报告日期: _2013-5-1 _ 报告评分:教师签字:

一. 实验名称 数据加密与解密 二.运行环境 Windows XP系统 IE浏览器 三.实验目的 熟悉加密解密的处理过程,了解基本的加密解密算法。尝试编制基本的加密解密程序。掌握信息认证技术。 四.实验内容及步骤 1、安装运行常用的加解密软件。 2、掌握加解密软件的实际运用。 *3、编写凯撒密码实现、维吉尼亚表加密等置换和替换加解密程序。 4、掌握信息认证的方法及完整性认证。 (1)安装运行常用的加解密软件,掌握加解密软件的实际运用 任务一:通过安装运行加密解密软件(Apocalypso.exe;RSATool.exe;SWriter.exe等(参见:实验一指导))的实际运用,了解并掌握对称密码体系DES、IDEA、AES等算法,及非对称密码体制RSA等算法实施加密加密的原理及技术。 ?DES:加密解密是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位。 ?BlowFish:算法用来加密64Bit长度的字符串或文件和文件夹加密软件。 ?Gost(Gosudarstvennyi Standard):算法是一种由前苏联设计的类似DES算法的分组密码算法。它是一个64位分组及256位密钥的采用32轮简单迭代型加密算法. ?IDEA:国际数据加密算法:使用128 位密钥提供非常强的安全性; ?Rijndael:是带有可变块长和可变密钥长度的迭代块密码(AES 算法)。块长和密钥长度可以分别指定成128、192 或256 位。 ?MISTY1:它用128位密钥对64位数据进行不确定轮回的加密。文档分为两部分:密钥产生部分和数据随机化部分。 ?Twofish:同Blowfish一样,Twofish使用分组加密机制。它使用任何长度为256比特的单个密钥,对如智能卡的微处理器和嵌入在硬件中运行的软件很有效。它允许使用者调节加密速度,密钥安装时间,和编码大小来平衡性能。 ?Cast-256:AES 算法的一种。 (同学们也可自己下载相应的加解密软件,应用并分析加解密过程) 任务二:下载带MD5验证码的软件(如:https://www.doczj.com/doc/559657585.html,/downloads/installer/下载(MySQL):Windows (x86, 32-bit), MSI Installer 5.6.11、1.5M;MD5码: 20f788b009a7af437ff4abce8fb3a7d1),使用MD5Verify工具对刚下载的软件生成信息摘要,并与原来的MD5码比较以确定所下载软件的完整性。或用两款不同的MD5软件对同一文件提取信息摘要,而后比较是否一致,由此可进行文件的完整性认证。

数字签名技术的实现

软件职业技术学院 课程设计实验报告 课程名称:网络安全 题目:数字签名技术

目录 (一)主要内容 (3) (二)目的和意义 (3) 二、数字签名的概念 (4) (一)数字签名的定义 (4) (二)数字签名的原理 (4) 三、RSA数字签名系统的实现 (6) (一)RSA数字签名所需实现的功能 (6) (二)主要模块流程图 (6) 四、数字签名的前景展望 (9) 结束语 (10) 参考文献 (11)

一、引言 (一)主要内容 数字签名(Digital Signature)技术是非对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。 (二)目的和意义 随着信息技术和计算机网络技术的发展,其应用涉及到政府、军事、文教、商业、金融等诸多领域。如商业经济信息系统、政府机关信息系统、银行业务系统、证券业务系统、科研数据传输等,这些系统都涉及到机密信息的传输与存储。信息时代虽然带给我们无限的商机与方便,但也充斥着隐患与危险。由于网络容易受到攻击,导致机密信息的泄密,轻则引发企业、部门工作陷于瘫痪而造成巨大的经济损失,重则危及国家、军事安全和社会稳定。所以网络信息安全已成为保证国民经济信息化建设健康发展的基础,直接关系到国家的安全,其影响重大。如何保证机密信息不泄漏,鉴别信息来源的真实性,确保信息的完整性和不可抵赖性,就是网络信息安全研究需要解决的问题。网络安全的目标应当满足:身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。数字签名技术是网络安全的重要手段之一,它可以保证信息完整性、鉴别发送者的身份真实性与不可否认性;再运用数字签名本身的基础技术如加密技术可以保证信息机密性;如再运用审计日志的办法,可完成可审查性的功能。数字签名技术是当前网络安全领域的研究热点。数字签名的特性及可防御的网络威胁可以概括为:身份鉴别,可鉴别信源的真实性而防止冒充;数据完整性保护,抵御数据的篡改或重排;不可抵赖性,信源事后不可否认以防止其抵赖;一般还使用加密技术保护信息机密性,以防截听攻击;加入流水号等技术,可防重放攻击。所以,数字签名技术满足网络安全的目标即身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。特别是其身份鉴别、数据完整性和不可抵赖性在电子商务、电子政务等应用领域中有很重要的作用[1]。作为网络安全的关键性技术之一,数字签名在社会生活的各个领域也都具有十分广阔的应用前景。可见,数字签名技术十分具有研究价值,并具有重要的研究意义

代码数字签名

一、概述 数字证书又称为数字标识(Digital Certificate,Digital ID)。它提供了一种在Internet 上进行身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作。通俗地讲,数字证书就是个人或单位在Internet 的身份证。 数字证书主要包括三方面的内容:证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名。 一个标准的X.509 数字证书包含(但不限于)以下内容: 证书的版本信息; 证书的序列号,每个证书都有一个唯一的证书序列号; 证书所使用的签名算法; 证书的发行机构名称(命名规则一般采用X.500 格式)及其私钥的签名; 证书的有效期; 证书使用者的名称及其公钥的信息。 在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,实现: 除发送方和接收方外信息不被其他人窃取; 信息在传输过程中不被篡改; 接收方能够通过数字证书来确认发送方的身份; 发送方对于自己发送的信息不能抵赖。 代码签名证书主要颁发给软件开发商,用户在下栽、使用软件代码时,证书将证明软件代码的来源、完整性等信息,主要功能是让用户知道该软件代码是安全的并且没有被篡改过,用户可以安全地进行下载、使用。本业务支持Microsoft Authenticode Techology、Netscape Object Signing、Ms Office 2000/VBA Macro Signing 等代码签名技术。 二、使用代码签名证书 在获得数字证书之前,您必须向一个合法的认证机构(例如:广东省电子商务认证中心)提交证书申请。您需要填写书面的申请表格(试用型数字证书除外),向认证中心的证书申请审核机构(例如:广东省电子商务认证中心的代理点)提交相关的身份证明材料(如身份证、营业执照副本、组织机构代码证等)以供审核。当您的申请通过审核并且交纳相关的费用后,证书申请审核机构会向您返回证书业务受理号和证书下载密码。您通过这个证书业务受理号及下载密码,就可以到认证机构的网站上下载和安装证书了。 详细的证书申请与安装指南请参考https://www.doczj.com/doc/559657585.html, 上“客户服务区”->“操作指南”->“使用手册”上的相关内容。 以下是微软的代码签名控件的使用说明。详细的操作指南请参考微软提供的代码签名控件的广东省电子商务认证中心证书应用指南(codesign)说明文档。 2.1 利用证书对代码进行签名 2.1.1 第一步:下载微软的控件 在使用代码签名证书对程序员编写的程序代码进行签名之前,请到微软的网站上上下载代码签名的工具。 根据用户不同的环境要求,根据以下链接下载相对应驱动程序:

CA数字签名认证系统技术方案

CA数字签名认证系统技术方案 1. 系统需求 1.1 背景概述 随着计算机网络技术的迅速发展和信息化建设的大力推广,越来越多的传统办公和业务处理模式开始走向电子化和网络化,从而极大地提高了效率、节约了成本。与传统的面对面的手工处理方式相比,基于网络的电子化业务处理系统必须解决以下问题: (1)如何在网络上识别用户的真实身份; (2)如何保证网络上传送的业务数据不被篡改; (3)如何保证网络上传送的业务数据的机密性; (4)如何使网络上的用户行为不可否认; 基于公开密钥算法的数字签名技术和加密技术,为解决上述问题提供了理论依据和技术可行性;同时,《中华人民共和国电子签名法》的颁布和实施为数字签名的使用提供了法律依据,使得数字签名与传统的手工签字和盖章具有了同等的法律效力。 PKI(Public Key Infrastructure)是使用公开密钥密码技术来提供和实施安全服务的基础设施,其中CA(Certificate Authority)系统是PKI体系的核心,主要实现数字证书的发放和密钥管理等功能。 数字证书由权威公正的CA中心签发,是网络用户的身份证明。使用数字证书,结合数字签名、数字信封等密码技术,可以实现对网上用户的身份认证,保障网上信息传送的真实性、完整性、保密性和不可否认性。 数字证书目前已广泛应用于安全电子邮件、网上商城、网上办公、网上签约、网上银行、网上证券、网上税务等行业和业务领域。 1.2 现状与需求概述 现状描述。。。。。。 基于上述现状,******系统需要解决数据的签名问题和法律效力问题,从而提高*****的便捷性和管理效率。鉴于数字证书、数字签名的广泛应用和相关法律的保障,****单位规划建设CA及数字签名认证系统,主要需求如下: (1)建设CA系统或采用第三方CA,为****用户申请数字证书; (2)在现有*****系统中加入对数据的签名功能,存储数据签名并提供对签名的认证功能; 1.3 需求分析 为了解决网上用户的身份证明问题,需要为用户颁发数字证书。数字证书由CA中心签发,目前在实际应用中主要存在两种类型的CA: (1)独立的第三方CA 跨区域的CA,如:中国电信的CTCA、中国人民银行的CFCA; 地域性的CA,如:广东电子商务认证中心CNCA、上海电子商务认证中心SHECA,以及其他各省电子商务认证中心; (2)各类应用系统自己建设的CA 如:招商银行、建设银行等建设的用于服务各自网上银行的CA;海关、税务等建设的服务各自网上报税系统的CA; 这两种类型的CA在实际使用过程中各有优劣,以下将进行分析和比较: 1.3.1 CA建设与使用的分析 采用独立权威的第三方CA与自建CA的比较

单点登录系统(SSO)详细设计说明书

单点登录系统(SSO)详细设计说明书1、引言 编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。 同时,说明书也发挥与策划和设计人员更好地沟通的作用。 背景 a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价; b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。定义 【 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员:用户通过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证, 该会员在一定的时间内,访问任何成员网站都不需要再次登录。 Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间,

数字证书产品介绍和应用举例

数字证书产品介绍和应用举例 广东省数字证书认证中心 二○○三年五月

目录 1信息安全需求 (2) 2实现手段 (2) 3信息的机密性 (3) 3.1加密 (4) 3.2解密 (5) 4信息的完整性 (6) 4.1签名 (6) 4.2验证签名 (7) 5身份认证 (8) 5.1单向认证 (8) 5.2双向认证 (9) 6不可否认 (11) 7主要安全应用流程举例 (14) 7.1证书申请 (14) 7.2安全登录 (16) 7.3发送公文 (17)

1 信息安全需求 n 信息的机密性; n 信息的完整性; n 身份认证; n 不可否认。 2 实现手段 n 加密/解密; n 杂凑算法; n 数字签名。 3 数字证书和数字证书认证中心 数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在Internet上解决"我是谁"的问题,就如同现实中我们每一个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份或具有的某种资格。  数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。  数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制

实验六 电子签章和手写签名实验报告

实验六电子签章和手写签名实验报告 实验六电子签章和手写签名实验指导书 一、WORD文档的加密解密 工具-选项-安全性-设置密码二、126邮箱的邮件发送加密。三、网购安全 /group/thread/ /group/thread/ /group/thread/ /group/thread/ /group/thread/ 四、电子签章 1、详细实验步骤: 在/iSignature/ 下载iSignature电子签章软件和iSignature制作软件及电子印章图样; 进行电子印章安装,并打开文件。按“开始——程序——iSignature电 子签章[教学版]——iSignature签章制作”的步骤进行。 打开“签章管理”选择“签章图片导入”,并在我的电脑里找到“演示洋章图案”选 择“金格科技财务章”,点击打开就出现如下图表 在“持有人”处输入持有人姓名,在“印章名称”处输入“财务章”,并在“印章密码”输入密码并确认并点击“确定”,然后点击关闭

在文件旁的电子签章工具栏里点击“电子签章”,在“签章信息”里 输入密码并点击确定,并把签章移动到单位盖章出即可;然后点击“手写签名”处进行签名即可完成。如图:2电子签章的基本原理: 电子签名(又称数字签名)技术建立在非对称密钥加密和报文摘要两种算法基础上。电子签章的核心技术是数字签名: 数字签名是电子签章的核心技术基础。数字签名的实现基础是加密技术,它使用公钥加密算法与散列函数。常用数字签名算法有:RSA、DSS、ECDSA、ELGamal、Schnorr等;还有一些用于特殊用途的数字签名,如盲签名、群签名、失败-终止签名等。 电子签章的核心技术是基于公开密钥体系的现代密码学。也是数字签名技术的重要应用之一。电子签章存于安全的密码IC卡中,私钥不可导出IC卡。进行电子签章时,根据签章对象不同,需要不同的签章软件支持。电子签章系统将传统的印章、手写签名以数字化的形式技术表现出来,依托于PKI/CA平台,利用数字签名技术保障电子签章及签章所在实体的安全。对于内嵌于办公软件中的电子签章系统来讲,主要的技术难点在于如何保证它不依赖于宿主的安全,能独立控制签章及公文的安全。比如:要保证签章后的公文

相关主题
文本预览
相关文档 最新文档