现代密码学-第6章数字签名-20091202

合集下载

第6章 现代密码学课件

第6章 现代密码学课件
本章节主要介绍了现代密码学中的消息认证和杂凑算法。首先阐述了消息认证的重要性,它是用来抗击主动攻击,验证接收消息的真实性、完整性和顺序性的过程。接着详细讲解了消息认证码MAC的定义及使用方式,MAC是一种由密钥控制的公开函数作用后产生的认证符,通过比较发送方和接收方计算的MAC值来验证消息的真实性。此外,还探讨了产生MAC的函数应满足的要求,包括函数,通过举例说明了如何抵抗敌手的攻击,保护通信的安全。虽然本章节未直接提供课后习题及解答,但通过对消息认证和杂凑算法的深入讲解,为读者理解和解答相关习题提供了重要的理论基础。

现代密码学PPT课件

现代密码学PPT课件
因此要了解信息安全,首先应该知道信息安全面临 哪些威胁。
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。

现代密码学第1讲资料

现代密码学第1讲资料

2020/5/24
14
通信窜扰
攻击者对通信数据或通信过程进行干预, 对完整性进行攻击,窜改系统中数据的内 容,修正消息次序、时间(延时和重放)、 注入伪造消息。
2020/5/24
15
中断
对可用性进行攻击,破坏系统中的硬 件、硬盘、线路、文件系统等,使系统不 能正常工作,破坏信息和网络资源。
高能量电磁脉冲发射设备可以摧毁附近建筑物中的电子 器件,正在研究中的电子生物可以吞噬电子器件。
2020/5/24
10
系统穿透
未授权人对认证性(真实性Authenticity) 进行攻击,假冒合法人接入系统.
对文件进行窜改(窜改系统中数据内容,修正消息次序、时间、
延时和重放).
窃取机密信息. 非法使用资源等。
一般采取伪装、利用系统的薄弱环节、收 集情报等方式实现。
2020/5/24
11
违反授权原则
2020/5/24
4
第一章:引言
信息社会的发展与挑战 Internet上的对抗与威胁 网络安全的防护措施 OSI的参考模型 OSI的安全全业务 OSI的安全机制
2020/5/24
5
信息社会的发展与挑战
人类进入信息化社会时代。数字化、信息化、网络化正在 冲击、影响、改变我们社会生活的各个方面。从科学研究、生 产制造、产品流通、商业运作、超市购物、医疗服务、教育培 训、出版印刷、媒体传播,到文化生活、娱乐消闲、人际交往、 法律规范、伦理道德、乃至军事作战等等,无一不将受到信息 网络的挑战,无一不在信息技术这一最新高科技生产力的作用 下迅速变化。
Internet的安全已受到普遍的重视。
2020/5/24
9
Internet上的对抗与威胁

现代密码学和应用 ——数字签名-精品文档

现代密码学和应用 ——数字签名-精品文档

2019/2/21
13
签名方案的攻击类型
• 敌手的目标是:伪造签名
① 完全攻克:敌手能计算出私钥 ② 选择性伪造:敌手能对一个特殊的消息或 者预先选定的一类消息构造出正确的签名 ③ 存在性伪造:敌手能伪造至少一个消息的 签名,但敌手对被伪造签名所对应的消息 几乎没有控制能力
2019/2/21 14
–数字签名的签名过程 –数字签名的验证过程:不需要签名者的秘密知 识 (任何人都可验证真伪)
2019/2/21 5
数字签名的特点
① 签名是可信( 真实)的: 任何人都可以方便的验证 签名的有效性. ② 签名是不可伪造的:除了合法的签名者外,任何其 它人伪造签名是困难的,这种困难性指计算上是 不可行的。 ③ 签名是不可抵赖的:签名者不能否认自己的签名。 ④ 签名是不可复制的:如果签名是从别的地方复制 的,任何人都可发现消息与签名的不一致,从而 拒绝签名。 ⑤ 签名的消息是不可修改的
二、RSA和相关签名方案
• • • • •
RSA签名方案 有关RSA签名的可能攻击 实际中的RSA签名 ISO/IEC 9796规范 PKCS #1规范
2019/2/21
16
• RSA是以它的三个发明者Ron Rivest,Adi Shamir和Leoard Adleman的名字命名。 • RSA算法既可以用于加密,也可以用于数 字签名。 • RSA的安全性基于大数分解的困难性,该 算法已经经受住了多年深入的密码分析, 密码分析者既不能证明也不能否认RSA的 安全性,这恰恰说明该算法有一定的可信 度。
–DSA、ElGamal和Schnorr签名方案 –消息可以是任意长度
• 带消息恢复的数字签名方案:消息可从签 名自身恢复,不要求初始消息M作为验证算 法的输入

现代密码学概述

现代密码学概述

现代密码学概述现代密码学是研究保护信息安全的科学,它使用密码算法来加密和解密数据,以防止未经授权的访问和篡改。

密码学在现代社会中扮演着至关重要的角色,它保证了电子通信、互联网交易和数据存储的安全性。

一、密码学的基本概念和原理1.1 加密和解密在密码学中,加密是将明文转换为密文的过程,而解密则是将密文还原为明文的过程。

加密和解密的过程需要使用特定的密钥和密码算法。

1.2 对称密码和非对称密码对称密码算法使用相同的密钥进行加密和解密,加密和解密的速度较快,但密钥的分发和管理比较困难。

非对称密码算法使用一对密钥,分别用于加密和解密,密钥的管理更为灵活,但加密和解密的速度较慢。

1.3 数字签名和数字证书数字签名是在数字信息中添加的一种类似于手写签名的标识,用于验证数据的完整性和真实性。

数字证书则是由可信的第三方机构颁发的用于验证签名者身份的证书。

二、现代密码学的应用领域2.1 网络安全现代密码学在网络安全中扮演着重要的角色。

它通过对通信数据进行加密,保护用户的隐私和数据的安全,防止信息被窃听、篡改和伪造。

2.2 数据存储密码学被广泛应用于数据存储领域,如数据库加密、文件加密和磁盘加密等。

通过对数据进行加密,即使数据泄露也不会造成重大的损失。

2.3 电子支付现代密码学在电子支付领域也有广泛的应用。

它通过使用数字签名和加密技术,确保支付过程的安全性和可信度,防止支付信息被篡改和伪造。

三、常见的密码学算法3.1 对称密码算法常见的对称密码算法有DES(Data Encryption Standard)、AES (Advanced Encryption Standard)和RC4等。

这些算法在加密和解密的速度上都较快,但密钥的管理较为困难。

3.2 非对称密码算法常见的非对称密码算法有RSA、DSA和ECC等。

这些算法在密钥的管理上更为灵活,但加密和解密的速度较慢。

3.3 哈希函数算法哈希函数算法用于将任意长度的数据转换为固定长度的摘要值。

现代密码学-第6章数字签名

现代密码学-第6章数字签名

任给消息x M , 如果 y sig K ( x) C , 则将数据对(x,y)称为消息x的一个数字签名,或 直接把y称为消息x的数字签名
7
5.6.1 数字签名的基本概念
数字签名基本要求 对每一个密钥K, sigK和verK应该是多项式时间函数 verK是公开的函数, 而sigK是保密的 给定一个消息x, 除了发送者本人以外, 任何其他人找到满 足verK(x,y)为真的数字签名y,应该是计算上不可行的 如果攻击者能够找到满足verK(x,y)的数据对(x,y),而发送者 事先又没有对x签名,则称y是伪造(forgery)的数字签名。 数字签名算法必须满足的条件 签名者事后不能否认自己的签名; 其他人不能伪造签名; 当通信双方为签名真伪发生争执时, 可以由第三方解决 争端
假设签名者A采用先加密后签名的方案把消息x发送给接收 者B ,则他先用B的公开密钥eB对x加密, 然后用自己的私钥 dA签名.设A的模数为nA,B的模数为nB.于是A发送给B的数据 为: ( x eB mod nB ) d A mod nA .
如果B是不诚实的,那么B可能伪造A的签名.例如,假设B想 抵赖收到A发的消息x, 慌称收到的是x1.因为nB是B的模数, 所以B知道nB的分解,于是能够计算模nB的离散对数.即他能 找到k满足: ( x1 ) k x mod nB .
20
5.7.1 RSA算法描述
2.签名算法 设消息为x,则x的RAS签名是
y =x mod n.
3.验证算法 当接收方收到签名(x,y)后,计算
d
x , y e mod n.
如果x= x’,则y是x的RAS签名。
21
5.7.2 RSA数字签名的安全性
1.一般攻击 攻击方法: 设n与e为用户A的公钥,攻击者首先随意 选择一个数据y,并用A的公钥计算

现代密码学

现代密码学

摘要数字签名是现代密码学的主要研究课题之一,它是实现认证的重要工具,保证了数据的可靠性。

数字签名在金融、商业、军事等领域,尤其是在电子支票、电子邮件、电子贸易、电子购物、数据交换、电子出版以及知识产权保护等方面有着重要作用。

近些年来随着对数字签名的不断深入研究,产生了许多特殊的数字签名,例如盲签名、群签名、代理签名、多重签名、前向安全签名。

正是由于特殊数字签名具有的独特功能和实际用途,在一些特殊行业有广泛应用,特别是在数据完整性检验、身份证明、身份鉴别和防否认等方面功能独特。

关键词:盲签名1 盲签名的研究现状盲签名是一种特殊的数字签名,其特殊性体现在签名者并不知道签署的内容,即便签名者知道了签名与消息对,也无法将它们联系起来。

因此,盲签名技术应用广泛,尤其是电子投票和电子货币系统等。

盲签名的概念首先被David Chaum提出来,Chaum给出了一个基于RSA的盲签名方案,此后人们分别基于因子分解问题、离散对数问题、二次剩余问题等提出各种盲签名方案。

1992年,Okamoto基于Schnorr签名体制提出了第一个基于离散对数问题的盲签名方案[2]。

1994年,Camenisch等提出了基于离散对数的两个离散方案。

第一个方案是由DSA变形得出,第二个方案建立在Nyberg-Ruep pel签名体制之上。

1996年,Fan等基于二次剩余方根的难解性提出了一个盲签名方案,之后两年,Fan又提出一个部分盲签名方案,可以减少电子现金系统的计算量。

同年再次提出可以增强计算效率的一个盲签名方案。

2000年,姚亦峰等以Harn和Xu提出的十八种安全广义ElGamal型数字签名方案为基础,利用二元仿射变换,通过分析得到其中十二种方案是强盲签名方案。

2001年,Ch-ien 等根据RSA公钥密码系统提出一个部分盲签名方案,它能减少数据库的大小以及避免电子现金的重复花费。

2002年,黄少寅等基于Schnorr体制提出了一个必须经过多人同时盲签名才可生效的新方案,可以方便应用在电子现金需银行多个部门同时进行盲签名才可生效的情形中。

现代密码学知识点整理

现代密码学知识点整理

第一章 基本概念1. 密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:以上攻击都建立在已知算法的基础之上;以上攻击器攻击强度依次增加;密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q(1)加法密码 加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== 密钥量:q (2)乘法密码 加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k m od )(== 解密算法:q c k c D m k mod )(1-==密钥量:)(q ϕ (3)仿射密码 加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文q m k k m E c k m od )()(21+==解密算法:q k c k c D m k mod )()(112-==-密钥量:)(q q ϕ (4)置换密码 加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文)()(m m E c k σ==密钥量:!q仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析(1)26个英文字母出现的频率如下:频率 约为0.120.06到0.09之间 约为0.04 约0.015到0.028之间 小于0.01 字母et,a,o,i.n,s,h,rd,lc,u,m,w,f,g ,y,p,bv,k,j,x,q,z【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】 (二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算 (1)简单加法密码加密算法:κκ∈=∈====),...,(,),...,(,,11n n n nq n q n n k k k X m m m Z Z Y X 对任意设,密文:),...,()(11n n k k m k m m E c ++==密钥量:nq (2)简单乘法密码 密钥量:n q )(ϕ 1.简单仿射密码密钥量:n n q q )(ϕ2.简单置换密码 密钥量:nq )!( (3)换位密码 密钥量:!n(4)广义置换密码密钥量:)!(nq(5)广义仿射密码 密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: 密钥为一个5X5的矩阵加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。

现代密码学

现代密码学

的密文c进行变换,得到的明文是明文空间中的某
个元素,即
m′=h(c)
一般m′≠m。如果m′=m,则分析成功。
图1.5 保密通信系统模型
为了保护信息的保密性,抗击密码分析,保密系统 应当满足下述要求:
① 系统即使达不到理论上是不可破的,即 pr{m′=m}=0,也应当为实际上不可破的。就是说, 从截获的密文或某些已知的明文密文对,要决定密 钥或任意明文在计算上是不可行的。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。 前者是某个程序中的一段,不能独立于实际的应用 程序或系统程序;后者是能被操作系统调度和运行 的独立程序。
图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
本节主要讨论人为威胁,也就是对信息的人为攻击。 这些攻击手段都是通过寻找系统的弱点,以便达到 破坏、欺骗、窃取数据等目的,造成经济上和政治 上不可估量的损失。人为攻击可分为被动攻击和主 动攻击,如图1.1所示。
图1.1 攻击类型分类
1.被动攻击
被动攻击即窃听,是对系统的保密性进行攻击,如 搭线窃听、对文件或程序的非法拷贝等,以获取他 人的信息。被动攻击又分为两类,一类是获取消息 的内容,很容易理解;第二类是进行业务流分析, 假如我们通过某种手段,比如加密,使得敌手从截 获的消息无法得到消息的真实内容,然而敌手却有 可能获得消息的格式、确定通信双方的位置和身份 以及通信的次数和消息的长度,这些信息可能对通 信双方来说是敏感的。

现代密码学(第六章)密码技术应用

现代密码学(第六章)密码技术应用
当第1位~第3位参与者同时到场,求共享的秘密
h(x) a0 a1 x a2 x 2 (mod 17)
2019/11/6
14
二、不经意传输
“不经意传输协议”的特性
(不经意传输协议;Oblivious Transfer;OT)
设Alice欲告诉Bob 某个秘密。 Alice使用一个“不经 意传输协议”将此秘密发送给Bob。则发送/接收 过程就具有以下的性质。
2019/11/6
3
一、秘密共享
例:一个最简单的秘密共享方案
设保险柜有三把锁,分别编号为①、②、③。
张三拥有①、②号锁的钥匙。
李四拥有①、③号锁的钥匙。
王五拥有②、③号锁的钥匙。
三个人中,任何两个以上的人同时到场均可以打开保险 柜;任何一个以下的人到场均打不开保险柜。
此处,一个秘密指的是“①、②、③号锁的钥匙”; n=3(个人);门限值t=2 (个人)。
2019/11/6
16
二、不经意传输
(2)发送/接收过程完结时, Alice无法确知Bob是 否得到了秘密。
换句话说,在发/收过程结束后, Alice仍然仅仅知道: Bob得到秘密和未得到秘密的可能性各占1/2。除 此之外, Alice得不到任何新的消息。
2019/11/6
17
二、不经意传输
不经意传输的应用实例
当任何t-1个人以下同时到场,每个人交出自己的身 份名(ID(k),h(ID(k))),则获得了关于未知系数 的t元一次方程组,有t-1个以下方程,因此无法唯 一地确定h(x)。
2019/11/6
10
一、秘密共享
在Shamir秘密共享方案中 检测“欺骗者”
设有t+1个以上参与者同时到场。其中有一个参与者 是“欺骗者”Eve,他出示的是身份名(ID(k), h(ID(k)))是假的。

现代密码学-第6章数字签名习题与解答-20091202

现代密码学-第6章数字签名习题与解答-20091202

现代密码学-第6章数字签名习题与解答-20091202第6章数字签名习题及参考答案(注意:由于本章习题数字较大,所以需要调用大数库进行计算。

但由于期末考试题中的数字都是较小的数,且要求手算,所以希望大家参考书中例题和习题的题型代入一些2、3位的数进行手算练习)1. 对于RSA数字签名体制,假设p=839,q=983,N=p×q=824737。

已知私钥d=132111,计算公钥e和对消息m=23547的签名。

解:由RSA签名体制可以得e=d-1modφ(N)=132111-1mod882916=26959,对消息m的签名为s= m d mod N=23547132111mod824737=266749。

2. 对于RSA数字签名体制,假设模N=824737,公钥e=26959。

(1) 已知消息m的签名是s=8798,求消息m。

(2) 数据对(m, s)=(167058, 366314 )是有效的消息?签名对吗?(3) 已知两个有效的消息?签名对(m, s) = (629489, 445587)与(m′, s′) = (203821, 229149),求m×m′的签名。

解:(1) 由公式可得:m = s e mod N = 879826959mod824737 = 123456(2) 因为m’= s e mod N = 36631426959mod824737 = 167058 = m,所以是有效的消息?签名对。

(3) m×m’的签名为:y = (m×m’)d mod N = s×s’mod N = 4455587×229149mod824737 = 75915。

3. 在ElGamal数字签名体制中,假设p=19,g=13。

如果签名者A选取的私钥为x=10,试计算公钥。

设签名者A要对消息M=15进行签名,且选取随机数k=11,求签名者A 对M=15的签名。

06现代密码学之数字签名

06现代密码学之数字签名

6.2 ElGamal签名方案
ElGamal签名方案是由T.ElGamal于1984年提出 的,其安全性是基于有限域上离散对数问题的 难解性。
6.2.1 ElGamal签名方案描述 (1)密钥生成 选取大素数p,g∈ZP*是一个本原元,P和g公开。
随机选取整数x,1≤x≤p-2,计算 y=gx modp
(3)A计算y=ud modN,发送给C;
(4)C收到y后,计算yr-1 modN ,即得到明文m。
实际上, yr-1=(ud)r-1=((cre)d)r-1=m
这说明在应用RSA进行签名时,不要直接对消息进 行签名。一般说来,要先对消息进行杂凑,然后再 签名。
6.1.3 RSA数字签名与加密的结合
该攻击方法称为伪装攻击。
6.1.3 RSA数字签名与加密的结合
RSA签名并加密方案的计算中出现两次取不同 模的过程,为了保证脱密和验证过程的进行, 需要求nB>nA。因此就要为每个用户生成两个公 私钥对,分别用于加脱密和签名验证,并且用 于签名的模数的位数小于用于加脱密的模数的 位数。
这种解决方式符合密钥管理对加密密钥与签名 密钥分离的要求。目前的PKI系统大都遵守这 种密钥管理的要求。
RSA密码体制实现签名与加密的结合,具体为:
z=(xdAmodnA)eBmodnB 上式所采取的是先签名后加密的顺序,这一点十
分重要。实际上,如果A向B发送
z=(xeBmodnB)dAmodnA 攻击者C截获z,并计算zeAmodnA,得到xeBmodnB,
继而计算
(xeBmodnB)dCmodnC=z’ 并将z’发送给B。 这样B就会认为自己收到了用户C的签名消息。
所以Bob可以确认(r,s)=(6,3)是Alice对消息m=5的有效签 名。

现代密码学教程 第三版

现代密码学教程 第三版

现代密码学教程第三版
现代密码学教程(第三版)主要涵盖了现代密码学的基本概念、原理和应用。

以下是其主要内容:
1. 密码学概述:介绍密码学的发展历程、基本概念和原理,以及在现代信息技术中的作用和重要性。

2. 加密算法:详细介绍各种现代加密算法,如对称加密算法(如AES)、非对称加密算法(如RSA),以及混合加密算法等。

3. 数字签名与身份认证:介绍数字签名的原理、算法和应用,以及身份认证的常用技术,如基于密码的身份认证、基于生物特征的身份认证等。

4. 密码协议:介绍各种密码协议,如密钥协商协议、身份认证协议、安全协议等。

5. 密码分析:介绍密码攻击的类型和防御措施,如侧信道攻击、代数攻击等,以及密码分析的常用方法和技术。

6. 网络安全:介绍网络安全的基本概念、原理和技术,如防火墙、入侵检测系统、虚拟专用网等。

7. 实践与应用:通过实际案例和实践项目,让读者更好地理解和应用现代密码学的原理和技术。

第三版相对于前两版,在内容上更加深入、全面,同时也增加了一些新的技术和应用,以适应现代信息技术的发展和变化。

对于对密码学感兴趣的学生和专业人士来说,是一本非常值得阅读的教材。

现代密码学清华大学出版社课堂课件ppt课件

现代密码学清华大学出版社课堂课件ppt课件

•单击此处编辑母版标题样式 无条件安全 • 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文,花费多少时 间都不能解密密文。 • 单击此处编辑母版副标题样式 • Shannon指出,仅当密钥至少和明文一样长时 达到无条件安全(即一次一密) • 计算安全 – 破译密文的代价超过被加密信息的价值 – 破译密文所花时间超过信息的有效期
1.1 信息的安全威胁
因特网的开放性和共享性,给人们提供了方便 也带来了危险。
图1.1 攻击类型分类
单击此处编辑母版标题样式
• 单击此处编辑母版副标题样式
图1.2 恶意程序分类
安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务 2. 认证业务 3. 完整性业务 4. 不可否认业务 5. 访问控制
• 2.1 流密码的基本概念 单击此处编辑母版标题样式 • 流密码 关键密钥流产生器 • •同步流密码 单击此处编辑母版副标题样式 • 自同步流密码 • 有限状态自动机 • 密钥流序列具有如下性质: 极大的周期、良好的统计特性、抗线性分析、抗 统计分析。 • 密钥流产生器:驱动部分和非线性组合部分
应用中对于分组码的要求 单击此处编辑母版标题样式
• 安全性
• 运行速度 • 单击此处编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大 小) • 实现平台(硬、软件、芯片)
• 运行模式
称明文分组到密文分组的可逆变换为代换 单击此处编辑母版标题样式
• 设计的算法应满足下述要求: • 分组长度n要足够大,使分组代换字母表中的元素 • 单击此处编辑母版副标题样式 个数2n足够大,防止明文穷举攻击法奏效。 • 密钥量要足够大(即置换子集中的元素足够多), 尽可能消除弱密钥并使所有密钥同等地好,以防 止密钥穷举攻击奏效。 • 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的 关系可循,要能抗击各种已知的攻击。

精品文档-密码学基础(范九伦)-第6章

精品文档-密码学基础(范九伦)-第6章

第6章 数字签名
从上面的对比可以看出,数字签名必须能够实现与手书签名 同等的甚至更强的功能。为了达到这个目的,签名者必须向验证 者提供足够多的非保密信息,以便验证者能够确认签名者的数字 签名;但签名者又不能泄露任何用于产生数字签名的机密信息, 以防止他人伪造他的数字签名。因此,签名算法必须能够提供签 名者用于签名的机密信息与验证者用于验证签名 的公开信息,但二者的交叉不能太多,联系也不能太直观,从公 开的验证信息不能轻易地推测出用于产生数字签名的机密信息。 这是对签名算法的基本要求之一。
true
VERvk
(m,
s)
fals
e
s SIGsk (m) s SIGsk (m)
第6章 数字签名
由上面的定义可以看出,数字签名算法与公钥加密算法在某 些方面具有类似的性质,甚至在某些具体的签名体制中,二者的 联系十分紧密,但是从根本上来讲,它们之间还是有本质的不同。 比如对消息的加解密一般是一次性的,只要在消息解密之前是安 全的就行了;而被签名的消息可能是一个具体法定效用的文件, 如合同等,很可能在消息被签名多年以后才需要验证它的数字签 名,而且可能需要多次重复验证此签名。因此,签名的安全性和 防伪造的要求应更高一些,而且要求签名验证速度比签名生成速 度还要快一些,特别是联机的在线实时验证。
第6章 数字签名
在人们的日常生活中,为了表达事件的真实性并使文件核 准、生效,常常需要当事人在相关的纸质文件上手书签字或盖 上表示自己身份的印章。在数字化和网络化的今天,大量的社 会活动正在逐步实现电子化和无纸化,活动参与者主要是在计 算机及其网络上执行活动过程,因而传统的手书签名和印章已 经不能满足新形势下的需求,在这种背景下,以公钥密码理论 为支撑的数字签名技术应运而生。

现代密码学 第6章PPT课件

现代密码学 第6章PPT课件

ρ2(i)=(1+5i) mod 16
ρ3(i)=(5+3i) mod 16
ρ4(i)=7i mod 16
2020/12/4
32
6.3.3 MD5的安全性
目前对MD5的攻击已取得以下结果: ① 对单轮MD5使用差分密码分析,可在合理的时间内 找出具有相同杂凑值的两个消息。但这种攻击还未能 成功地推广到4轮MD5。 ② 可找出一个消息分组和两个相关的链接变量(即缓
④ 以分组为单位对消息进行处理每一分组Yq(q=0,…,L-1) 都经一压缩函数HMD5处理。HMD5是算法的核心,其中又有 4轮处理过程,如图6.6所示。
⑤ 输出消息的L个分组都被处理完后,最后一个HMD5的输 出即为产生的消息摘要。
2020/12/4
26
图6.6 MD5的分组处理框图
2020/12/4
第4轮的输出再与第1轮的输入CVq相加,相加时 将CVq看作4个32比特的字,每个字与第4轮输出 的对应的字按模232相加,相加的结果即为压缩函 数HMD5的输出。(见175页表6.1)
2020/12/4
28
步骤③到步骤⑤的处理过程可总结如下:
CV0=IV;
CVq+1=CVq+RFI[Yq,RFH[Yq,RFG[Yq,RFF[Yq,CVq]]]]
k>n,(2k-n个)可产生相同的MAC,敌手无法确定,还需 要在这2k-n个密钥中继续试验。 对消息认证码的穷举攻击代价大于攻击加密算法。 敌手有可能不直接攻击密钥,而伪造能够通过检验的 MAC和M。
2020/12/4
7
产生MAC函数应满足的要求
假定敌手知道函数C,不知道K
如果敌手得到M和CK(M),则构造一满足 CK(M’)= CK(M)的新消息在计算上不可行

现代密码学第六章单向函数和散列函数2

现代密码学第六章单向函数和散列函数2
《现代密码学》第六讲
HASH函数和MAC(二)
1
上节内容回顾



单向函数 Hash函数的定义 hash函数的用途 MD5算法 SHA-256算法
2
本节主要内容



消息鉴别码定义 CBC-MAC HMAC CCT认证加密标准
3
消息鉴别码

消息鉴别码又称为带密钥的hash
发送方
消息
接收方
密钥K
Hash函数
消息
公开信道
Hash函数 消息
密钥K
认证码 消息摘要
认证码
消息摘要
相等 是 认证有效

认证无效
4
消息鉴别码
消息认证码MAC(Message Authentication Code)是一 种消息认证技术。


发送方A和接收方B共享密钥K,若A向B发送消息M,则A计 算利用C=F (K, M)计算MAC值;然后将原始消息M和C一起 发送给接收方。 接收方B对收到的消息M用相同的密钥K进行相同的计算得 出新的MAC值C’。并将接收到的C与其计算出的C’进行比较 , 若相等,则: (1) 接收方可以相信消息未被修改。 (2) 接收方可以确信消息来自真正的发送方。
F是MAC函数,它利用密钥K和任意长度的消息M来 生成一个固定长度的短数据块C。
5
消息鉴别码
攻击目的
1 伪造攻击: 攻击者在没有密钥K的情况下,伪造一个未经过 认证的(M,Mac)对.
存在性伪造: 如果攻击者只能够对一个不由他控制的消息进行伪造, 那么这种伪造攻击称为存在性伪造攻击. 选择性伪造: 如果攻击者能够对由他选择的消息进行伪造,那么这种伪 造攻击称为选择性伪造攻击.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21世纪高等学校计算机规划教材
现代密码学
Modern Cryptography
作 者:何大可 彭代渊 唐小虎 何明星 梅其祥 出版社:人民邮电出版社
彭代渊 信息科学与技术学院 dypeng@ 2009.9-2010.1
1
现代密码学
Modern Cryptography
第6章 数字签名
16
6.1.3 数字签名的安全需求
Hash函数与数字签名的安3 数字签名的安全需求
使用已知消息攻击的存在性伪造
攻击者E从一个有效的签名(x, y)开始,其中y=sigK(h(x)).然后他 计算z=h(x),并企图找到x’x,使得h(x’)=h(x).如果E能做到这一 点,则(x’, y)就是一个有效的签名, 从而y是消息x’的一个伪造 签名.为了阻止这种攻击, 必须要求Hash函数h是弱无碰撞的.
假设签名者A采用先加密后签名的方案把消息x发送给接收 者B ,则他先用B的公开密钥eB对x加密, 然后用自己的私钥 dA签名.设A的模数为nA,B的模数为nB.于是A发送给B的数据 为: ( x eB mod nB ) d A mod nA .
如果B是不诚实的,那么B可能伪造A的签名.例如,假设B想 抵赖收到A发的消息x, 慌称收到的是x1.因为nB是B的模数, 所以B知道nB的分解,于是能够计算模nB的离散对数.即他能 找到k满足: ( x1 ) k x mod nB .
t k r 1 l d r 1 s d c d r 1 r c d c d x mod n.
于是,获得了秘文x。
抵抗措施
用户不要轻易地对其他人提供的随机数据进行签名 对数据的Hash值进行签名
25
6.2.2 RSA数字签名的安全性
4.对先加密后签名方案的攻击 攻击方法
使用唯密钥攻击的存在性伪造
当签名算法遭到唯密钥攻击时, 即攻击者E拥有签名者A的公钥 K.E就可能对一个随机的散列值z伪造签名y=sigK(z). 此时, 如果 Hash函数h不是单向的,则E可能找到一个消息x,使得z=h(x). 所以E能够成功伪造一个签名(x, y).为了阻止这种攻击, 必须要 求Hash函数h是单向的.
d d y y1 y2 =x1 x2 =(x1 x2 )d =xd mod n.
于是攻击者E得到了用户A对消息x的RSA数字签名y 抵抗措施
用户不要轻易地对其他人提供的随机数据进行签名 对数据的Hash值进行签名
24
6.2.2 RSA数字签名的安全性
3.利用签名进行攻击从而获得明文 攻击方法
100111000101 00011000
密钥K
sigK
6
6.1.1 数字签名的基本概念
一个数字签名体制是一个满足以下条件的五元组:
(M ,C , K , S ,V )
(1)消息空间:由所有任意长度消息组成的集合 M =A * (2)签名空间: 由所有签名组成的集合。签名长 度不超过n。 C 1in A i (3)密钥空间: K
任给消息x M , 如果 y sig K ( x) C , 则将数据对(x,y)称为消息x的一个数字签名,或 直接把y称为消息x的数字签名
8
6.1.1 数字签名的基本概念
数字签名基本要求 对每一个密钥K, sigK和verK应该是多项式时间函数 verK是公开的函数, 而sigK是保密的 给定一个消息x, 除了发送者本人以外, 任何其他人找到满 足verK(x,y)为真的数字签名y,应该是计算上不可行的 如果攻击者能够找到满足verK(x,y)的数据对(x,y),而发送者 事先又没有对x签名,则称y是伪造(forgery)的数字签名。 数字签名算法必须满足的条件 签名者事后不能否认自己的签名; 其他人不能伪造签名; 当通信双方为签名真伪发生争执时, 可以由第三方解决 争端
x=ye mod n, 于是可以伪造A的一个RSA数字签名(x,y)。因为 xd =(ye)d =yed =y mod n, 所以用户A对x的RSA数字签名是y。
这种攻击实际上成功的概率是不高的 因为对于选择的数据y,得到的x=ye mod n具有正确语 义的概率是很低的。 抵抗措施
仔细设计数据格式 对数据的Hash值进行签名
然后,B再公布他的新公开密钥为keB。现在B宣布他收到 的消息是x1,而不是x。
由于下式成立,所以A无法争辩。
( x1keB mod nB ) d A mod nA ( xeB mod nB )d A mod nA
4
6.1
数字签名概念
签名是证明当事人的身份和数据真实性的一种信息。 在传统的以书面文件为基础的事物处理中,采用书面 签名的形式,如手签、手印和印章等。书面签名得到 司法部门的支持,具有一定的法律意义
5
6.1
数字签名概念
在以计算机文件为基础的现代事物处理中,应采用电 子形式的签名,即数字签名(digital signature)。 数字签名的目的是提供一种手段,使得一个实体把他 的身份与某个信息捆绑在一起。 一个信息的数字签名实际上是一个数,它仅仅依赖于 签名者的密钥和被签名的消息。
23
6.2.2 RSA数字签名的安全性
2.选择消息攻击 攻击方法: 假设攻击者E想伪造消息x的签名,他容 易找到两个数据x1和x2,使得
x=x1 x2 mod n.
攻击者E设法让用户A分别对x1和x2 进行签名,得到
d y1 x1d mod n, y2 x2 mod n.
然后E可以计算
15
6.1.3 数字签名的安全需求
攻击者对数字签名系统的攻击目的 完全破译(total break) 攻击者E能确定签名者A的私钥K,因而能够计算签名 函数sigK,可以对任何消息产生有效的签名。 选择性伪造(selective forgery) 攻击者E能以某一个不可忽略的概率对另外某个人选 定的消息产生一个有效的签名。也就是说,如果给E 选定一个消息x,那么他能以一个正的概率找到x的签 名y=sigK(x),并且签名者A以前未对x签名。 存在性伪造(existential forgery) 攻击者E至少能够为一个消息产生一个有效的签名。 也就是说,E可能生成一个数据对(x,y),其中x是 消息,y=sigK(x)。签名者A以前未对x签名。
假设攻击者E已截获了秘文c=xe mod n,他想求出明文x。 于是,他选择一个小的随机数r,并计算 s r e mod n, l s c mod n,
t r 1 mod n. 因为s=re,所以sd=( re)d= mod n,r=sd mod n.然后E 设法让签 名者对l签名. 于是E又获得k=ld mod n. 攻击者E再计算:
verK称为验证算法(verification algorithm) (6)任给密钥K K , 签名算法sig K 与验证算法 verK 满足:
对每一个消息x M 和每一个签名y C , 都有 真, y sig K ( x) verK ( x, y ) 假, y sig K ( x)
9
6.1.1 数字签名的基本概念
手写签名与数字签名的区别 手写签名是所签文件的物理组成部分,数字签名必须 与所签文件捆绑在一起。 手写签名通过与标准签名进行比较或检查笔迹来验证, 数字签名是通过验证算法来验证。手写签名容易伪造, 好的数字签名算法应该使伪造签名十分困难。 手写签名不易复制。数字签名是一个二进制串,容易 复制。所以必须防止数字签名重复使用。
21
6.2.1 RSA算法描述
2.签名算法 设消息为x,则x的RAS签名是
y =x mod n.
3.验证算法 当接收方收到签名(x,y)后,计算
d
x , y e mod n.
如果x= x’,则y是x的RAS签名。
22
6.2.2 RSA数字签名的安全性
1.一般攻击 攻击方法: 设n与e为用户A的公钥,攻击者首先随意 选择一个数据y,并用A的公钥计算
彭代渊 信息科学与技术学院 dypeng@ 2009年12月
2
第6章 数字签名
6.1 6.2 6.3 6.4 6.5 6.6 数字签名概念 RSA数字签名体制 ElGamal数字签名体制 其它数字签名方案 数字签名标准 应用
3
6.1
数字签名概念
在政治、军事、外交、商业和日常生活中,人们经常 需要对纸质材料进行签名。 签名起到确认、核准、生效和负责任等多种作用。 随着计算机网络技术的发展,电子商务、电子政务和 电子金融等系统得到广泛应用,人们需要通过网络信 息传输对电子的文件、契约、合同、信件和张单等进 行数字签名以替代手写签名。
使用选择消息攻击的存在性伪造
攻击者E首先找到x’x, 使得h(x’)=h(x). 然后将消息x发给签名 者A, 并让A对消息的散列值h(x)签名, 从而得到y=sigK(h(x)). 所以E能够成功伪造签名(x’, y). 为了阻止这种攻击,必须要求 Hash函数h是强无碰撞的.
18
6.1.3 数字签名的安全需求
14
6.1.3 数字签名的安全需求
数字签名的攻击模型 唯密钥攻击(keyonly attack) 攻击者E拥有签名者A的公钥K,因而能够计算验证函 数verK。 已知消息攻击(known message attack) 攻击者E拥有一系列以前由签名者A所签名的消息。即 E具有数据对(xi,yi),其中xi是消息,yi=sigK (xi)是 A对xi的签名(i=1, 2, …)。 选择消息攻击(chosen message attack) 攻击者E可以选择一些消息请求签名者A签名。即E选 择消息xi,并将xi发送给签名者A,请求A对xi签名。A 计算yi=sigK(xi),并将yi发给E。所以,E具有A的有效 数字签名(xi,yi)(i=1, 2, …)。
相关文档
最新文档