当前位置:文档之家› 数字签名算法原理

数字签名算法原理

数字签名算法原理
数字签名算法原理

实验1-5 数字签名算法 DSS

一.实验目的

通过对数字签名算法DSS的实际操作,理解DSS的基本工作原理。

二.实验原理

以往的文件或书信可以通过亲笔签名来证明其真实性,而通过计算机网络传输的信息则通过数字签名技术实现其真实性的验证。

数字签名目前采用较多的是非对称加密技术,其实现原理简单的说,就是由发送方利用哈希算法对要传送的信息计算得到一个固定位数的消息摘要值,用发送者的私有密钥加密此消息的哈希值所产生的密文即数字签名。然后数字签名和消息一同发给接收方。接收方收到消息和数字签名后,用同样的哈希算法对消息进行计算得出新的哈希值,然后用发送者的公开密钥对数字签名解密,将解密后的结果与新的哈希值相比较,如相等则说明报文确实来自发送方。

下面我们以DSA(Digital Signature Algorithm)为例,介绍数字签名算法。DSA源于ElGamal和Schnorr签名算法,被美国NIST采纳作为DSS(Digital Signature Standard)数字签名标准。DSS数字签名算法的具体实现过程课参见图1-5。

比较

a 签名过程

b 验证过程

图1-5 DSS算法的实现过程

首先介绍DSS算法的主要参数:

1. 全局公开密钥分量

 1)素数p, 2511

 2)q是(p-1)的一个素因子, 2159

 3)g=h(p-1)/q mod p, 其中h是一整数,1

2. 私钥

 私钥x是随机或伪随机整数, 其中0

3.公钥

y=g x mod p,(p,q,g,y)为公钥;

4.用户的随机选择数

 为随机或伪随机整数, 其中0

k

基于以上参数,DSS的签名过程如下:

 k mod p)mod q

r=(g

 -1(H(M)+xr)] mod q

s=[k

 则形成了对信息M的数字签名(r,s),数字签名和信息M一同发送给接收方。

接收方接收到信息M’和数字签名(r’,s’)后,对数字签名的验证过程如下:

 -1 mod q

w=(s’)

 

u1=[H(M’)w] mod q, u2=( r’) w mod q

 u1 y u2)mod p] mod q

v=[(g

如果 v= r’,则说明信息确实来自发送方。

三.实验环境:

运行windows或linux操作系统的PC机,具有gcc(linux)、VC(windows)等C语言编译环境。

四.实验内容和步骤

在光盘中给出了一个可运行的DSA对话框程序。运行这个程序,对一段文字进行签名和验证,了解DSA算法的签名和验证过程。

五.实验报告要求

1.在光盘中附加的密码算法库中也有DSA的内容,找出相关部分,自己写一段基于标准输入输出的程序,要求可以对一段指定的字符进行签名和验证。

2.多种非对称加密算法都可以用来设计签名算法。查阅相关资料,列出现有的签名算法,并对其进行比较。

RSA数字签名算法的模拟实现

RSA数字签名算法的模拟实现 摘要 本程序为简易版RSA算法加密解密过程的模拟实现。 程序分为加密和验证两部分。根据课上所学的MD5加密过程,以及RSA算法,本程序采用MD5算法,先对文件内容进行加密,得到文字摘要;再利用RSA算法的私钥,对文字摘要进行加密,得到数字签名。在验证部分,用RSA公钥对数字证书签名解密,得到文字摘要S1,再将需要验证的文档用公用的MD5算法处理,得到文字摘要S2,检验文字摘要S1与S2的一致性,从而断定原文是否被篡改。程序采用树形图对文件进行直观的显示管理。采用文本文档存储数字签名。 关键词:RSA MD5 文字摘要数字签名

Abstract This program is simple version of the RSA algorithm encryption and decryption process simulation. The procedures are divided into two parts, encryption and authentication. Lessons learned based on the MD5 encryption process, as well as RSA algorithm, the procedures used MD5 algorithm, first pairs contents of the file carry on encrypt, to obtain text abstract; re-use RSA algorithm's private key, encryption for text abstract, obtain the digital signature. In the verification part, with the RSA algorithm's public key pairs of digital certificate signature decryption, get text abstract S1, and then using a public MD5 algorithm encryption the document which need to be verify, to obtain text abstract S2, text the consistency of S1 and S2, thereby conclude that original text whether the been tampered with. Program uses the file tree intuitively display management the files. Adopt text document storage digital signatures. Key words:RSA MD5 Text abstract Digital signature

密码学实验-实验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′成立,则说明消息确实来自发送方。

数字签名算法原理

实验1-5 数字签名算法 DSS 一.实验目的 通过对数字签名算法DSS的实际操作,理解DSS的基本工作原理。 二.实验原理 以往的文件或书信可以通过亲笔签名来证明其真实性,而通过计算机网络传输的信息则通过数字签名技术实现其真实性的验证。 数字签名目前采用较多的是非对称加密技术,其实现原理简单的说,就是由发送方利用哈希算法对要传送的信息计算得到一个固定位数的消息摘要值,用发送者的私有密钥加密此消息的哈希值所产生的密文即数字签名。然后数字签名和消息一同发给接收方。接收方收到消息和数字签名后,用同样的哈希算法对消息进行计算得出新的哈希值,然后用发送者的公开密钥对数字签名解密,将解密后的结果与新的哈希值相比较,如相等则说明报文确实来自发送方。 下面我们以DSA(Digital Signature Algorithm)为例,介绍数字签名算法。DSA源于ElGamal和Schnorr签名算法,被美国NIST采纳作为DSS(Digital Signature Standard)数字签名标准。DSS数字签名算法的具体实现过程课参见图1-5。 比较 a 签名过程 b 验证过程 图1-5 DSS算法的实现过程 首先介绍DSS算法的主要参数: 1. 全局公开密钥分量  1)素数p, 2511

数字签名技术的基本原理以及现实功能

数字签名技术的基本原理以及现实功能 在计算机迅速普及的同时,网上信息安全越来越受到人们的重视,为了保障使用者信息的安全,多种多样的加密技术、访问控制技术以及身份认证技术不断更新。在实践中发展出来的具有强大优越性的数字签名技术,成为了解决网络资源信息安全问题的有效手段。 数字签名技术的基本原理是改变过去通过书写签名或者印章的形式,提高身份验证的准确性以及保证对象的安全性。数字签名技术主要是通过一系列复杂、特殊的加密算法,产生一系列由数字、字母及符号组成的电子密码。这种复杂多样化的电子密码具有过去传统加密方法无法比拟的优越性,并且在此基础上进行的技术验证更加能够全方位地确保网络信息以及数据的安全性。 数字签名技术以规范化、科学化的计算机技术为基础,能够准确地识别签名人的身份,并且对于其应有的权限进行自动认可。除此之外,数字签名技术还能够对文件进行检验,对文件在传输过程中可能出现的变动都会进行自动扫描,保证文件的安全性、真实性与准确性。数字签名在保护计算机网络数据以及资源方面发挥了重大的作用,能够有效地防止受到保护的资源被修改、泄漏以及窃取,还可以对收到的信息进行身份确认,最大限度地保障使用者的信息安全性。

数字签名技术与信息加密技术存在一定的相似性,是在以公匙法体系的基础之上建立的,但是创建数字签名还需要用户运用私匙进行加密,增强其安全性。用户在发送、传输信息的时候,需要附带经过加密技术处理的特殊信息,也就是为将要传输的信息署名。在计算机网络开放性不断增强的当今时代,网络资源以及信息的安全很容易受到来自外界各种因素的影响,因此数字签名技术的发展呈现出了强劲的势头。数字签名技术被广泛地应用于电子商务、网络通信等社会生活的各个方面,Hash签名算法、DSS/DSA签名算法以及PSA签名算法得到了广泛的应用。 数字签名完成对信息识别辨认的过程,是解决网络通信特有的安全问题的方法,特别是对于保障军事网络通信的安全,在保证数据真实完整方面发挥着重大的作用。当然,数字签名在军事网络通信中的应用也需要遵循一定的条件以及运行原则。军事网络通信中的数字签名技术应用要求,经过数字签名已经发送或者传输的资料、信息以及数据,签名者不可以否认,这是数字签名技术实际应用中最基本的原则,这是对文件以及信息接收者基本权利的保障,保障其收到的资料以及信息的准确性,一旦出现问题,接收方可以按照数字签名和发出方协商。另外一方面,对于接收者来说,对于接收到的文件或者数据信息,只能单方面地确认或者证实,但是没有否认该资料的权利。对于信息传递过程中的第三方来说,只能够作为数据信息传输的渠道或者方式,而不能够对信息本身产生影响,更不能伪造这一过程。当信

RSA算法和RSA数字签名算法的实现

RSA算法和RSA数字签名算法的实现

RSA算法和RSA数字签名算法的实现 摘要 RSA算法是一种公钥密码算法.实现RSA算法包括生成RSA密钥, 用RSA加密规则和解密规则处理数据。RSA数字签名算法利用RSA算法实现数字签名。本文详述了RSA算法的基本原理, RSA加密算法的实现以及如何利用RSA实现数字签名. 关键字 RSA算法, 数字签名, 公开密钥, 私人密钥, 加密, 解密 中图分类号 TP301 一、引言 随着网络技术的飞速发展,信息安全性已成为亟待解决的问题。公钥密码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起保密通信,较好地解决了传统密码体制在网络通信中出现的问题。另外,随着电子商务的发展,网络上资金的电子交换日益频繁,如何防止信息的伪造和欺骗也成为非常重要的问题。数字签名可以起到身份认证、核准数据完整性的作用。目前关于数字签名的研究主要集中基于公钥密码体制的数字签名。 公钥密码体制的特点是:为每个用户产生一对密钥(PK和SK);PK公开,SK保密;从PK推出SK是很困难的;A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息。加密后的信息可通过任何不安全信道发送。B收到密文信息后,用自己私钥解密恢复出明文。 公钥密码体制已成为确保信息的安全性的关键技术。RSA公钥密码体制到目前为止还是一种认可为安全的体制。本文详述了RSA算法和用RSA算法实现数字签名的理论,以及它们在实际应用中的实现。 二、RSA算法和RSA数字签名算法的理论描述 1 RSA算法 RSA算法的理论基础是一种特殊的可逆模幂运算。 设n是两个不同奇素数p和q的积,即:n=pq, ?(n)=(p-1)(q-1)。 定义密钥空间 k={(n,p,q,d,e)|n=pq,p和q是素数,de≡1 mod ?(n),e 为随机整数}, 对每一个k=(n,p,q,d,e), 定义加密变换为E k(x)=x b mod n,x∈Z n; 解密变换为D k(x)=y a mod n,y∈Z n,Z n为整数集合。 公开n和b,保密p,q和a. 为证明加密变换E k和解密变换 D k满足D k(E k(x))=x,这里不加证明的引用下面两个定理: 定理1(Euler)对任意的a∈Z n *,有a?(n)≡1 mod n,其中 Z n *={x∈Z n |gcd(x,n)=1},?(·)表示Euler函数。 定理2 设p和q是两个不同的素数,n=pq, ?(n)=(p-1)(q-1),对任意的x∈Z n 及任意的非负整数k,有 x k?(n)+1≡x mod n. 现在来证明RSA算法的加密变换和解密变换的正确性。 证明:对于加密变换E k和解密变换D k。因为ab≡1 mod ?(n),所以可设

信息安全之电子签名技术的实现

滨江学院 课程论文 题目数字签名的发展 院系计算机系 专业软件工程(动画方向)学生姓名陈婷 学号20092358009 指导教师朱节中 职称副教授 二O一二年五月二十日

数字签名的发展 陈婷 南京信息工程大学滨江学院软件工程(动画方向),南京210044 摘要: 数字签名是电子商务安全的一个非常重要的分支。随着电子商务的发展,电子签名的使用越来越多。实现电子签名的技术手段有很多种,但比较成熟的、世界先进国家目前普遍使用的电子签名技术还是基于PKI的数字签名技术。 关键词: 数字签名信息安全电子商务 1引言 1.1 研究背景 在当今信息社会,计算机网络技术得到了突飞猛进的发展。计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。在现实生活中,人们常常需要进行身份鉴别、数据完整性认证和抗否认。身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权的泄漏、篡改和破坏等都是亟待解决的问题。在Internet上,数字签名作为一项重要的安全技术,在保证数据的保密性、完整性、可用性、真实性和可控性方面起着极为重要的作用。同时由于信息技术的发展及其在商业、金融、法律等部门的普及, 数字签名技术又面临着新的挑战。 1.2 开发意义 数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功 能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要 的应用价值。 2相关技术介绍 2.1PKI/CA 技术的介绍 PKI 就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。公开密钥技术也就是利用非对称算法的技术。说PKI 是基础设施,就意味着它对信息网络的重要。PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、

数字签名的制作方法整理-10页word资料

1。用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给6个月) 2。用JARSigner用此密匙为JAR签名。 可以用同一个密匙来为多个JAR签名。 注意:大小写,签名一致,数字签名过期 为什么JAR要被签名?当用户启动一个Java Network Launching Protocol (JNLP,Java网络加载协议)文件或使用一个applet时,这个JNLP或applet可能请求系统提供一些非一般的访问。比如“文件打开”等进行这样的请求,就需要签名的JAR。 如果它是匿名的,系统会询问用户是否打算信任JAR的签署者。 1.首先生成签名文件,执行完成后,会在本目录内生成一个.keystore的密钥文件,2kByte大小。 yourProj是别名keypass后面是密文密码,keystore密码是存储密码(要改变此文时需要输入确认此密码) 在dos命令提示状态下输入 C:\Documents and Settings\Administrator>keytool -genkey -alias yourProj -keypass yourCompany:Kouling [回车],屏幕提示: 输入keystore密码:yourCompany:yourPassword 您的名字与姓氏是什么? [Unknown]:ChinayourCompany 您的组织单位名称是什么? [Unknown]:ChinayourCompany 您的组织名称是什么? [Unknown]:Company 您所在的城市或区域名称是什么? [Unknown]:City 您所在的州或省份名称是什么? [Unknown]:Province 该单位的两字母国家代码是什么 [Unknown]:CN CN=ChinayourCompany, OU=ChinayourCompany, O=Company, L=City, ST=Province, C=CN 正确吗? [否]:Y 2.为此密钥加有效期限:7200天,将近20年. [嘿嘿,足够用了吧?再也别想6个月] 输入命令: C:\Documents and Settings\Administrator>keytool -genkey -alias yourProj -keypass yourCompany:Kouling -selfcert -validity 7200 屏幕提示: 输入keystore密码:yourCompany:yourPassword 注意:-validity 7200 这个就是加时效的参数,7200单位是“天”。 检查密钥文件,输入命令: C:\Documents and Settings\Administrator>keytool -list 屏幕提示: 输入keystore密码:yourCompany:yourPassword Keystore 类型:jks

数字签名的基本原理

1、数字签名的基本原理 数字签名主要经过以下几个过程: 信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要;信息发送者使用自己的私钥签名信息摘要; 信息发送者把信息本身和已签名的信息摘要一起发送出去;信息接收者通过使用与信息发送者使用的同一个单向散列函数(HASH函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。 2、网络银行对客户应负有哪些义务 提供网上形式的传统银行业务,包括银行及相关金融信息的发布、客户的咨询投诉、账户的查询勾兑、申请和挂失以及在线缴费和转账功能。 电子商务相关业务,既包括商户对客户模式下的购物、订票、证券买卖等零售业务,也包括商户对商户模式下的网上采购等批发业务的网上结算。 新的金融创新业务,比如集团客户通过网上银行查询子公司的账户余额和交易信息,再签订多边协议。 此外还有24小时实时安全监控、身份识别和CA认证、网络安全等义务。 3、中介服务提供者DSP义务。 审查义务;监管义务;取证义务。

4、. 数据电文解决方案 (一)数据电文在证据上的可采纳性问题...... (二)数据电文的证据力...... 5、电子商务隐私权涉及哪些 1、私人生活秘密权 2、通讯自由权 3、空间隐私权 4、生活安宁权 一、概念解释(每题4分,共20分) 1.为满足客户需要的服务水准,对从供应商、制造商、分销商、零售商,直到最终用户间的整个渠道进行整体管理和优化。 (回答出目的得2分,回答出整体管理和优化得2分) 2. 电子商务是以电子为手段,以商务为主体,将原来传统销售购物渠道移到互联网上,打破国家,地区有形无形的壁垒,使生产企业达到全球化,网络化,无形化,个性化。是一种依托现代信息技术和网络技术,集金融电子化,管理信息化,商贸信息网络化为一体,旨在实现物流,资金流与信息流和偕统一的新型贸易方式。(回答出电子为手段得2分,回答出商务为主体得2分) 4.第三方物流,英文表达为Third-Party Logistics,简称3PL,也简称TPL,是指生产经营企业为集中精力搞好主业,把原来属于自己处理的物流活动,以合同方式委托给专业物流服务企业,同时通过信息系统与物流企业保持密切联系,以达到对物流全程管理的控制的一

实验三DSA数字签名算法

实验三DSA数字签名算法 姓名: 学号: 学院:信息工程学院 指导老师:郑明辉

1.DSA算法原理 数字签名是数据在公开行信道中传输的安全保障,能够实现数据的公开、公正、不可抵赖等特点的方法,只能公开的密钥、密码签名算法。国际供认的公开密钥签字算法主要有RSA算法、ElGAMAL算法或者其变形的签名算法。 DSA(Digite Signature Arithmotic )是Schnore和ElGamal算法的变型。 美国国家标准技术研究所(NIST)1994年5月19日公布了数字签名标准的(DSS),标准采用的算法便是DSA,密钥长度为512~1024位。密钥长度愈长,签名速度愈慢,制约运算速度的只要因素是大数的模指数运算。 2.DSA签名中的参数 参数描述:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。算法中应用了下述参数: p:L bits长的素数。L是64的倍数,范围是512到1024; q:p - 1的160bits的素因子; g:g = h^((p-1)/q) mod p,h满足h < p - 1, h^((p-1)/q) mod p > 1; x:x < q,x为私钥; y:y = g^x mod p ,( p, q, g, y )为公钥; H( x ):One-Way Hash函数。DSS中选用SHA( Secure Hash Algorithm )。 p, q, g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。签名及验证协议如下: 1. P产生随机数k,k < q; 2. P计算r = ( g^k mod p ) mod q s = ( k^(-1) (H(m) + xr)) mod q 签名结果是( m, r, s )。 3. 验证时计算w = s^(-1)mod q u1 = ( H( m ) * w ) mod q u2 = ( r * w ) mod q v = (( g^u1 * y^u2 ) mod p ) mod q 若v = r,则认为签名有效。 DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。 DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。 3.源码描述

数字签名技术

广东海洋大学寸金学院 考查课论文 课程名称:网络安全技术 论文题目:数字签名方案的设计或分析 系别:信息技术系 专业:信息管理与信息系统 班级: 1班 姓名:张伟兴 学号: 2012103080131 任课老师:陈瑞志 指导教师: 日期:2015年 5 月 27 日 教务处制

数字签名方案的设计或分析 摘要:网络通信促进和加速社会信息化的发展,但是网络环境下的信息安全并不令人乐观,信息在传输的过程中有可能被删除、篡改和重放,给人们的生活和工作造成了许多麻烦。正是在这种情况下,数字签名技术便应运而生了。 随着对数字签名技术研究的深入和实际应用的需要,普通的数字签名已不能满足人们的需要,许多有着特殊用途的数字签名方案被提了出来。 本文主要介绍了信息加密技术的应用。RSA算法是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,它是第一个既能用于数据加密也能用于数字签名的算法,是公钥密码体制的代表。数字签名是起到身份认证、核准数据完整性的一种信息安全技术。它通过认证技术来辨认真伪。RSA数字签名体制使用的是RSA公开密钥密码算法进行数字签名。 关键词:信息加密,数字签名,RAS De sign or analysis of digital signature scheme Abstract:Network communication to promote and accelerate the development of the information society, but in the information security under the network environment is not optimistic, information in the process of transmission may be deleted, tampering and replay, caused a lot of trouble to people's life and work. It is in this case, the digital signature technology came into Bing. With the needs of the research on digital signature technology in-depth and practical application, ordinary digital signature has been unable to meet the people's need that many special purpose digital signature scheme is proposed. This paper mainly introduces the application of information encryption technology.. RSA algorithm is currently recognized is the most mature and perfect in a public key cryptosystem in theory and practical application, it is the first both for data encryption can also be used for digital signature algorithm, is representative of the public key cryptosystem. Digital signature is a kind of information securitytechnology which is the identity authentication and approval data integrity.. It identifies the authenticity by authentication technology. RSA digital signature system is RSA public key encryption algorithm for digital signature. Key words:Information encryption, digital signature, RAS

DSA数字签名算法

DSA数字签名算法 1 引言 为了确保数据传输的安全性,不得不采取一系列的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。其中数字签名就是实现网上交易安全的核心技术之一,它可以保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性等。DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。 2. 数字签名 2.1 数字签名的概念 数字签名在ISO7498—2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。 数字签名是通过一个单向函数对要传送的信息进行处理得到的用以认证信息来源并核实信息在传送过程中是否发生变化的一个字母数字串。数字签名提供了对信息来源的确定并能检测信息是否被篡改。 数字签名要实现的功能是我们平常的手写签名要实现功能的扩展。平常在书面文件上签名的主要作用有两点,一是因为对自己的签名本人难以否认,从而确定了文件已被自己签署这一事实;二是因为自己的签名不易被别人模仿,从而确定了文件是真的这一事实。采用数字签名,也能完成这些功能: (1)确认信息是由签名者发送的; (2)确认信息自签名后到收到为止,未被修改过; 签名者无法否认信息是由自己发送的。 数字签名和手签的区别是:手签是模拟的,易伪造,而数字签名是基于数学原理的,更难伪造。

一种基于身份认证的数字签名算法研究

龙源期刊网 https://www.doczj.com/doc/3413282953.html, 一种基于身份认证的数字签名算法研究 作者:陈卫军牛红惠 来源:《商场现代化》2009年第06期 [摘要] 针对电子商务领域的安全问题,利用基于身份的密码体制,提出了一种高效的数字签名算法。这种算法可以解决代理签名的问题,而且具有签名长度短、系统开销小、安全程度高等特点。 [关键词] 数字签名代理签名可公开验证 一、引言 随着网络技术的发展,全球经济一体化进程的加快,电子商务在世界范围内日渐得到普及和应用。但与此同时,交易的风险性和不确定性也大大增加,安全问题已经成为电子商务发展的瓶颈。近几年来,由于数字签名技术的广泛运用,电子商务系的统安全性得到了较好的保证。 然而,在现代商务活动中,我们常常会遇到一些需要把某些权力转交给特定的代理人,人代理人代为行使这些权利。比如,又一个单位的董事长需要出国考察,在考察期间,为了不耽误公司的正常工作,董事长可以委托一个特定的人员代为行使董事长的权力。为此,基于身份的密码体制就成为解决问题的关键。基于身份的密码学是由Shamir于1984年提出的。其主要观点是,系统中不需要证书,可以使用用户的标识如姓名、IP地址、电子邮件地址等作为公钥。用户的私钥通过一个被称作私钥生成器PKG(Private key generator)的可信任第三方进行计算得到。基于身份的密码系统的主要好处是可以减少证书存储和管理开销。 1996年Mambo、Usuda和Okamoto中给出了解决上述事例的方法,首先提出了代理签名的概念,并提出了一个简单的代理签名方案。代理签名是指原始签名者可以将其签名权力授权给代理签名者,然后代理签名者就可以代表原始签名者进行签名,当验证者验证一个代理签名时,需要同时验证签名和原始签名者的授权协议。然而,代理签名者代理原始签名者行使代理权时,其签名可以被任何第三方进行验证。在某些情况下,并不希望任何人都能验证代理签名,而只有指定的验证人才能验证代理签名。这在实际中是需要的,如电子商务中的电子投标,电子投票等。 文献介绍了其他的几种代理签名方案,但是这些方案在安全性方面都不同的有缺陷。1996年,Jakobsson等介绍了一个新的原语——指定验证者签名,指定验证者签名是指一个原始签名者可以使指定验证者相信他的申明是正确的,实现了只有指定验证者才能验证原始签名者的签名的特性,原因是指定验证者可以生成与原始签名者不可区分的签名,该签名虽然外人不能

电子签名的技术实现

电子签名的技术实现 电子签名的技术实现 一、电子签名的实现方法 目前,可以通过多种技术手段实现电子签名,在确认了签署者的确切身份后,电子签名承认人们可以用多种不同的方法签署一份电子记录。方法有:基于PKI的公钥密码技术的数字签名;以生物特征统计学为基础的识别标识;手印、声音印记或视网膜扫描的识别;一个让收件人能识别发件人身份的密码代号、密码或个人识别码PIN;基于量子力学的计算机等等。但比较成熟的,使用方便具有可操作性的,在世界先进国家和我国普遍使用的电子签名技术还是基于PKI(PublicKeyInfrastructino)的数字签名技术。 1、手写签名或图章的模式识别 将手写签名或印章作为图象,用光扫描转换后在数据库中加以存储,当对此人进行验证时,用光扫描输入,并将原数据库中对应图象调出,用模式识别的数学计算方法,进行比对,以确认该签名或印章的真伪。这种方法曾经在银行会计柜台使用,由于需要大容量数据库存储以及每次手写签名和盖印的差异性,证明了这种方法不适用于互联网上传输。 2、生物识别技术 生物识别技术是利用人体生物特征进行身份认证的一种技术,生物特征是一个人与他人不同的唯一表徵,它是可以测量、自动识别和验证的。生物识别系统对生物特征进行取样,提取其唯一的特征进行数字化处理,转换成数字代码,并进一步将这些代码组成特征模板存于数据库中,人们同识别系统交互进行身份认证时,识别系统获取其特征并与数据库中的特征模板进行比对,以确定是否匹配,从而决定确定或否认此人。生物识别技术主要有以下几种: (1)指纹识别技术。每个人的指纹皮肤纹路是唯一的,并且终身不变,通过将他的指纹和预先保存在数据库中的指纹采用指纹识别算法进行比对,便可验

实现数字签名的RSA算法的设计与实现

课程实践报告书 课程名称:密码学与网络安全课程实践 题目:实现数字签名的RSA算法的设计与实现学生姓名: 专业: 班别: 学号: 指导老师: 日期:2016年 6 月18 日

实现数字签名的RSA算法的设计与实现 摘要 随着计算机网络和信息技术的发展,信息安全在各领域发挥着越来越重要的作用,其中密码学已成为信息安全技术的核心,本文主要介绍了信息加密技术的应用。 RSA算法是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,它是第一个既能用于数据加密也能用于数字签名的算法,是公钥密码体制的代表。数字签名是起到身份认证、核准数据完整性的一种信息安全技术。它通过认证技术来辨认真伪。RSA数字签名体制使用的是RSA公开密钥密码算法进行数字签名。 本文主要内容包括:第一,对RSA算法进行系统的介绍;第二,介绍RSA数字签名的一些基本概念和数字签名的理论实现过程;第三详述RSA数字签名的设计与实现,主要实现的模块包括RSA密钥的产生(一对公钥和私钥),RSA加密算法和解密算法的实现,;第四,对该系统进行了整体的测试和分析改进。 关键字:RSA算法;加密;解密;RSA数字签名

目录 1 引言 (3) 1.1 课题的研究背景 (3) 1.2 课题的研究意义 (3) 2 RSA算法和RSA数字签名算法的概念设计 (3) 2.1 RSA算法的概念和原理 (3) 2.1.1 RSA算法介绍 (3) 2.1.2 RSA算法的实现原理 (3) 2.2 RSA数字签名基本概念和RSA数字签名算法的实现原理 (4) 2.2.1 RSA数字签名基本概念 (4) 2.2.2 RSA数字签名算法的实现原理 (5) 3 RSA数字签名的逻辑设计与实现 (6) 3.1 RSA数字签名的总体设计 (6) 3.1.1 RSA数字签名所需实现的功能 (6) 3.1.2 总体要求和设计 (6) 3.2 各部分的设计实现 (7) 3.2.1 密钥产生的实现 (7) 3.2.2 产生消息摘要的设计实现 (10) 3.2.3 数字签名的设计实现 (12) 3.2.4 验证数字签名的设计与实现 (15) 3.2.5 RSA数字签名的运行结果 (17) 4 软件的整体测试和分析改进 (18) 4.1软件的整体测试 (18) 4.2 性能分析与改进设想 (19) 开发体会 (19) 参考文献 (20)

数字签名算法实验报告

竭诚为您提供优质文档/双击可除数字签名算法实验报告 篇一:数字签名实验报告 附件2: 北京理工大学珠海学院实验报告 ZhuhAIcAmpAusoFbeIJIngInsTITuTeoFTechnoLogY 实验题目数字签名实验实验时间20XX.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的十进制正整数,点击“测试”。

数字签名的技术实现

数字签名的技术实现 对一个电子文件进行数字签名并在网上传输,其技术实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名的验证。 1、认证。PKI提供的服务首先是认证,即身份识别与鉴别,确认实体即为自己所声明的实体。认证的前提是甲乙双方都具有第三方CA所签发的证书,认证分单向认证和双向认证。 (1)单向认证是甲乙双方在网上通信时,甲只需要认证乙的身份即可。这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向CA的目录服务器查询索取。甲获得乙的证书后,首先用CA的根证书公钥验证该证书的签名,验证通过说明该证书是第三方CA签发的有效证书。然后检查证书的有效期及检查该证书是否已被作废(LRC检查)而进入黑名单。 (2)双向认证。双向认证是甲乙双方在网上通信时,甲不但要认证乙的身份,乙也要认证甲的身份。其认证过程与单向认证过程相同。 甲乙双方在网上查询对方证书的有效性及黑名单时,是采用的LDAP协议(Light Directory Access Protocol)它是一种轻型目录访问协议。 2、数字签名与验证过程 网上通信的双方,在互相认证身份之后,即可发送签名的数据电文。数字签名的全过程分两大部分,即签名与验证。数字签名与验证的过程和技术实现的原理如图五所示。 签名过程I 验证过程 数字签名过程分两部分:左侧为签名,右侧为验证过程。即发方将原文用哈希算法求得数字摘要,用签名私钥对数字摘要加密得数字签名,发方将原文与数字签名一起发送给接受方;收方验证签名,即用发方公钥解密数字签名,得出数字摘要;收方将原文采用同样哈希算法又得一新的数字摘要,将两个数字摘要进行比较,如果二者匹配,说明经数字签名的电子文件传输成功。 3、数字签名的操作过程 数字签名的操作过程如图六所示。需要有发方的签名证书的私钥及其验证公钥。 数字签名操作具体过程如下:首先是生成被签名的电子文件(《电子签名法》中称数据电文),然后对电子文件用哈希算法做数字摘要,再对数字摘要用签名私钥做非对称加密,即作数字签名;之后是将以上的签名和电子文件原文以及签名证书的公钥加在一起进行封装,形成签名结果发送给收方,待收方验证。 4、数字签名的验证过程 接收方收到发方的签名结果后进行签名验证。 接收方收到数字签名的结果,其中包括数字签名、电子原文和发方公钥,即待验证的数据。接收方进行签名验证。验证过程是:接收方首先用发方公钥解密数字签名,导出数字摘要,并对电子文件原文作同样哈希算法得一个新的数字摘要,将两个摘要的哈希值进行结果比较,相同签名得到验证,否则无效。这就作到了《电子签名法》中所要求的对签名不能改动,对签署的内容和形式也不能改动的要求。 5、数字签名的作用 如果接收方对发方数字签名验证成功,就可以说明以下三个实质性的问题: (1)该电子文件确实是由签名者的发方所发出的,电子文件来源于该发送者。因为,签署时电子签名数据由电子签名人所控制;

SM9标识密码算法--数字签名算法

SM9标识密码算法 第2部分:数字签名算法

目 次 1 术语和定义 (2) 2 符号 (2) 3 算法参数与辅助函数 (3) 3.1 总则 (3) 3.2 系统参数组 (3) 3.3 系统签名主密钥和用户签名密钥的产生 (4) 3.4 辅助函数 (4) 3.4.1 概述 (4) 3.4.2 密码杂凑函数 (4) 3.4.2.1 密码杂凑函数H v( ) (4) 3.4.2.2 密码函数H1( ) (4) 3.4.2.3 密码函数H2( ) (4) 3.4.3 随机数发生器 (5) 4 数字签名生成算法及流程 (5) 4.1 数字签名生成算法 (5) 4.2 数字签名生成算法流程 (5) 5 数字签名验证算法及流程 (6) 5.1 数字签名验证算法 (6) 5.2 数字签名验证算法流程 (6)

SM9标识密码算法 第2部分:数字签名算法 本部分规定了用椭圆曲线对实现的基于标识的数字签名算法,包括数字签名生成算法和验证算法,并给出了数字签名与验证算法及其相应的流程。 1 术语和定义 1.1 消息message 任意有限长度的比特串。 1.2 签名消息signed message 由消息以及该消息的数字签名部分所组成的一组数据元素。 1.3 签名密钥signature key 在数字签名生成过程中由签名者专用的秘密数据元素,即签名者的私钥。 1.4 签名主密钥signature master key 处于标识密码密钥分层结构最顶层的密钥,包括签名主私钥和签名主公钥,其中签名主公钥公开,签名主私钥由KGC秘密保存。KGC用签名主私钥和用户的标识生成用户的签名私钥。在标识密码中,签名主私钥一般由KGC通过随机数发生器产生,签名主公钥由签名主私钥结合系统参数产生。 1.5 标识identity 可唯一确定一个实体身份的信息。标识应由实体无法否认的信息组成,如实体的可识别名称、电子邮箱、身份证号、电话号码、街道地址等。 1.6 密钥生成中心key generation center;KGC 在本部分中,负责选择系统参数、生成签名主密钥并产生用户签名私钥的可信机构。 2 符号 下列符号适用于本部分。 A, B:使用标识密码系统的两个用户。 cf:椭圆曲线阶相对于N的余因子。 2

数字签名算法(RSA)

题目:数字签名算法(RSA) 一、课题名称 实现数字签名,其中加密算法使用RSA。 二、课题内容和要求 1、主要任务与目标 1)被发送文件采用某种算法对原始消息进行运算,得到一个固定长度的数字串,称为消息摘要(MD),不同的消息得到的消息摘要各异,但是对相同的消息它的消息摘要却是唯一的; 2)发送方生成消息的消息摘要,用自己的私钥对摘要进行加密来形成发送方的数字签名; 3)这个数字签名将作为消息的附件和消息一同用接收方的公钥进行加密,将加密后的密文一起发送给接收方; 4)接收方首先把接收到的密文用自己的私钥解密,得到原始消息和数字签名,再用发送方的公钥解密数字签名,随后用同样的算法计算出消息摘要; 5)如果计算出来的消息摘要和发送方发送给他的消息摘要(通过解密数字签名得到的)是相同的,这样接收方就能确认数字签名确实是发送方的,否则就认为收到的消息是伪造的或是中途被篡改的。 数字签名通过认证技术来辨认真伪。认证技术主要包括数字签名认证、身份认证以及公开密钥证明等。数字签名认证机制提供了一种对数字签名进行鉴别的方法;身份认证机制提供了辨别和确认通信双方真实身份的方法;公开密钥证明机制则对密钥进行验证。网络时代中,人们验证数字签名来确定你正在和谁打交道,验证你的文件是否已被黑客篡改。数据的安全性和真实性已成为网络安全中至关重要的一部分。 数字签名类似手书签名,它具有以下的性质: 1)能够验证签名产生者的身份,以及产生签名的日期和时间; 2)能用于证实被签消息内容; 3)数字签名可由第三方验证,从而能够解决通信双方的争议。 为了实现数字签名的以上性质,它就应满足下列要求: 1)签名是可信的:任何人都可以验证签名的有效性; 2)签名是不可伪造的:除了合法的签名者外,任何人伪造其签名是困难的; 3)签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如

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