第6章 消息认证和杂凑函数
现代密码学_清华大学_杨波着+习题答案
一、古典密码(1,2,4)解:设解密变换为m=D(c)≡a*c+b (mod 26)由题目可知密文ed 解密后为if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26) 由上述两式,可求得a=3,b=22。
因此,解密变换为m=D(c)≡3c+22 (mod 26)密文用数字表示为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]= ifyoucanreadthisthankateahcer4. 设多表代换密码C i≡ AM i + B (mod 26) 中,A是2×2 矩阵,B是0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。
解:dont = (3,14,13,19) => elni = (4,11,13,8)二、流密码 (1,3,4)1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c 3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a 1,a 2,a 3)=(1,0,1),求各线性反馈函数的输出序列及周期。
解:设反馈函数为 f(a 1,a 2,a 3) = a 1⊕c 2a 2⊕c 1a 3当 c1=0,c2=0 时,f(a 1,a 2,a 3) = a 1,输出序列为 101101…,周期为 3。
当 c1=0,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2,输出序列如下 10111001011100…,周期为 7。
当 c1=1,c2=0 时,f(a 1,a 2,a 3) = a 1⊕a 3,输出序列为 10100111010011…,周期为 7。
消息认证和杂凑算法
由此可见,强力攻击企图发现 由此可见,强力攻击企图发现authentication key不小 不小 于甚至大于对同样长度的解密key的攻击。 的攻击。 于甚至大于对同样长度的解密 的攻击
考虑以下的MAC算法 算法 考虑以下的 M = (X1 || X2 || … || Xm) 是一个由 位Xi数据块连接而成, 是一个由64位 数据块连接而成 数据块连接而成, 定义 ∆(M) = X1⊕X2⊕...⊕Xm ⊕ CK(M) = EK[∆(M)] ∆ 为异或操作; 为 工作模式的DES算法。 算法。 ⊕ 为异或操作;E为 ECB工作模式的 工作模式的 算法 Key length = 56 bit MAC length = 64 bit 强力攻击需要至少2 次加密来决定K。 强力攻击需要至少 56次加密来决定 。
CK(M ′) = EK[∆(M ′)] ∆ = EK[Y1⊕Y2 ⊕, …, ⊕ Ym-1 ⊕ Ym ] = EK[Y1⊕Y2 ⊕, …, ⊕ Ym-1 ⊕ (Y1⊕Y2 ⊕, …, ⊕ Ym-1 ⊕ ∆(M)) ] = EK[∆(M)] ∆ 用此方法,任何长度为 × 位的消息可以作为 用此方法,任何长度为64×(m-1)位的消息可以作为欺骗性 位的消息可以作为欺骗性 信息被插入! 信息被插入!
第六章 消息认证和杂凑算法
消息认证码 杂凑函数 MD5杂凑算法 安全杂凑算法 HMAC的安全性
消息鉴别码MAC
使用一个密钥生成一个固定大小的小数据块,并加入到 消息中,称MAC, 或密码校验和(cryptographic checksum) 1、接收者可以确信消息 未被改变。 未被改变。 、接收者可以确信消息M未被改变 2、接收者可以确信消息来自所声称的发送者; 、接收者可以确信消息来自所声称的发送者; 3、如果消息中包含顺序码(如HDLC,X.25,TCP),则接 、如果消息中包含顺序码( ),则接 ), 收者可以保证消息的正常顺序; 收者可以保证消息的正常顺序; MAC函数类似于加密函数,但不需要可逆性。因此在数学 函数类似于加密函数,但不需要可逆性。 函数类似于加密函数 上比加密算法被攻击的弱点要少。 上比加密算法被攻击的弱点要少。
北京航空航天大学840网络空间安全专业综合2020年考研专业课初试大纲
2020年硕士研究生入学考试专业课考研大纲一、考试组成网络空间安全专业综合共包括两门课的内容:数据结构与C语言程序设计、密码学与网络安全,分别为150分。
学生任选其中一门课的考试内容。
二、数据结构与C语言程序设计部分的考试大纲(150分)(一)整体要求1.理解数据的逻辑结构与存储结构的基本概念;2.理解数据结构算法的定义、基本原理和性质,理解算法分析的基本概念,包括采用大O形式表示时间复杂度和空间复杂度;3.理解C语言的特点以及C语言程序的组成;4.理解C语言主要的数据类型,包括整型、实型、字符型等常量与变量和变量的赋值;用typedef定义类型;5.理解C语言各种类型数据之间的混合运算;6.理解C语言算术表达式、关系表达式和逻辑表达式,表达式sizeof的含义。
(二)知识要点1.线性表(1)线性关系、线性表的定义,线性表的基本操作;(2)线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;(3)在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。
2.堆栈与队列(1)堆栈与队列的基本概念与基本操作;(2)堆栈与队列的顺序存储结构与链式存储结构的构造原理;(3)在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作的算法设计;(4)堆栈和队列在解决实际问题中应用。
3.树与二叉树(1)树与二叉树的基本概念,基本特征、名词术语;(2)完全二叉树与满二叉树的基本概念,二叉树的基本性质及其应用;(3)二叉树的顺序存储结构与二叉链表存储结的基本原理;(4)二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,重点是二叉树在以二叉链表作为存储结构基础上各种遍历算法(包括非递归算法)的设计与应用;(5)二叉排序树的基本概念、建立(插入)、查找以及平均查找长度ASL的计算。
4.内排序(1)排序的基本概念,各种内排序方法的基本原理和特点,包括排序过程中进行的元素之间的比较次数,排序总趟数、排序稳定性以及时间复杂度与空间复杂度计算;(2)插入排序法(含折半插入排序法);。
自考信息安全概论习题及答案
信息安全概论习题及答案第1章概论1.谈谈你对信息的理解.答:信息是事物运动的状态和状态变化的方式。
2.什么是信息技术?答:笼统地说,信息技术是能够延长或扩展人的信息能力的手段和方法。
本书中,信息技术是指在计算机和通信技术支持下,用以获取、加工、存储、变换、显示和传输文字、数值、图像、视频、音频以及语音信息,并且包括提供设备和信息服务两大方面的方法与设备的总称。
也有人认为信息技术简单地说就是3C:Computer+Communication+Control。
3.信息安全的基本属性主要表现在哪几个方面?答:(1)完整性(Integrity)(2)保密性(Confidentiality)(3)可用性(Availability)(4)不可否认性(Non-repudiation)(5)可控性(Controllability)4.信息安全的威胁主要有哪些?答:(1)信息泄露(2)破坏信息的完整性(3)拒绝服务(4)非法使用(非授权访问)(5)窃听(6)业务流分析(7)假冒(8)旁路控制(9)授权侵犯(10)特洛伊木马(11)陷阱门(12)抵赖(13)重放(14)计算机病毒(15)人员不慎(16)媒体废弃(17)物理侵入(18)窃取(19)业务欺骗等5.怎样实现信息安全?答:信息安全主要通过以下三个方面:A 信息安全技术:信息加密、数字签名、数据完整性、身份鉴别、访问控制、安全数据库、网络控制技术、反病毒技术、安全审计、业务填充、路由控制机制、公证机制等;B 信息安全管理:安全管理是信息安全中具有能动性的组成部分。
大多数安全事件和安全隐患的发生,并非完全是技术上的原因,而往往是由于管理不善而造成的。
安全管理包括:人事管理、设备管理、场地管理、存储媒体管理、软件管理、网络管理、密码和密钥管理等。
C 信息安全相关的法律。
法律可以使人们了解在信息安全的管理和应用中什么是违法行为,自觉遵守法律而不进行违法活动。
法律在保护信息安全中具有重要作用对于发生的违法行为,只能依靠法律进行惩处,法律是保护信息安全的最终手段。
第6章[第2部分]杂凑函数
单向杂凑函数安全性要求
杂凑函数的安全性取决于其抗击各种攻 击的能力,对手的目标是找到两个不同消 息映射为同一杂凑值。一般假定对手知道 杂凑算法,采用选择明文攻击法。
网络工程学院©
单向杂凑函数安全性
对杂凑函数的基本攻击方法: 穷举攻击法:给定h=h(H0, M),其中H0为初值,攻击 者在所有可能的M中寻求有利于攻击者的M’’,使h(H0, M’)=h(H0, M),由于限定了目标h(H0, M)来寻找h(H0, M’), 这种攻击法称为目标攻击。若对算法的初值H0不限定,使 其h(H0', M)等于h(H0, M’),则称这种攻击法为自由起始 目标攻击。 生日攻击:这种攻击法不涉及杂凑算法的结构,可用 于攻击任何杂凑算法。强杂凑函数正是基于生日悖论一类 的攻击法定义的。穷举和生日攻击都属选择明文攻击。生 日攻击给定初值H0,寻找M’M,使h(H0, M’)=h(H0, M), 也 可 对 初 始 值 H0 不 加 限 制 , 即 寻 找 H0’, M’ 使 h(H0’, M’)=h(H0, M)。 网络工程学院©
网络工程学院©
单向杂凑函数基本概念
单向杂凑函数 定义1 若杂凑函数h为单向函数,则称其为单向 杂凑函数。 显然,对一个单向杂凑函数h,由M计算H=h(M)是 容易的,但要产生一个M'使h(M')等于给定的 杂凑值H是件难事。 定义2 弱单向杂凑函数:若单向杂凑函数h,对任 意给定M的杂凑值H=h(M)下,找一M‘使h(M’)=H 在计算上不可行。 定义 3 强单向杂凑函数:对单向杂凑函数h,若要 找任意一对输入M1, M2,M1 M2, 使h(M1)=h(M2) 在计算上不可行。
网络工程学院©
杂凑函数(hash函数)
h是多对一映射
密码学基础教学大纲完整版
《密码学基础》课程教学大纲(课程代码:07310620)课程简介密码学基础是信息安全专业的一门技术基础课程,该课程的学习将为后续的信息安全课程打下基础,同时也为将来从事信息安全研究和安全系统的设计提供必要的基础。
该课程主要讲授流密码(古典密码学)分组密码学、公钥密码学、密钥分配与管理、信息认证和杂凑算法、数字签名以及网络加密与认证等几个部分,在其中将学习各种加解密、散列函数、单向函数、签名模式及伪随机发生器等多种密码学工具,以及如何应用这些工具设计一个实现基本信息安全目标的系统(目前学时不够,没有安排)。
基本密码学工具的掌握和应用这些工具构造安全服务就是本课程的基本目标。
本课程具有如下特点:(一)依赖很强的数学基础本课程需要数论、近世代数、概率论、信息论、计算复杂性等数学知识作为学习的基础。
这些数学基础的讲解既要体现本身的体系性,同时还要兼顾密码学背景。
(二)可扩展性强各种具体方法的学习不是本课程的最终目标,背后的基本原理以及应用这些原理设计新工具的能力才是本课程的最终目标。
(三)课程内容复杂且涉及面广由于密码学内容丰富,且包含许多复杂的知识点,所以本课程的讲授以线为主,即在基本主线的勾勒基础上对授课内容及复杂程度做出取舍。
本课程先修课程有:数据结构、近世代数、概率论、高等数学、高级语言程序设计等。
后续课程有信息安全扫描技术、PKI技术、病毒学等专业课程。
课程教材选用国内信息安全优秀教材杨波编著的《现代密码学》(清华大学出版社),同时参考国外优秀教材:《经典密码学与现代密码学》,Richard Spillman,清华大学出版社、Douglas R. Stinson著,冯登国译的《密码学原理和实践》,电子工业出版社,2003年2月第二版。
另外还向学生推荐国内的一些具有特色的操作系统教材如胡向东编写的《应用密码学教程》(电子工业出版社)等。
实验教材选用自编的实验指导书,同时参考上海交大的“信息安全综合实验系统实验指导书”,除了这些教材之外,学校的图书馆为师生提供了相关的学术期刊和图书。
消息认证和杂凑算法
将数据分组与Hash值异或形成新的
Hash值.
这将起到输入数据完全随机化的效果,并且 将输入中的数据格式掩盖掉.
生日悖论
在一个会场参加会议的人中,使参会人员中至 少有两人是同日出生的概率超过0.5的参会人 数至少为多少人? k个人都不是同日出生时概率Q(365,k) 至少有两人是同日出生的概率P(365,k) P(365,k)=1- Q(365,k)
MD5算法描述
T[1] T[2] T[3] T[4] ... = = = = D76AA478 E8C7B756 242070DB C1BDCEEE T[49] T[50] T[51] T[52] ... T[16] = 49b40821 T[64] = EB86D391 = = = = F4292244 432AFF97 AB9423A7 FC93A039
步骤3:初始化MD缓冲区。一个128位MD 缓冲区用以保存中间和最终Hash函数的结 果。 它可以表示为4个32位的寄存器(A,B,C,D) 寄存器初始化为以下的16进制值。 A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476
MD5算法描述
生日攻击
简要分析: H(y)=H(x)的概率为1/n, H(y)H(x)的概率为1-1/n。 随机输入的k个值y都使H(y)=H(x)不等 的概率为[1-1/n]k 至少有一个y,使得H(y)=H(x)的概率为 1- [1-1/n]k= 0.5 解得k=n/2
生日攻击
H有 2 m个可能的输出,如果H的k个随机输入中 至少有两个产生相同的输出的概率大于0.5, 则k= 2m 2 生日攻击具体方式
消息认证和杂凑算法教学课件
02
MD5算法采用了一种单向哈希函数的设计,这意味着它可 以将输入数据映射到输出哈希值,但无法从输出哈希值反 向推算出输入数据。
03
MD5算法具有较高的运算速度和广泛的应用范围,因此在 信息安全领域中具有重要的地位。
MD5算法的实现过程
MD5算法的实现过程 可以分为四个主要步 骤
1. 填充:将原始数据 进行填充,使其长度 达到一个特定的长度 ,这是为了使原始数 据的长度可以被512 整除。
MD5算法被认为存在安全隐患,主要 是由于它可以被用于生成所谓的“碰 撞”,即通过特定的方法可以生成两 个具有相同MD5哈希值的不同输入数 据。
这种碰撞的产生可能会被恶意攻击者 利用来制造伪造或篡改数据,从而绕 过一些安全措施。
此外,MD5算法的输出哈希值长度仅 为128位,相对于现代密码学需求来 说过于短小,容易被暴力破解攻击破 解。因此,在需要高安全性的场景下 ,建议使用更长的哈希函数,如 SHA-256或SHA-3。
import hashlib
def create_hmac(key, message)
return hmac.new(key, message, hashlib.sha256).hexdigest()
使用Python实现HMAC算法
key = b"my_secret_key"
message = b"Hello, world!"
01
02
初始化
将一个160位的消息摘要清零,然后 按照一定规则初始化一个5个160位的 寄存器数组。
03
迭代
对每个切分后的消息块进行迭代运算 ,将每个块与寄存器数组中的内容进 行一系列复杂的数学运算。
消息认证和杂凑函数课件
MAC算法的安全性基于哈希函数的不可逆性和加密 算法的强度。
MAC算法可以防止消息被篡改、伪造和重放攻击, 因为任何对消息的修改都会导致MAC标签验证失败 。
04
杂凑函数的实现
Hale Waihona Puke MD5杂凑算法摘要长度
MD5算法生成的摘要长度 为128位。
输入
MD5算法的输入为一个消 息。
处理过程
MD5算法首先将消息填充 至长度为512位,然后通 过一系列的压缩函数和模 运算,最终得到128位的 消息摘要。
THANK YOU
感谢观看
密码存储
杂凑函数可以将密码转化为固定 长度的摘要值,方便存储和比较
,同时保护密码的安全性。
数据完整性校验
杂凑函数可以用于数据完整性校 验,通过计算数据的哈希值并与 事先存储的哈希值进行比较,判
断数据是否被篡改。
数字签名
杂凑函数可以用于生成数字签名 ,用于鉴别消息的发送者身份并
防止消息被篡改。
消息认证和杂凑函数在物联网中的应用
03
消息认证码的生成
MAC算法的原理
消息认证码(MAC)是一种基于密钥的认证方法,用于验证消息的完整 性和真实性。
MAC算法基于哈希函数和对称加密算法,其中哈希函数用于生成固定长 度的摘要,对称加密算法用于加密消息和MAC标签。
MAC算法原理包括三个主要步骤:密钥生成、消息处理和MAC标签验证 。
应用
MD5广泛应用于数据完整 性验证和密码存储等领域 。
SHA-1杂凑算法
摘要长度 SHA-1算法生成的摘要长度为 160位。
应用 SHA-1广泛应用于数据完整性验 证和密码存储等领域,且在安全 性上比MD5更高。
输入 SHA-1算法的输入为一个消息。
消息认证(Message Authentication)
Message Digest
目标:确保信息的完整性(Integrity) 特色: (1) 不需密钥 (2) 任意长信息输入,固定长摘要输出 (3) 找出两个不同的输入,使输出相同在计算上很难 常用系統: MD5 (RFC 1321) SHA-1 (FIPS 180-1)
Structure of Message Digest
Message authentication code
• Prerequisite: A and B shares a key K
– Can be a session key
• MAC: a short fixed-size data block, depending on the message M and the shared key K • MAC(K,M)=CK(M) • Sender: M||CK(M) • Receiver: on receiving M’|C’
HMAC的设计目标
• Hash函数不使用密钥,不能直接用于MAC • HMAC要求 –可不经修改使用现有hash函数 –其中嵌入的hash函数可易于替换为更快和更安 全的hash函数 –保持嵌入的hash函数的最初性能,不因适用于 HAMC而使其性能降低 –以简单方式使用和处理密钥 –在对嵌入的hash函数合理假设的基础上,易于 分析 HMAC用于认证时的密码强度
MD5不再安全!?
安全的杂凑函数在设计时必须满足两个要求
● ●
找到两个不同输入而得到相同的输出值在计算上是不可行的—— 抗碰撞
给定一输出值找出输入值在計算上是不可行的——单向性
2004年在Crypto會議,來自山東大學的王出一种可以快速找到碰撞的方法 受影响的算法—— MD5、HAVAL-128、MD4、RIPEMD SHA-0及減弱条件下的SHA-1不安全——在任何初始值下 用240次hash运算可以找出SHA-0的碰撞 SHA-1预计至2010年也会被破解
信息安全练习卷
ANSWER:CD 10、 下列属于 PKI 相关标准的是( )。
A. CHAP
B. NTLM
C. X.509
D. Kerberos
E. LDAP
F. X.500
ANSWER:CEF
11、 数字签名是用于保障()
A、机密性
B、完整性
D、不可否认性 E、可靠性
C、 认证性
ANSWER:BCD 12、 防范网络嗅探的主要方法有( ) A. 安全的拓扑结构 B. 用静态的 ARP 代替动态的 ARP 或者 IP-MAC 对应表 C. 用静态路由代替动态路由 D. 会话加密
第 1 页 共 12 页
C. SMSS D. WINLOGON ANSWER:D 7、 恶意代码往往会进行“三线程”运动。其中注入其他可执行文件内,与恶意代码进程同步的是哪个线
程?( ) A. 主线程 B. 监视线程 C. 守护线程 D. 注入线程 ANSWER:C 8、 下列不具有容错特性的磁盘阵列类型是( )。 A. RAID-0 B. RAID-1 C. RAID-4 D. RAID-5 ANSWER:A 9、 证书和证书撤销信息的分发办法是( )。 A. 发布 B. 注册 C. 下载 D. 导入 ANSWER:A 10、在 Windows 系统中,如果仅对某个文件夹中更改过的数据进行备份,最好选择哪种备份?( ) A. 普通备份 B. 差异备份 C. 增量备份 D. 副本备份 ANSWER:C 11、下面的哪一项不是对称密钥加密技术的有关问题:( ) A. 认证中心的安全 B. 有 m 个用户的网络组中,每对用户之间有一个不同的密钥,那么这个网络组将需要 m(m-1)/2 个密钥 C. 密钥的安全分发 D. 密钥的泄漏使攻击者能够模仿密钥的所有者 ANSWER:A 12、关于入侵检测技术,下列哪一项描述是错误的( ) A.入侵检测系统不对系统或网络造成任何影响 B.审计数据或系统日志信息是入侵检测系统的一项主要信息来源 C.入侵检测信息的统计分析有利于检测到未知的入侵和更为复杂的入侵 D.基于网络的入侵检测系统无法检查加密的数据流 ANSWER:A 13、在支持认证、完整性和保密性的大多数安全协议中:( ) A. 使用公开密钥加密技术生成数字签名 B. 使用私有密钥加密技术生成数字签名 C. 使用 DES 生成数字签名
第6章 消息认证和杂凑函数
图6.1 MAC的基本使用方式
2013-8-26源自•如果仅收发双方知道K,且B计算得到的 MAC与接收到的MAC一致,则这一系 统就实现了以下功能:
① 接收方相信发送方发来的消息未被篡改, 这是因为攻击者不知道密钥,所以不能够 在篡改消息后相应地篡改MAC,而如果仅 篡改消息,则接收方计算的新MAC将与收 到的MAC不同。 ② 接收方相信发送方不是冒充的,这是因为 除收发双方外再无其他人知道密钥,因此 其他人不可能对自己发送的消息计算出正 确的MAC。
2013-8-2
12
• 第1轮 已知M1、MAC1,其中 MAC1=CK(M1)。对所有2k个可能的密钥计算 MACi=CKi(M1),得2k-n个可能的密钥。 • 第2轮 已知M2、MAC2,其中 MAC2=CK(M2)。对上一轮得到的2k-n个可能的 密钥计算MACi=CKi(M2),得2k-2×n个可能的密 钥。 • 如此下去,如果k=αn,则上述攻击方式平均需 要α轮。例如,密钥长为80比特,MAC长为32 比特,则第1轮将产生大约248个可能密钥,第2 轮将产生216个可能的密钥,第3轮即可找出正 确的密钥。
2013-8-2
11
• 假定k>n,且敌手已得到M1和MAC1,其中 MAC1=CK1(M1),敌手对所有可能的密钥 值Ki求MACi=CKi(M1),直到找到某个Ki使得 MACi=MAC1。由于不同的密钥个数为2k,因 此将产生2k个MAC,但其中仅有2n个不同, 由于2k>2n,所以有很多密钥(平均有2k/2n=2kn个)都可产生出正确的MAC ,而敌手无法知 1 道进行通信的两个用户用的是哪一个密钥,还 必须按以下方式重复上述攻击:
2013-8-2 17
第六讲认证与杂凑函数.
二、认证码
例6-2-1 令X={0, 1},Y={00, 01, 10, 11},K={0, 1}。认证码如 下表: y j xi 0 1 kt
0 1
00
01
10
11
这种认证编码就是在消息xi后链接上密钥ki, yj=(xi||ki) (6—2—1) 可将ki看作是对消息xi的签字,或称其为xi的认证符(authenticator)。类似 于系统纠错码,这种认证码字的前面部分就是消息数字本身,因此它对 2018/8/13 16 消息本身是不保密的。
一、 认证与认证系统
log pd1/2{H(K|Y)-H(K)-H(K|Y)=-1/2H(K) 和 log pd1/2{H(K|XY)-H(K)+H(XY)-H(Y)-H(K|XY) =1/2{H(K)-H(XY)+H(Y) 或 log pd1/2{H(K|XY)-H(K)+H(X|Y)-H(K|XY) =1/2{H(K)-H(X|Y)} 因为 H(K)log#{X},且等号成立的充要条件是各密钥等概, 1 故有 系: (6—1—24) p
2018/8/13 9
一、 认证与认证系统
Simmons 称式(6-1-6)为认证信道的容量。利用信息量和熵的 关系式易于得到下述几个等价关系式。 定理6-2-2 -I (Y;K)等价于下述关系式:
H(K|Y)-H(K) H(Y|K)-H(Y) H(XYK)-H(K)-H(Y) H(K|XY)-H(K)+H(XY)-H(Y) H(K|XY)-H(K)+H(X|Y) H(YK|X)-H(X)-H(K)-H(Y) H(YX|K)-H(Y) H(XK|Y)-H(K)
d #
K
表达式(6—1—24)给出的条件简称为GMS限。 由系理可知,对于任何无条件安全的认证码,为了实现pd安全 2018/8/13 13 性所需的码 ( 注意不是码字 ) 的数量或密钥量至少为 1/ p2d 量级。
第6章_数据的完整性保护.
传输状态---动态
用户数据 系统的工作不依 赖于传输状态的数 据 由网络传输机制 提供完整性保护
• 储存状态数据完整性
保证储存状态数据的完整性,可以采取管理方面和技术方面的措施。 口令机制 资源访问机制
数据校验技术 可以对要保护的数据按照一定的 规则产生一些校验码,并且把这些校 验友码记录下来。 数据校验技术即完整性检查 数据校验的要求
– Yq
SHA分组处理框图
–CVq –160 –512 –A B C D E –f1,K,W[0…19] –20步 –A B C D E
–f2,K,W[20…39] –20步 –A B C D E
–f3,K,W[40…59] –20步
–A B C D E
–f\4,K,W[60…79] –20步
–+
其中前两个目标是HMAC被公众普遍接受的主要原因,这 两个目标是将杂凑函数当作一个黑盒使用,这种方式有两 个优点: 第一,杂凑函数的实现可作为实现HMAC的一个模块,这样 一来,HMAC代码中很大一块就可事先准备好,无需修改 就可使用; 第二,如果HMAC要求使用更快或更安全的杂凑函数,则只 需用新模块代替旧模块,例如用实现SHA的模块代替MD5 的模块。 最后一条设计目标则是HMAC优于其他基于杂凑函数的 MAC的一个主要方面,HMAC在其镶嵌的杂凑函数具有合 理密码强度的假设下,可证明是安全的
–+
–+
–+
–+
–160 –CVq1
SHA与MD5的比较
(1)抗穷搜索攻击的强度 由于SHA和MD5的消息摘要长度分别为160和128,所以用 穷搜索攻击寻找具有给定消息摘要的消息分别需做O(2160) 和O(2128)次运算,而用穷搜索攻击找出具有相同消息摘要 的两个不同消息分别需做O(280)和O(264)次运算。因此 SHA抗击穷搜索攻击的强度高于MD5抗击穷搜索攻击的强 度 (2)抗击密码分析攻击的强度 由于SHA的设计准则未被公开,所以它抗击密码分析攻击 的强度较难判断,似乎高于MD5的强度
保密技术及管理期末知识点汇总
《保密技术管理》期末考试范围知识点总结第一章绪论一、保密技术概念是指保护秘密信息安全,避免秘密信息失窃和泄漏的所有相关保障性技术。
从广义上讲,指所有避免秘密信息泄漏的技术。
这里所说的秘密信息不单单指国家秘密,还可以指商业秘密、工作秘密,乃至个人隐私。
二、保密技术与信息安全技术关系(1)保密技术与信息安全技术具有一路的核心内容,即确保信息保密性。
(2)保密技术与信息安全技术在安全需求、保护对象和保护品级等方面不尽相同,发展至今成为既彼此关联,又各自独立的两门技术学科。
(3)总之,保密技术与信息安全技术既有一路的基础性技术,也有彼此不能覆盖的技术领域,保密的目标有赖于二者一路的基础支撑和保障作用。
3、保密技术发展历程第一阶段:通信保密发展时期(20世纪40年代-70年代)第二阶段:计算机及网络保密发展时期(20世纪80年代-90年代)第三阶段:信息保障与全方位保障技术阶段(20世纪90年代以后)4、保密技术分类(从信息安全的角度)物理安全保密技术:防窃听、防窃照、防复印、信息清除、涉密物品管控等平台安全保密技术:身份辨别、信息认证、访问控制等数据安全保密技术:加密、容灾恢复、信息隐藏、数据备份等通信安全保密技术:猝发通信、通信干扰等网络安全保密技术:防火墙、入侵检测系统、网络隔离等五、保密技术体系框架(文字描述,不用画图)(1)保密技术可以按照技术对保密的支撑作用和功能特点划分成保密防护技术和保密检查技术两大类,直接表现了保密技术的对抗性特点。
同时组成体系框架图中的最底层。
(2)保密技术可以按照应用对象进一步细分,划分为网络保密技术、通信保密技术、物理安全保密技术、TEMPEST、保密检测技术。
在体系框架图中的组成保密防护技术和保密检查技术的上一层。
(3)网络保密技术和通信保密技术都以密码技术、信息隐藏技术作为基础技术,同时网络保密技术还包括身份认证、访问控制、监控审计、边界防护和主机安全等技术。
通信保密技术可以划分为有线通信保密技术和无线通信保密技术。
杂凑函数 散列函数
杂凑函数(散列函数)1. 定义杂凑函数(Hash Function),也称为散列函数,是一种将任意大小的数据映射到固定大小的数据的函数。
它将输入数据通过一系列的计算操作,转换成一个固定长度的输出,通常称为散列值或哈希值。
杂凑函数是密码学、数据完整性校验、数据索引等领域中重要的基础工具。
2. 用途杂凑函数有广泛的应用,主要包括以下几个方面:2.1 数据完整性校验杂凑函数可以用于验证数据的完整性,即通过计算数据的散列值,然后与预先保存的正确散列值进行比对,来判断数据是否被篡改。
这在网络传输、文件存储等场景中非常重要,可以有效防止数据被篡改而不被察觉。
2.2 数据唯一标识杂凑函数可以将数据映射为唯一的散列值。
由于散列值的长度固定,可以大大减小数据的存储空间。
在数据索引、数据库中,可以使用散列值作为数据的唯一标识,提高数据的查询和存储效率。
2.3 密码学杂凑函数在密码学中有重要的应用。
比如,密码存储时通常不会直接保存明文密码,而是将密码的散列值保存在数据库中。
当用户登录时,输入的密码经过散列计算后与数据库中的散列值进行比对,以验证用户的身份。
2.4 数据分片杂凑函数可以将数据按照一定的规则进行分片,将大规模数据分散存储在不同的节点上。
这样可以提高数据的并行处理能力和分布式存储系统的可扩展性。
3. 工作方式杂凑函数的工作方式主要包括两个方面:输入处理和输出生成。
3.1 输入处理杂凑函数接受一个任意长度的输入数据,并经过一系列的计算操作将其转换为固定长度的中间结果。
常见的输入处理操作包括:•消息扩展:将输入数据进行填充,使其长度满足计算要求。
常见的填充方式有补零、补位数等。
•消息分块:将输入数据按照固定长度进行划分,得到多个块。
每个块独立处理,可以提高计算效率。
•迭代计算:对每个数据块进行迭代计算,将当前数据块的计算结果作为下一个数据块的输入,直到处理完所有数据块。
3.2 输出生成经过输入处理后,杂凑函数会生成一个固定长度的输出,即散列值或哈希值。
信息网络安全-第6章+消息认证和杂凑函数
网络安全—技术与实践(第2版)
刘建伟 王育民 编著
清华大学出版社
课件制作人声明
本课件总共有17个文件,版权属于刘建伟所 有,仅供选用此教材的教师和学生参考。 本课件严禁其他人员自行出版销售,或未经 作者允许用作其他社会上的培训课程。
这在计算上是不可行的。
6、抗碰撞Hash函数(CRHF)
定义2:抗碰撞的杂凑函数满足以下条件:
1. 变量x可以是任意长度,而h(x)值具有固定的n bi
ts (如128b...160b)长度。
2. 杂凑函数必须是单向的。 3. 杂凑函数抗碰撞:意味着很“难”找到两个不 同的消息 x 和 y ,杂凑后得到相同的值 h(x)=h(y) 。
发送者发送:m 接收者验证:h(m’)=h(m) ?
MDC数学表示
迭代Hash函数
信息 X 被分为 t 个分组: X1, X2, …, Xt(如必要,需填充补位padding) 计算:H0=IV, Hi=f(Xi, Hi-1), …,h(X)=g(Ht)
h为Hash函数,f为轮函数,g为输出变换
IV(Hash函数的部分)和padding(填充)将对安全 有重要影响。
六. 应用杂凑函数的基本方式
1. 既提供保密性,又提供消息认证
M H
||
E
D
M H(M)
H
比较
k Ek[M||H(M)]
k
六. 应用杂凑函数的基本方式
2. 仅仅提供消息认证
||
M H E
M
D k
H
比较
k
Ek[H(M)]
信息论第6章课后习题答案
信息论第6章课后习题答案信息论是一门研究信息传输和处理的学科,它以数学为基础,探讨了信息的度量、编码和传输等问题。
本文将对信息论第6章的课后习题进行解答,以帮助读者更好地理解和应用信息论的知识。
1. 习题6.1:证明熵函数H(X)是凸函数。
解答:首先,我们知道熵函数H(X)可以表示为H(X) = -Σp(x)logp(x),其中p(x)为随机变量X的概率分布。
要证明H(X)是凸函数,需要证明对于任意的两个概率分布p1(x)和p2(x),以及0≤λ≤1,有H(λp1(x) + (1-λ)p2(x)) ≤ λH(p1(x)) + (1-λ)H(p2(x))。
根据Jensen不等式,对于凸函数f(x),有f(λx + (1-λ)y) ≤ λf(x) + (1-λ)f(y)。
将凸函数f(x)替换为H(X),则有H(λp1(x) + (1-λ)p2(x)) ≤ λH(p1(x)) + (1-λ)H(p2(x))。
因此,熵函数H(X)是凸函数。
2. 习题6.2:证明条件熵H(Y|X) ≥ 0。
解答:条件熵H(Y|X)可以表示为H(Y|X) = -ΣΣp(x,y)logp(y|x),其中p(x,y)为随机变量X和Y的联合概率分布。
要证明条件熵H(Y|X) ≥ 0,需要证明对于任意的联合概率分布p(x,y),有H(Y|X) = -ΣΣp(x,y)logp(y|x) ≥ 0。
根据信息论的定义,熵函数H(Y) ≥ 0,即对于任意的随机变量Y,其熵函数都大于等于0。
而条件熵H(Y|X)可以看作是在已知随机变量X的条件下,随机变量Y的不确定性。
根据信息论的定义,条件熵H(Y|X)应该不小于0,即H(Y|X)≥ 0。
3. 习题6.3:证明互信息I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)。
解答:互信息I(X;Y)可以表示为I(X;Y) = ΣΣp(x,y)log(p(x,y)/(p(x)p(y))),其中p(x,y)为随机变量X和Y的联合概率分布,p(x)和p(y)分别为随机变量X和Y的边缘概率分布。
现代密码学(清华大学出版社)课堂课件
驱动子系统常用一个或多个线性反馈移位寄存 器来实现,
非线性组合子系统用非线性组合函数F来实现。
第3章 分组密码体制
3.1 分组密码概述 3.2 数据加密标准 3.3 差分密码分析与线性密码分析 3.4 分组密码的运行模式 3.5 IDEA 3.6 AES算法——Rijndael 习题
• •
2流单.1密击流码此密处码编的基辑本母概版念标题样式
关键密钥流产生器
• •同单步击流此密处码编辑母版副标题样式 • 自同步流密码
• 有限状态自动机
• 密钥流序列具有如下性质:
极大的周期、良好的统计特性、抗线性分析、抗 统计分析。
• 密钥流产生器:驱动部分和非线性组合部分
图2.7 常见的两种密钥流产生器
•单无击条此件处安编全辑母版标题样式
• 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文,花费多少时
• 单间击都此不处能编解辑密母密版文副。标题样式 • Shannon指出,仅当密钥至少和明文一样长时
达到无条件安全(即一次一密)
• 计算安全
– 破译密文的代价超过被加密信息的价值
(data encryption standard, DES)
应单用击中此对处于编分辑组母码版的标要题求样式
• 安全性
•• 单运击行此速处度编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大
小)
• 实现平台(硬、软件、芯片)
• 运行模式
称单明击文此分处组编到辑密母文版分标组题的样可式逆变换为代换
• 设计的算法应满足下述要求:
• 分组长度n要足够大,使分组代换字母表中的元素 • 单个击数此2n处足编够辑大母,版防副止标明题文样穷式举攻击法奏效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2 杂凑函数
6.3 MD5杂凑算法 6.4 安全杂凑算法 6.5 HMAC
2018/11/13
1
• 第1章曾介绍过信息安全所面临的基本攻击类型, 包括被动攻击和主动攻击。抗击被动攻击的方法 是前面已介绍过的加密,本章介绍的消息认证则 是用来抗击主动攻击的。 • 消息认证是一个过程,用以验证接收消息的真实 性(的确是由它所声称的实体发来的)和完整性 (未被篡改、插入、删除),同时还用于验证消 息的顺序性和时间性(未重排、重放、延迟)。 • 除此之外,在考虑信息安全时还需考虑业务的不 可否认性,即防止通信双方中的某一方对所传输 消息的否认。实现消息的不可否认性可通过数字 签字,数字签字也是一种认证技术,它也可用于 抗击主动攻击。
2018/11/13 12
• 如果密钥长度小于MAC的长度,则第1轮 就有可能找出正确的密钥,也有可能找 出多个可能的密钥,如果是后者,则仍 需执行第2轮搜索。 • 所以对消息认证码的穷搜索攻击比对使 用相同长度密钥的加密算法的穷搜索攻 击的代价还要大。 • 有些攻击法却不需要寻找产生MAC所使 用的密钥。
2018/11/13 2
• 消息认证机制和数字签字机制都有产生认 证符的基本功能,这一基本功能又作为认 证协议的一个组成部分。 • 认证符是用于认证消息的数值,它的产生 方法又分为
– 消息认证码MAC(message authentication code) – 杂凑函数(hash function)
2018/11/13 4Leabharlann 图6.1 MAC的基本使用方式
2018/11/13
5
•
如果仅收发双方知道K,且B计算得到的 MAC与接收到的MAC一致,则这一系 统就实现了以下功能:
① 接收方相信发送方发来的消息未被篡改, 这是因为攻击者不知道密钥,所以不能够 在篡改消息后相应地篡改MAC,而如果仅 篡改消息,则接收方计算的新MAC将与收 到的MAC不同。 ② 接收方相信发送方不是冒充的,这是因为 除收发双方外再无其他人知道密钥,因此 其他人不可能对自己发送的消息计算出正 确的MAC。
2018/11/13 9
• 对MAC来说,由于产生MAC的函数一般 都为多到一映射,如果产生n比特长的 MAC,则函数的取值范围即为2n个可能 的MAC,函数输入的可能的消息个数 N>>2n,而且如果函数所用的密钥为k比 特,则可能的密钥个数为2k。如果系统不 考虑保密性,即敌手能获取明文消息和相 应的MAC,那么在这种情况下要考虑敌 手使用穷搜索攻击来获取产生MAC的函 数所使用的密钥。
2018/11/13
3
§6.1 消息认证码
6.1.1 消息认证码的定义及使用方式 • 消息认证码是指消息被一密钥控制的公开 函数作用后产生的、用作认证符的、固定 长度的数值,也称为密码校验和。 • 此时需要通信双方A和B共享一密钥K。设 A欲发送给B的消息是M,A首先计算 MAC=CK(M),其中CK(· )是密钥控制的公 开函数,然后向B发送M‖MAC,B收到后 做与A相同的计算,求得一新MAC,并与 收到的MAC做比较
2018/11/13 14
2018/11/13
7
2018/11/13
8
§6.1.2 产生MAC的函数应满足的要求
• 使用加密算法(单钥算法或公钥算法)加密 消息时,其安全性一般取决于密钥的长度。 • 如果加密算法没有弱点,则敌手只能使用穷 搜索攻击以测试所有可能的密钥。如果密钥 长为k比特,则穷搜索攻击平均将进行2k-1个 测试。特别地,对惟密文攻击来说,敌手如 果知道密文C,则将对所有可能的密钥值Ki 执行解密运算Pi=DKi(C),直到得到有意义 的明文。
2018/11/13 6
• MAC函数与加密算法类似,不同之处为 MAC函数不必是可逆的,因此与加密算法 相比更不易被攻破。 • 上述过程中,由于消息本身在发送过程中 是明文形式,所以这一过程只提供认证性 而未提供保密性。 • 为提供保密性可在MAC函数以后或以前进 行一次加密,而且加密密钥也需被收发双 方共享。
2018/11/13
10
• 假定k>n,且敌手已得到M1和MAC1,其中 MAC1=CK1(M1),敌手对所有可能的密钥 值Ki求MACi=CKi(M1),直到找到某个Ki使得 MACi=MAC1。由于不同的密钥个数为2k,因 此将产生2k个MAC,但其中仅有2n个不同, 由于2k>2n,所以有很多密钥(平均有2k/2n=2kn个)都可产生出正确的MAC ,而敌手无法知 1 道进行通信的两个用户用的是哪一个密钥,还 必须按以下方式重复上述攻击:
2018/11/13
11
• 第 1轮 已知M1、MAC1,其中 MAC1=CK(M1)。对所有2k个可能的密钥计算 MACi=CKi(M1),得2k-n个可能的密钥。 • 第 2轮 已知M2、MAC2,其中 MAC2=CK(M2)。对上一轮得到的2k-n个可能的 密钥计算MACi=CKi(M2),得2k-2×n个可能的密 钥。 • 如此下去,如果k=αn,则上述攻击方式平均需 要α轮。例如,密钥长为80比特,MAC长为32 比特,则第1轮将产生大约248个可能密钥,第2 轮将产生216个可能的密钥,第3轮即可找出正 确的密钥。
2018/11/13
13
例如,设M=(X1‖X2‖…‖Xm)是由64比特长的分组 Xi(i=1,…,m)链接得到的,其消息认证码由以下方 式得到: ( M ) X 1 X 2 X m
C K ( M ) EK ( M )
DES。因此,密钥长为56比特,MAC长为64比特, 如果敌手得到M‖CK(M),那么敌手使用穷搜索攻击 寻找K将需做256次加密。然而敌手还可用以下方式 攻击系统: 将X1到Xm-1分别用自己选取的Y1到Ym-1 Δ(M) ,并用 替换,求出Ym=Y1 Y2 … Ym-1 Ym替换Xm。因此敌手可成功伪造一新消息M′=Y1 … Ym,且M′ 的MAC 与原消息M的MAC相同。