密码学期末复习

Posted 撅腚的鸭子~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码学期末复习相关的知识,希望对你有一定的参考价值。


文章目录


考试题型:简答题、填空题、计算说明题

第一章 绪论

信息安全概述与密码学组成

1、什么是信息安全

为了防止未经授权就对知识、实事、数据或能力进行使用、滥用、修改、破坏、拒绝使用或使信息被非法系统辨识、控制而采取的措施

2、信息安全解决的本质问题是什么?

可信与可控,可信:值得信赖的,所有的结果都没有超过预期;可控:可以控制的,所有的操作都在控制下完成

3、信息的安全风险来源

信息系统的脆弱性和安全威胁

4、如何理解信息安全

没有绝对的标准,没有绝对的保证,没有完美系统

信息安全的相关标准

机密性:信息不被泄露给非授权的用户
完整性:信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插 入等破坏和丢失的特性
认证:保证通信的合法性
授权
抗抵赖:源不可否认,宿不可否认


第二章 数学基础

有限域

1、群、环和域,三者之间有什么区别?

1、群的概念可以理解为:一个集合以及定义在这个集合上的二元运算,满足群的四条公理,封闭性、结合性、单位元、反元素。具体理解为:
封闭性:在集合上作任意二元运算,不会诞生新的运算,这个集合已经经过充分的完美拓扑。
结合性:组合一个二元操作链,之间没有先后运算的区别,这种操作是平坦的(区别交换律)。
单位元:具有单位的属性,单位元和任何一个元素操作等于那个元素本身。
反元素:集合中任何一个元素,存在一个称为反元素的元素与那个元素进行操作后,最后的结果为单位元。
2、交换群就是在满足群的”四公理“的基础上在加上一个可交换的属性,可把满足可交换的操作满足对称性
3、环是细化的群,一个环中涉及两个二元运算,分别是(R,+)与(R, ·),前者是个可交换群,后者是一个半群。半群可理解为仅仅满足封闭性以及结合律的群,则忽略了单位元与反元素的限制。似乎可以想象,如果一个群为以单元为中点的对称分布,则半群为群的单位元劈开的两瓣之一,所以称之为半群。
4、 从群到环再到域,是一个条件逐渐收敛的过程,条件的收敛,也带来集合上丰富的特性。

2、在密码学中为什么采用有限域?

所有的加密算法都涉及整数集上的算术运算。如果某种算法使用的运算之一是除法,那么我们就必须使用定义在域上的运算。加密算法需要明文与密文一一映射关系,而密文是有限的,无限域存在浪费。

数论基础

1、同余的概念:若整数a和b有(a mod n)=(b mod n),则称a与b在mod n下同余,记a≡b mod n

2、模算数

加法: [(a mod n) + (b mod n)] mod n= (a+b) mod n
减法: [(a mod n) - (b mod n)] mod n= (a-b) mod n
乘法:[(a mod n) × (b mod n)] mod n= (a ×b) mod n

3、Fermat定理和推论

定理:若p是素数,m是正整数且不能被p整数,则m^(p−1)≡1 mod p
推论:若p是素数,m是任意正整数,则m^p≡m mod p

4、Euclid算法计算最大公因子

5、Euler函数Φ(n),指小于n且与n互素的正整数的个数,对于素数p有:Φ§=p-1;
对于两个素数p和q,p≠q,那么对n=pq,有:Φ(n)= Φ (pq)= Φ(p)× Φ (q)=(p-1) ×(q-1)

6、Euler定理,对于任意互素的m和n,有:m^𝜑(𝑛) ≡ 1mod n;
7、什么是本原根

如果使得a^m≡1 mod n成立的最小正幂m满足m=φ(n),则称a是n的本原根。

第三章 对称密码算法

对称加密算法模型

1、什么是一个好的加密算法

• 密码算法是固定的;
• 明文和密文是一个一一映射关系:单射
• 密文的所有统计特征都是独立于所用密钥,即理想加密算法

2、分组密码的模型:

分组密码,就是一个明文分组被当作一个整体来产生一个等长(通常)的密文分组的密码
分组密码的实质是,设计一种算法,能在密钥控制下,把n比特明文简单而又迅速地置换成唯一n比特密文
并且这种变换是可逆的(解密)。

3、加密方法(算法)的安全性依赖于什么?

密钥的安全性!(不是加密算法,算法需要公开);破译密文所需要的计算量

4、选择密码系统的原则是什么?

破译密码的代价超过密文信息的代价; 破译密文的时间超出密文信息的有效生命期

5、DES最重要的三个原因

通过验证,安全性高; DES是最早成为国际标准的对称加密算法; DES目前仍然被广泛的使用。

6、经典Feistel网络

1、为什么把这个叫做理想分组密码:算法固定;明文和密文是一一对应的;密文的所有统计特征都是独立
于所用密钥的;
2、Feistel网络的密钥空间有密钥:2 ^n! ; 在n较小的时候是不安全的; 密钥的长度:n*2^n

7、对付统计分析的方法:

(1)扩散
明文的统计特性消散在对应的密文中,这样可以让多个明文数字尽可能影响多个密文数字,等价于每个密
文数字被许多明文数字影响作用:尽可能明文和密文间统计关系复杂
(2)混淆
尽可能使密文和密钥之间的统计关系复杂,阻止攻击者发现密钥

DES加密算法

1、 DES算法实现加密需要三个步骤:

第一步:初始置换(IP)
第二步:16轮Fiestel结构迭代
第三步:末尾置换(IP-1)

2、DES的雪崩效应:明文或密钥的微小改变对密文产生很大的影响。

AES加密算法

1、AES算法结构(SPN结构)

2、字节代替变换分析

能够防止已有的各种密码分析攻击; 输入位和输出位之间的相关性几乎没有;

3、行移位变换分析

行移位就是将某个字节从一列移到另一列,其线性距离是4字节的倍数

第四章 对称密码的使用方法

保护通信机密性的最有效办法之一是对通信数据进行加密

对称加密算法实现的保密性

1、链路加密与端对端加密

随着层数的上升 要加密的信息变少,机密性更高需要的密钥增加

2、链路加密方法

消息头被加密,减少传输分析的机会,但无法抵御流量分析攻击。验证消息的来源难度加大。接收方拿到
的消息是最后一段链路解密后的明文。

3、端对端加密方法

无法抵抗流量分析攻击。按照统一长度的数据填充传输层和应用层传输的消息。

对称加密算法实现的完整性

1、消息认证码

完整性指网络信息未经授权不能进行改变的特性,即:信息在存储或传输过程中保持不被偶然或蓄意地删
除、修改、伪造、乱序、重放、插入等破坏和丢失的特性。

2、消息认证的分类

消息内容的认证消息认证码; 消息的序号和操作时间的认证; 消息的信源和信宿收发双方身份认证

3、消息认证码计算

利用密钥生成一个固定长度的短数据块,称为消息认证码MAC,并将MAC附加在消息之后。接收方通过计算
MAC来认证该消息。计算公式:MAC=CK(M)。 ps:[K:收发双方共享的密钥]

4、消息认证码的讨论

保密性与真实性是两个不同的概念从根本上说,信息加密提供的是保密性而非真实性;某些信息只需要真
实性,不需要保密性,eg:网络管理信息等只需要真实性。

第五章 公钥密码算法

公钥密码算法

1、公钥密码和对称密码的区别

对称密码是基于置换和扩散;非对称密码是基于数学难题;对称密码只使用一个密钥;公钥算法使用两个
独立的密钥;

2、数字签名问题:如何确保数字签名是出自某特定的人,并且各方对此均无异议?

防止假冒:发送方用自己的私钥加密信息,其他人没有私钥无法假冒;
防止篡改:A给B发文档,先把文档进行哈希生成摘要,然后用自己的私钥对摘要加密生成数字签名,发
送出去的是 明文文档,数字签名,中间人无法对铭文进行篡改,否则会被发现。
防止事后否认:发送的信息是由发送方私钥加密,发送方无法抵赖;

3、公钥密码比对称密码安全吗?公钥密码可以取代对称密码吗?公钥密码实现密钥分配比对称密码容易吗?

公钥密码也不一定比对称加密算法更安全;公钥算法不可能会取代对称加密算法,因为公钥算法所需的计
算量更大;

4、对称密码和公钥密码

5、ElGamal算法

RSA算法

1、RSA算法描述



2、如何找到足够大的素数p和q ?

为了避免攻击者用穷举法求出p和q,应该从足够大的集合中选取p和q。即p和q必须是大素数。

3、RSA的攻击方法

穷举法、对RSA的选择密文攻击、 对RSA的公共模数攻击、 对RSA的低加密指数攻击、
对RSA的低解密指数攻击、 对RSA的加密和签名的攻击


第六章 消息认证和散列函数

消息认证和hash函数

1、消息认证与数字签名的区别

消息认证:针对的是消息本身,用来验证消息的完整性,确保收到的数据没有被修改、插入、删除或者重
放。
数字签名:针对发送方的身份,攻击者想要篡改消息需要知道用户的私钥(对称加密不能实现用户身份
认证);
可以简单的理解为,两者的强度不同。数字签名的涵盖作用范围大于消息认证。消息认证是确保接收方
知道发送方的消息完整性,而数字签名不仅可以满足该点,还可以证明消息的确是由发送方本人发出的。
另外,消息认证往往用的是同一个秘钥,所以一般在一对一场景中使用多些,而数字签名用的是一对公
私钥对,多用于一对多场景中。联系就是两者都能确保消息的完整性,不被篡改。

2、可用来产生认证符的函数分为三类

(1) 消息加密函数(Message Encryption):用完整信息的密文作为对信息的认证。
(2) 消息认证码MAC (Message Authentication Code):MAC是消息和密钥的函数,产生一个固定长度
的值作为认证标识。
(3) 散列函数(Hash Function):是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。

3、消息认证码

利用密钥生成一个固定长度的短数据块,称为消息认证码MAC,并将MAC附加在消息之后。接收方通过计算
MAC来认证该消息。


4、hash函数

它以任意长度的消息做自变量,产生规定长度的消息摘要。
性质1(抗弱碰撞),指对给定消息x ,找到y,y≠x,且H(x)= H(y)在计算上是不可行的。
性质2(抗强碰撞),指满足H(x)= H(y)的(x,y)在计算上是不可行的。
性质3(单向的),称散列函数H为单向的,是指计算h的逆函数H^ -1在计算上不可行。
与MAC的区别:没有使用密钥,函数输入参数只有一个,可以检测出消息是否发生变化



5、生日攻击

第七章 密钥管理技术

密钥管理技术概述

1、密钥管理的重要性

决定整个密码体制安全性的因素将是密钥的保密性(“一切秘密予于密钥之中!”)
在考虑密码系统的应用设计时,特别是在商用系统的设计时,需要解决的核心问题之一是密钥管理问题,
而不是密码算法问题

2、密钥管理的概念、目的、要求

密钥管理涉及密钥的产生、检验、分发、传递、保管、使用、销毁的全部过程;
抗击各种可能的威胁;

对称密钥管理技术

1、典型的密钥分配过程、透明的密钥控制方案、分散式密钥控制


2、随机数的应用

密钥分配时的临时交互号nonce,防止重放攻击;RSA公钥加密中密钥的产生等

非对称密钥的管理技术

1、公钥授权以及公钥证书

通信双方使用证书来交换密钥,而不是通过公钥管理员。 证书包含用户编号和公钥,由证书管理员产生。

2、Diffie-Hellman密钥交换

第八章 数字签名和认证协议

数字签名

1、数字签名的定义

数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据
单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。

2、数字签名体制

签名算法: Sig(K,M)=S, 签名密钥K是秘密的,只有发方掌握
验证算法:Ver(K,S)=0,1=真,伪, 验证算法公开,便于他人进行验证
签名体制的安全性在于,从M和其签名S难以推出签名密钥K或伪造一个M’使M’和S可被证实为真。

3、直接数字签名方法

(1)用发送方的私钥对整条消息进行签名
	•  A→B: EKRa[M] :提供了鉴别与签名
	•  A→B: EKUb [EKRa(M)] :提供了保密(KUb)、鉴别与签名(KRa)
(2)用发送方的私钥对消息的hash码进行签名
	•  A→B: M||EKRa[H(M)]:提供数字签名
	•  A→B: EK[M||EKRa[H(M)]] :提供保密性、数字签名。

4、直接数字签名的缺点

依赖于发送方的保密密钥;
X的私钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳

5、仲裁数字签名

工作原理:通常的做法是所有从发送方X到接收方Y的签名消息首先送到仲裁者A,A将消息及其签名进行一
系列测试,以检查其来源和内容,然后将消息加上日期并与已被仲裁者验证通过的标识一起发给Y。

6、仲裁数字签名模式

(1)
(2)

(3)
7、解决重放攻击的方法

序列号; 时间戳; 挑战/应答

8、双方认证:对称加密方法





9、单向认证

10、其他数字签名方式

群签名:一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。

11、身份认证协议 —— Kerberos

Kerberos提供了一个集中式的认证服务器结构,认证服务器的功能是实现用户与其访问的服务器间的相互
鉴别,其实现采用的是对称密钥加密技术

以上是关于密码学期末复习的主要内容,如果未能解决你的问题,请参考以下文章

矩阵论 & 图论期末考试复习思维导图

网络空间安全导论期末复习资料

北航网络安全期末考点参考

期末复习计算机网络 谢希仁版网络安全

orcal期末复习总结

密码学复习(上)