数字签名概括
数字签名(群签名,环签名,盲签名)
3、Alice用自己拥有的信息(M、factor、BM-signature)计算出M-signature,这个签名和 Bob直接对M的签名结果是等效的,可以用Bob的公钥验证通过;在这个过程中,Bob无法得 知M是什么,Bob也不知道自己什么时候对M做了签名,即若Bob进行了多次签名,当公布出 某一具体的M-signature时,Bob并不知道这个签名是自己在那一次进行签署的。
盲签名
具体步骤: 接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。 经签名者签名后再发给接收者。 接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。 这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据 联系起来,这通常是依靠某种协议来实现的。
意义: 盲签名在某种程度上保护了参与者的利益,但不幸的是盲签名的匿名性可能被犯罪 份子所滥用。为了阻止这种滥用,人们又引入了公平盲签名的概念。公平盲签名比 盲签名增加了一个特性,即建立一个可信中心,通过可信中心的授权,签名者可追 踪签名。
(5)对于群签名相关的数字签名及其应用的研究:与群签名相关的数字签名及其应用的研究 还不够。分级群签名,群盲签名,多群签名等都有实际应用背景,然而对它们的研究才处于起 步阶段。
3 环签名
环签名
环签名起源:2001年,Rivest, shamir和Tauman三位密码学家首次提出了环签名。是一种简化的群 签名,只有环成员没有管理者,不需要环成员间的合作。环签名方案中签名者首先选定一个临时的签 名者集合,集合中包括签名者。然后签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的 产生签名,而无需他人的帮助。签名者集合中的成员可能并不知道自己被包含在其中。
数字签名
2. 对 RSA 签名方案的另一种攻击是基于它的乘法特性。 假设 y1 SigK ( x1 ) 和 y2 SigK ( x2 ) 是任意两个由 Alice 以前 签名的消息,那么 verK ( x1x2 modn, y1 y2 modn) true ,因此 Oscar 能对消息 x1 x2 modn 产生有效的签名 y1 y2 modn 。
用到的符号:
Z p {0,1, 2,, p 1}
Z p 表示从 1 到 p-1 与 p 互素的数
Z 若 p 为素数,则 p {1, 2,, p 1} 为一乘法群
若 p 为素数,则
0 1 2 p 2 Z Z { , , , , } p 是一个本原元 p
K {( p, , a, ) : a (mod p)} ,值 p, , 是公钥,a 是
私钥。对 K ( p, , a, ) 和一个秘密的随机数 k Z p 1 ,
k sig ( x , k ) ( , ) mod p , 定 义 , 其 中 K
现解这个问题的方法,也没有人能够证明不能解这个问题。
2、如果 Oscar 先选择 和 ,然后去解 x ,那么他又一次面临
log 着求解离散对数问题的一个实例,也就是计算 。因此,使
用这种方法 Oscar 不能对给定的消息 x 签名。 3、然而,通过同时选择 、 和 x ,存在一种方法使 Oscar 能 对任意的消息签名。因此,在唯密钥攻击的情况下进行存在性伪造 还是可能的(假定没有使用 Hash 函数) 。我们对此作具体描述。
gcd(213 ,466) 1且2131 mod466 431) 。
那么
2213 mod467 29
数字签名名词解释
数字签名名词解释数字签名是一种安全的认证和防篡改技术,用于保证数据的完整性、身份的真实性和通信的机密性。
数字签名是通过将特定的算法应用于数据生成一段不可逆的摘要,并用数字证书中的私钥进行加密。
数字签名由以下几个要素组成:1. 非对称加密算法:数字签名使用非对称加密算法,其中包括公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
只有拥有私钥的人才能生成数字签名,即使拥有公钥的人也无法伪造数字签名。
2. 数字证书:数字签名需要使用数字证书来验证身份。
数字证书由证书颁发机构(CA)颁发,包含了用户的公钥和相关信息,并由CA的私钥签名。
接收方可以验证数字证书的完整性和真实性,以确认发送方的身份。
3. 加密算法:数字签名使用加密算法对数据进行加密,常用的包括RSA、DSA和ECDSA等。
这些算法具有较高的安全性和不可逆性,可有效保护数据的完整性和真实性。
数字签名的工作过程如下:1. 发送方生成消息的摘要:发送方使用特定的算法对消息进行哈希处理,生成唯一的摘要。
2. 发送方使用私钥加密摘要:发送方对摘要使用自己的私钥进行加密,生成数字签名。
3. 发送方将消息和数字签名一起发送给接收方。
4. 接收方获取发送方的公钥和数字签名。
5. 接收方使用发送方的公钥解密数字签名,得到摘要。
6. 接收方使用相同的算法对接收到的消息进行哈希处理,得到新的摘要。
7. 接收方比较两个摘要是否一致。
如果一致,表示消息没有被篡改;如果不一致,表示消息被篡改过。
通过数字签名,可以确保数据在传输过程中不受篡改。
此外,还可以验证数据的发送方身份,防止伪造和重放攻击。
数字签名广泛应用于电子邮件、电子合同、电子支付和网络通信等领域,提高了数据的安全性和可信度。
数字签名概述
数字签名概述091120112 扈钰一、引言政治、军事、外交等活动中签署文件, 商业上签定契约和合同以及日常生活中在书信、从银行取款等事务中的签字, 传统上都采用手写签名或印鉴。
签名起到认证、核准和生效作用。
随着信息时代的来临, 人们希望通过数字通信网络进行迅速的、远距离的贸易合同的签名,数字或电子签名法应运而生,并开始用于商业通信系统, 诸如电子邮递、电子转帐、办公室自动化等系统中。
由此,能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。
数字签名是电子签名技术中的一种,两者的关系密切。
目前电子签名法中提到的签名,一般指的就是"数字签名"。
数字签名与传统的手写签名的主要差别在于:(1)签名:手写签名是被签文件的物理组成部分,而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。
(2)验证:手写签名是通过将它与其它真实的签名进行比较来验证,而数字签名是利用已经公开的验证算法来验证。
(3)签名数字消息的复制品与其本身是一样的,而手写签名纸质文件的复制品与原品是不同的。
二、数字签名的含义及作用数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
数字签名主要有以下几个作用:1、收方能确认或证实发方的签字,但不能伪造;2、发方发出签名后的消息,就不能否认所签消息;3、收方对已收到的消息不能否认;4、如果引入第三者,则第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。
三、数字签名原理数字签名采用了双重加密的方法来实现防伪、防赖。
通过一个单向函数对要传送的报文进行处理,得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名
浅析网络安全技术——数字签名一、引言、随着网络技术的发展,网上信息的安全和保密越来越受到重视。
电子商务是建立在一个开放式的Internet上,维护商业机密是电子商务获得全面推广应用的重要保障,保证电子商务各方信息的完整性是电子商务应用的基础,但是目前无论是局域网还是广域网,都存在着各种因素的潜在威胁。
为了保证信息安全不受侵犯,可以采用多种技术,如加密技术、访问控制技术、认证技术及安全审计技术等,但这些技术大多数是用来预防的,信息一旦被攻破,就不能保证信息的完整性。
因此用来保证信息完整性的安全技术——数字签名技术成为人们关心的课题。
二、数字签名概述1、数字签名的定义数字签名体制是以电子形式进行签名的方法。
所签名的消息能够在通信网中传送,并且能够存储所签名的消息。
2、数字签名的原理数字签名在具体实施时,首先发送方对信息施以数学变换,所得的信息与原信息唯一的对应;在接收方进行逆变换,得到原始信息。
只要数学变换方法优良,变换后的信息在传输中就具有很强的安全性,很难被破译、篡改。
这个发送方的变换过程就是签名,通常是一种加密措施;对应的逆变换过程就是对签名的认证,通常是一种解密措施。
3、数字签名解决的问题报文鉴别可以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。
假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪造一个不同的消息,但声称是从A收到的。
A可以否认已发过的消息,B无法证明A确实发过消息。
这就造成了一个问题……4、数字签名的作用数字签名在信息安全,包括身份认证、数据完整性、不可否认性等方面,特别是在大型网络安全通讯中的密钥分配、认证及电子商务系统中,具有重要作用。
网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务。
数字签名机制作为保障网络信息安全的手段之一,可以解决伪造、抵赖、冒充和篡改问题。
数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有:(1)防冒充(伪造)。
数字签名
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名是非对称密钥加密技术与数字摘要技术的应用。
原理:数字签名的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名具有不可抵赖性(不需要笔迹专家来验证)。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。
这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。
基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。
包括普通数字签名和特殊数字签名。
普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。
特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。
主要功能:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。
接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。
简述数字签名的含义及基本特征
简述数字签名的含义及基本特征摘要:1.数字签名的含义2.数字签名的基本特征3.数字签名在现实应用中的优势4.我国数字签名的发展现状与展望正文:数字签名作为现代信息安全领域的一项重要技术,日益受到广泛关注。
它通过对原始数据进行加密处理,实现对数据的完整性和真实性保护,以确保数据在传输和存储过程中的安全性。
数字签名技术在电子商务、信息安全、文件认证等领域发挥着重要作用。
数字签名的主要含义包括以下几点:1.身份认证:数字签名能够确认数据发送者的身份,防止伪造和篡改。
2.数据完整性:数字签名能够确保数据在传输和存储过程中不被篡改,保证数据的原始状态。
3.数据真实性:数字签名能够验证数据的真实性,防止虚假信息的传播。
4.不可抵赖性:数字签名能够确保数据发送者不能否认已发送的数据,便于追究责任。
数字签名具有以下基本特征:1.非对称加密:数字签名采用非对称加密算法,密钥分为私钥和公钥。
私钥用于签名,公钥用于验证签名。
2.数字摘要:数字签名过程中,会对数据进行数字摘要,确保数据的完整性。
3.抗攻击性:数字签名具有较高的抗攻击性,能够有效防止黑客攻击和恶意篡改。
4.易于验证:数字签名的验证过程相对简单,便于在实际应用中进行实时验证。
数字签名在现实应用中具有显著优势,如:1.保障电子商务安全:数字签名可确保电子商务中合同、订单等数据的完整性和真实性,降低交易风险。
2.文件认证:数字签名可用于证书、执照、专利等文件的认证,确保文件的真实性和权威性。
3.信息安全:数字签名可用于保护敏感信息,防止信息泄露和篡改。
我国在数字签名领域的发展日益成熟,已制定了一系列相关法规和标准,为数字签名技术的应用提供了有力保障。
计算机网络安全技术-第4章数字签名与CA认证技术
数字签名与CA认证技术的比较与选择
数字签名和CA认证技术在实现 数据完整性和身份认证方面具
有不同的优势和适用场景。
CA认证适用于大规模的安全需 求场景,如企业网络、电子商 务等,可以提供全面的身份认 证和通信安全保障。
数字签名适用于较小规模的安 全需求场景,如电子邮件、软 件发布等,可以提供端到端的
详细描述
RSA数字签名算法基于数论中的一些基本原理,如大数因子分解和模幂运算。该算法使用一对密钥,一个公钥用 于加密和验证签名,另一个私钥用于解密和生成签名。私钥用于对消息进行签名,生成一个数字签名,公钥用于 验证该签名的有效性。
DSA数字签名算法
总结词
DSA数字签名算法是一种基于离散对数问题的数字签名算法,它使用一对密钥, 一个用于签名,另一个用于验证。
CA认证的定义
CA认证(Certificate Authority Authentication)是一种基于公钥基 础设施(PKI)的网络安全认证机制, 用于验证网络通信双方的身份真实性 和可信度。
CA认证通过颁发数字证书,对网络通 信中的用户或设备进行身份识别,确 保只有授权的用户或设备才能访问特 定的网络资源或服务。
详细描述
ECDSA数字签名算法基于椭圆曲线密码学,使用一对密钥进行签名和验证。私钥用于生成数字签名, 公钥用于验证签名的有效性。ECDSA数字签名算法具有较高的安全性和效率,被广泛应用于金融、电 子商务等领域。
04 CA认证技术的实现方式
证书颁发流程
用户向CA机构提出证书申请
01
用户需要在CA机构处注册账号,并提交必要的信息以进行身份
CA认证的原理
证书颁发
CA作为第三方信任机构,负责颁发数字证书,其中包含公钥、证书持有者的身份信息以 及CA的签名等。
数字签名
数字签名(Digital Signatures)是一种附加在消息后的一些数据,它基于公钥加密基础,用于鉴别数字信息。
一套数字签名通常定义了两种运算,一个用于签名,另一个用于验证。
数字签名只有发送者才能产生,别人不能伪造这一段数字串。
由于签名与消息之间存在着可靠的联系,接收者可以利用数字签名确认消息来源以及确保消息的完整性、真实性和不可否认性。
(1)数据完整性:由于签名本身与要传递的消息之间是有关联的,消息的任何改动都将引起签名的变化,消息的接收方在接收到消息和签名之后经过对比就可以确定消息在传输的过程中是否被修改,如果被修改过则签名失效。
这也显示出了签名是不能够通过简单的拷贝从一个消息应用到另一个消息上。
(2)真实性:由于与接收方的公钥相对应的私钥只有发送方有,从而使得接收方或第三方可以证实发送者的身份。
如果接收方的公钥能够解密签名,则说明消息确实是发送方发送的。
(3)不可否认性:签名方日后不能否认自己曾经对消息进行的签名,因为私钥被用在了签名产生的过程中,而私钥只有发送者才拥有,因此只要用相应的公钥解密了签名,则可以确定该签名一定是发送者产生的。
但是,如果使用对称性密钥进行加密,不可否认性是不被保证的。
数字签名的作用:①如果他人可以用公钥正确的解开数字签名,则表示数字签名的确是由签名者产生的。
②如果消息M是用散列函数h得到的消息摘要h(M),和消息的接收方从接收到的消息M'计算出散列值h(M'),这两种信息摘要相同表示文件具有完整性。
数字签名机制提供了一种数字鉴别方法,普遍适用于银行,电子商务,电子办公等。
它可以解决下述安全鉴别问题:①接收方伪造:接收方伪造一份文件,并声称这是发送方发送的,②发送者或接受者否认:不承认自己曾经发送或接收过文件。
③第三方冒充:网上的第三方用户冒充发送或接收信息④接收方篡改:接收方对收到的文件进行改动。
数字签名的签名过程:P158图2.2.1 数字签名的签名过程在形成数字签名之前,首先要利用Hash 函数形成一个固定长的消息摘要H(M)。
名词解释 数字签名
名词解释数字签名数字签名是一种用于验证数字信息的技术,具有高度的安全性和可靠性。
它通常被用于在网络中传输文档、电子邮件和软件等数字信息,以确保信息的真实性、完整性和不可抵赖性。
本文将分步骤阐述数字签名的概念、原理和实现方法。
一、数字签名的概念数字签名是利用公钥密码学技术对数字信息进行加密和解密的过程。
它通过将数字信息与签名者的私钥相结合,生成一个加密的数字码,即数字签名。
数字签名包含了信息的摘要和签名者的身份信息,它可以确保信息在传输过程中不被篡改、伪造或者假冒。
二、数字签名的原理数字签名的原理基于公钥密码学技术,它包括两个关键的加密算法:一是哈希算法,二是非对称加密算法。
哈希算法是一种将任意长度的输入数据转换为固定长度输出数据的算法,它主要用于生成信息的摘要。
哈希算法的输出被称为消息摘要或数字指纹,它具有唯一性、确定性和不可逆性等特性,因而可以作为数据的唯一标识。
非对称加密算法是一种利用两个密钥(公钥和私钥)来进行加密和解密的算法,公钥用于加密,私钥用于解密。
在数字签名中,签名者先用哈希算法生成信息的摘要,然后用私钥加密摘要,生成数字签名。
接收者利用签名者的公钥解密数字签名,得到信息的摘要,再利用哈希算法对原始信息进行摘要,将两个摘要进行对比,如果相同,则说明信息没有被篡改,信息的来源可靠。
三、数字签名的实现方法数字签名的实现需要满足以下四个条件:保证信息的完整性、保证信息的真实性、保证信息的不可抵赖性和保证密钥的安全性。
为了保证信息的完整性和真实性,签名者通常会使用哈希算法生成消息摘要,并将摘要与数字签名一起发送给接收者。
为了保证信息的不可抵赖性,签名者需要在签名过程中附加自己的身份信息,例如数字证书、身份证明等。
为了保证密钥的安全性,签名者需要使用密码学技术来保护私钥,例如使用加密的存储介质、访问控制和密钥管理等技术。
在实际应用中,数字签名可以通过多种方式实现,例如使用PKI (公钥基础设施)、PEM(隐私增强邮件)、PGP(网络通讯加密软件)等标准和协议。
数字签名概述
不同, 数字签名分为单个用户参与签名的签名方案和多个用户 参与签名 的签名方案 。大多数的数字签名是单个用户参与签 名的数字签名方案 , 而多个用户的参与签名 的签名方案又称多 重数字签名方案。 根据签名具体过程 的不 同, 多重数字签名又 可分为有序多重数字签名方案和广播多重数字签名方案 。 ( 4 ) 基于数字签名用途 的分类 : 在某些特殊的环境下, 数 字签名要求具有某种特殊 的功能 , 以适应实际情况 的需要 。 根 据数字签 名在某些特定环境具有 的功 能不 同,数字签 名分为 普遍数字签名 、 盲签名 、 环签名 、 门限签名 、 群签名、 广播签名、
技术 由单纯地 实现对用 户身份和信息真实性的验证发展 到某些特定环境 中具 有某种特殊功能的数字签名技术 , 如代 理签名 、 群 签名 、 环签名 、 盲签名、 门限签名 、 多重签名等等 , 极 大地扩充 了数字签名技术 的应用领域。 本 文对数字签名
的特 点和分类进行 了简要概述。 关键词 数字签名 公钥 密码 安全属性
中图分类号 : T P 3 9 3 . 0 8
文献标识码 : A
一
1 数 字 签 名 的定 义 基于多变量的数字签名等等 。 . 个标准的数字签名方案是一个两方协议, 由签名者 ( 发 ( 3 ) 基于签名用户的个 数分类: 根据参与签名的用户个数
送 者) 和验证者( 接收者) 两方参与。在一个数字签 名方案 中, 首先, 密钥生成算法为签名者产生一个合法 的密钥对, 即公钥 和私钥 , 其 中, 签名者对私钥信 息进行秘密保存, 将公钥信息 进行公布 。然后 , 签名者使用 自己的私钥对给定的消息( 或消 息摘要 ) 进行签 名, 并将该签名和消息( 或消 息摘要) 一起发送 给验证者。最后 ,验证者可以通过公布的签名者的公钥对消 息发送者的身份和消息的真实性进行验证。如果当事双方对 于某个签名的有效性存在异议,双方可 以由一个可信 的第三 方通过公开的验证算法对签名的有效性进行仲裁。通常情况 下, 签名者为一个用户 , 在群体性签名体制 中签名者 也可 以是 由多个人员组成 的一个群体 ; 验证者可 以是任意 的用户, 只是 在某些具有特殊功能的数字签名中验证者也可 以是某些特定 的用户 ; 仲裁者一般是一个可信 的任意用户。 2数字签名的安全属性 数字签名是在信息时代人们通过数字信息 网络所进行 的 高效 的、 远距 离的签名方式, 之所 以受到人们如此 的信赖, 并 具有一定的法律意义 ,是因为数字签名具有 以下几个主要 的
数字签名是什么?
数字签名是什么?
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。
这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。
它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。
基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。
包括普通数字签名和特殊数字签名。
普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。
特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、消息恢复功能的签名等,它与具体应用环境密切相关。
显然,数字签名的应用涉及到法律问题,美国联邦政府基于
有限域上的离散对数问题制定了自己的数字签名标准(DSS)。
一些国家如法国和德国已经制定了数字签名法。
1。
数字签名技术(总结)
,其安全性基于离散对数难题;并且采用了Schnorr系统中,g
为非本原元的做法,以降低其签名文件的长度。
方案包括初始过程、签名过程和验证过程。
1. 初始过程
(1) 系统参数:大素数p, q满足q|p-1, 2511<p<21024, 2159<q<2160 ,确保在 Zp中求解离散对数的困难性;g ∈ Zp , 且满足 g =h(p-1)/qmodp,其中h是一整数, 1<h<p-1且h(p-1)/q
环签名:一种与群签名有许多相似处的签名形式,它的签名者 身份是不可跟踪的,具有完全匿名性。
前向安全签名:主要是考虑密钥的安全性,签名私钥能按时间 段不断更新,而验证公钥却保持不变。攻击者不能根据当前时 间段的私钥,推算出先前任一时间段的私钥,从而达到不能伪 造过去时间段的签名,对先前的签名进行了保护。
而且可以获得原文,不具m ~ 备 加s密em 功能on。d如果消息m>nm~,则h(可m)用
哈希函数h进行压缩,计算
,接
收方或验证方收到(m,s)后,先计算
,然后检查
是否成立,即可验证签名是否正
确。在这里 ,可以判断m 是否被篡改。如果m包含重要的信息
,不能泄露,那么签名还需要进行加密处理,再传送。
modp>1 。p,q,g 作为系统参数,供所有用户使用,在系统内
公开。
(2) 用户私钥:用户选取一个私钥x,1<x< q,保密。
(3) 用户公钥:用户的公钥y,y= gx modp,公开。
6.4 DSA数字签名
2. 签名过程 对待签消息m,设 0<m<p。签名过程如下: (1) 生成一随机整数 k, k ∈ Zp* ; (2) 计算 r=(gkmodp)modq; (3) 计算 s=k-1(h(m)+xr)modq。 则(r,s)为签名人对m的签名。 3. 验证过程 (1) 首先检查r和s是否属于ຫໍສະໝຸດ 0,q],若不是,则 (r,s)不是签
什么是数字签名?
什么是数字签名?数字签名作为一种重要的信息安全技术,在现代社会中得到了广泛的应用。
那么,什么是数字签名呢?数字签名是一种基于公钥密码学的技术手段,用来保证数字信息的机密性、完整性和不可否认性。
它利用非对称加密算法,确保发送方可以被识别,并确保所传递的信息在传输过程中不被篡改。
那么,数字签名具体是如何实现的呢?下面将从三个方面对数字签名进行深入解析。
1. 数字签名的原理数字签名的原理是利用加密算法生成一对密钥,其中一个是私钥,另一个是公钥。
发送方使用私钥对所传递的信息进行加密,并将加密后的信息与私钥一起发送。
接收方则使用发送方的公钥对接收到的加密信息进行解密,并进行验证。
通过验证过程,接收方可以判断所接收到的信息是否为发送方发送的,并且判断信息在传输过程中是否被篡改。
2. 数字签名的优势数字签名有以下几个优势:(1)机密性:数字签名利用非对称加密算法,确保信息在传输过程中不被窃取。
(2)完整性:数字签名可以确保信息在传输过程中不会被篡改,保证信息的完整性。
(3)不可否认性:数字签名可以确保发送方无法否认发送的信息,保证信息的可信度和真实性。
3. 数字签名的应用领域数字签名广泛应用于各个领域,包括但不限于以下几个方面:(1)电子商务:数字签名可以确保在线交易的安全性,保护消费者的个人信息和交易记录。
(2)电子合同:数字签名可以替代传统的纸质合同,提高签约的效率和安全性。
(3)电子证据:数字签名可以作为电子证据的法律依据,保护各方的合法权益。
(4)数字版权:数字签名可以保护数字内容的版权,防止盗版和篡改。
通过以上三个方面的深入解析,我们对数字签名有了更为清晰的认识。
数字签名作为一种重要的信息安全技术,不仅能够确保信息的机密性、完整性和不可否认性,还广泛应用于各个领域。
在信息时代,数字签名的重要性将愈发凸显。
数 字 签 名
计算机网络安全技术
7
数字签名
数字签名的原理归纳如下: ① 被发送文件采用哈希算法对原始报文进行运算,得到一个固定长 度的数字串,称为报文摘要(Message Digest),不同的报文所得到 的报文摘要各异,但对相同的报文它的报文摘要却是惟一的。 ② 发送方生成报文的报文摘要,用自己的私钥对摘要进行加密来形 成发送方的数字签名。
计算机网络安全技术
8
数字签名
③ 这个数字签名将作为报文的附件和报文一起发送给接收 方。 ④ 接收方首先从接收到的原始报文中用同样的算法计算出 新的报文摘要,再用发送方的公钥对报文附件的数字签名 进行解密,比较两个报文摘要,如果值相同,接收方就能 确认该数字签名是发送方的。
计算机网络安全技术
9
数字签名
计算机网络安全技术
11
数字签名
•4. 数字签名功能 数字签名可以解决否认、伪造、篡改及冒充等问题。具体要求:发送者事后不能
否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送 者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒 充另一用户作为发送者或接收者。数字签名的应用范围十分广泛,在保障电子数据交 换(EDI)的安全性上是一个突破性的进展,凡是需要对用户的身份进行判断的情况 都可以使用数字签名,比如加密信件、商务信函、订货购买系统、远程金融交易、自 动模式处理等。
计算机网络安全技术
12
数字签名
•1.2 数字签名实现 实现数字签名有很多方法,目前数字签名采用较多的是公钥加
密(非对称加密算法)技术,如基于RSA Date Security公司的PKCS (Public Key Cryptography Standards)、Digital Signature Algorithm、 x.509、PGP(Pretty Good Privacy)。1994年美国标准与技术协会公 布了数字签名标准(DSS)而使公钥加密技术广泛应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仲裁数字签名技术(1)
单密钥加密方式,仲裁者可以看见消息 (1) XA:M||EKxa[IDx|| H(M)] (2) AY:EKay[IDx|| M || EKxa[IDx|| H(M)] || T] X与A之间共享密钥Kxa,Y与A之间共享密钥Kay X:准备消息M,计算其Hash值H(M),用X的 标识符IDx 和Hash值构成签名,并将消息及 签名经Kxa加密后发送给A;
13.5 DSA算法描述(Cont.)
用户每个消息用的秘密随机数k:0<k<q; 签名过程:对报文M,签名为(r,s)
r = (gk mod p) mod q s = (k-1(H(M) + xr) ) mod q
验证:
w = s-1 mod q a = ( H(M)w ) mod q b = rw mod q v = ( ( ga yb) mod p) mod q Ver(M,r,s)= 真 iff v = r
如X的私有密钥确实在时间T被窃取,敌方可以 伪造X的签名并附上早于或等于时间T的时间戳。
2仲裁数字签名
引入仲裁者。 通常的做法是所有从发送方X到接收方Y的 签名消息首先送到仲裁者A,A将消息及其签 名进行一系列测试,以检查其来源和内容, 然后将消息加上日期并与已被仲裁者验证通 过的指示一起发给Y。 仲裁者在这一类签名模式中扮演敏感和关键的 角色。
仲裁数字签名技术(1)
A:解密签名,用H(M)验证消息M,然后将 IDx,M,签名,和时间戳一起经Kay加密后发 送给Y;Y:解密A发来的信息,并可将M和签 名保存起来。 解决纠纷: Y:向A发送 EKay[IDx|| M || EKxa[IDx|| H(M)]] A:用Kay恢复IDx,M,和签名( EKxa[IDx|| H(M)]),然后用Kxa解密签名并验证Hash值.
数字签名 概括
13.1基本概念
数字签名是认证的重要工具 为什么需要数字签名:
报文认证用以保护双方之间的数据交换不被第三 方侵犯;但它并不保证双方自身的相互欺骗。假定 A发送一个认证的信息给B,双方之间的争议可能 有多种形式:
B伪造一个不同的消息,但声称是从A收到的。 A可以否认发过该消息,B无法证明A确实发了该消息。
数字签名应满足的要求
收方能确认或证实发方的签字,但不能伪造; 发方发出签名后的消息,就不能否认所签消息; 收方对已收到的消息不能否认; 第三者可以确认收发双方之间的消息传送,但 不能伪造这一过程
数字签名应具有的性质
必须能够验证签名者及其签名的日期时间; 必须能够认证被签名消息的内容; 签名必须能够由第三方验证,以解决争议;
两类数字签名函数
直接数字签名
仅涉及通信双方 有效性依赖发方密钥的安全性
仲裁数字签名
使用第三方认证
直接数字签名(DDS)
(1) AB: EKRa[M]
提供了认证与签名: • 只有A具有KRa进行加密; • 传输中无法被篡改; • 需要某些格式信息/冗余度; • 任何第三方可以用KUa 验证签名
3 RSA签名方案
1. 密钥的生成(同加密系统) 公钥Pk={e,n};私钥Sk={d,n}。 2. 签名过程 (用d,n) 明文:M<n 密文:S=Md(mod n). 3. 验证过程 (用e,n) 给定M,S,Ver(M,S)为真,当且仅当, M=Se(mod n)
13.4 EIGamal签名方案
仲裁数字签名技术(3)
双密钥加密方式,仲裁者不可以看见消息 (1) XA: IDx||EKRx[IDx||EKUy (EKRx[M])] (2) AY: EKRa[IDx|| EKUy[EKRx[M]] || T] X:对消息M双重加密:首先用X的私有密钥 KRx,然后用Y的公开密钥KUy。形成一个签 名的、保密的消息。然后将该信息以及X的标 识符一起用KRx签名后与IDx 一起发送给A。 这种内部、双重加密的消息对A以及对除Y以外 的其它人都是安全的。
13.6其它签名技术简介(Cont.)
盲签名
Chaum在1983年提出。 需要某人对文件签名,但又不想签名者知道文件 内容,称为盲签名。 适应于电子选举、数字货币协议中。
群签名
群签名是群体密码学中的课题,1991由Chaum 和van Heyst提出。 特点:1 只有群体成员才能代表群体签名;2 可用 公钥验证签名,但不知是谁签的名;3 争议发生时 可由群体成员或可信第三方确认签名者。
13.6其它签名技术简介
不可否认签名
Chaum和Van Antwerprn 1989年提出 该签名的特征是:验证签名者必须与签名者合作。 验证签名是通过询问------应答协议来完成。这个 协议可防止签名者Bob否认他以前做的签名 一个不可否认的签名方案有三个部分组成: 签名算法、验证协议、否认协议 不可否认的签名的本质是无签名者合作不能验证 签名,从而防止复制和散布其签名文件的可能,适 应于电子出版系统知识产权的保护。
注:数字签名功能包含了认证的功能。
数字签名的设计要求
签名必须是依赖于被签名信息的比特模式; 签名必须使用某些对发送者是唯一的信息,以 防止双方的伪造与否认; 必须相对容易生成该数字签名; 必须相对容易识别和验证该数字签名; 伪造该数字签名在计算复杂性意义上具有不可 行性,既包括对一个已有的数字签名构造新的 消息,也包括对一个给定消息伪造一个数字签 名; 在存储器中保存一个数字签名备份是现实可行 的。
仲裁数字签名技术(3)
A:检查X的公开/私有密钥对是否仍然有效,如 果是,则认证消息。并将包含IDx、双重加密的 消息和时间戳构成的消息用KRa签名后发送给Y 本模式比上述两个模式具有以下好处: 1、在通信之前各方之间无须共享任何信息,从 而避免了联手作弊; 2、即使KRx 暴露,只要KRa 未暴露,不会有错 误标定日期的消息被发送; 3、从X发送给Y的消息的内容对A和任何其他人 是保密的。
注意:
(1)和(2) 存在一个共性问题: A和发送方联手可以否认签名的信息; A和接收方联手可以伪造发送方的签名; 在这种模式下Y不能直接验证X的签名,Y认为A的消 息已认证,只因为它来自A。因此,双方都需要高度 相信A: X必须信任A没有暴露Kxa,并且没有生成错误 的签名EKxa[IDx|| H(M)] 。 Y必须信任A仅当散列 值正确并且签名确实是X产生的情况下才发送的 EKay[IDx|| M || EKxa[IDx|| H(M)] || T] 。双方 都必须信任A处理争议是公正的。只要A遵循上述要 求,则X相信没有人可以伪造其签名;Y相信X不能否 认其签名。上述情况还隐含着A可以看到X给Y的所有 信息,因而所有的窃听者也能看到。
(1)Authentication:用hash function來產生message digest,在信息到達目 的地被解開時,會藉由比對hash code確保中途訂單沒有被別人改過。
(2)Digital Signature:sender用自己的private key把資料加密,到destination 只要這個能用sender的public key解開資料,就代表這個訂單確實是 sender傳的。
13.5 DSA算法描述
全局公钥(p,q,g) p为512~1024bit的大素数, q是(q-1)的素因子,为160比特的素数, g:=h(p-1)/q mod p, 且1<h<(p-1),使得 h(p-1)/q mod p >1
用户私钥x:x为0<x<q内的随机数 用户公钥y:y=gx mod p
仲裁数字签名技术(2)
单密钥加密方式,仲裁者不可以看见消息 (1) XA: IDx || EKxy[M]||EKxa[IDx|| H(EKxy[M])] (2) AY:EKay[IDx||EKxy[M] || EKxa[IDx|| H(EKxy[M])] || T]
仲裁数字签名技术(2)
在这种情况下,X与Y之间共享密钥Kxy, X:将标识符IDx ,密文 EKxy[M],以及对IDx和 密文消息的散列码用 Kxa加密后形成签名发送给A。 A:解密签名,用散列码验证消息,这时A只能 验证消息的密文而不能读取其内容。然后A将 来自X的所有信息加上时间戳并用Kay加密后发 送给Y。
13.2.1直接数字签名的缺点
验证模式依赖于发送方的保密密钥;
发送方要抵赖发送某一消息时,可能会声称其私有密钥丢失 或被窃,从而他人伪造了他的签名。 通常需要采用与私有密钥安全性相关的行政管理控制手段来 制止或至少是削弱这种情况,但威胁在某种程度上依然存在。 改进的方式例如可以要求被签名的信息包含一个时间戳(日 期与时间),并要求将已暴露的密钥报告给一个授权中心。
(1’) AB: EKUb [EKRa(M)] 提供了保密(KUb)、认证与签名(KRa):
直接数字签名(cont.)
(2) AB: M||EKRa[H(M)] 提供认证及数字签名 -- H(M) 受到密码算法的保护; -- 只有 A 能够生成 EKRa[H(M)] (2’) AB: EK[M||EKRa[H(M)]] 提供保密性、认证和数字签名。
IC Card-定书系统
IC Card-Based Security Applications
系统简介:
系统架构:
加密算法:
M || E
K H E EK[M||EKRa[H(M)]]
H D
M
KUa Compare
K
EKRa[H(M)]
D
Message Encryption and Signature :
(3)Confidentiality:上述兩個步驟都做完以后,用secret K把整個資料加密, 就可以把資料傳送出去
双重认证:
(1)订单M先用Purchaser的KR1加密,然后用Provider的KU2加密傳給 他。這個加密過的信息只有Provider能夠解开,因他有KR2。 (2) Provider收到Purchaser傳來的資料以后把它用KR2解開,再用KU1解開 下一層,就可以證明這個信息是由Purchaser傳過來的,而且經過hash function 比對hash code,可以证明信息中途沒被改過