前言:关于密码学课程老师讲述重点的针对性复习

部分转载自博文:

信息安全期末复习整理

密码学(期末复习版)

密码学复习笔记1【基本概念与传统密码技术】

文章目录

  • 信息系统5大目标
  • 威胁,攻击分别是什么
  • 什么是安全攻击,安全服务,安全机制;
  • 主动攻击和被动攻击的内容与区别
  • 古典密码用的基本方法
  • 经典密码机制分别有哪些经典方法
  • 对称和非对称密码的含义,各自的优缺点
  • 加解密是什么
  • 分组密码和流密码的含义
  • 密码分析学的五种攻击
  • 什么叫计算上的安全
  • 1、代替密码
  • 2、移位密码
  • 3、仿射密码
    • 求逆元的过程
    • 求欧拉数
  • 4、置换密码
  • 密钥空间
  • 对称密码涉及的原则:混淆,扩散
  • DES算法
  • AES分组加密算法(重点)
  • 分组密码的工作模式
    • ECB(电子密码本模式)
    • CBC(密码分组链接模式)
    • CFB(密文反馈模式)
    • OFB(输出反馈模式)
    • CTR(计数器模式)
  • 流密码:RC4
  • Diffie-Hellman密钥交换算法
    • 费马定理:
    • 欧拉函数
    • Euler定理
    • DH密钥交换算法过程
  • RSA算法(重点)
  • 公钥算法和对称钥算法区别:
  • 消息认证
    • Hash函数的性质
  • 常见hash算法
  • mac的基本用法
  • mac的生成
  • 数字签名
  • 典型密匙分发方案(重点)
  • 含保密性和身份认证的密钥分发方案(重点)
  • 公钥证书分发—x.509标准(重点)
  • x.509证书结构
  • 公钥基础设施PKI
  • 身份认证依据(所知所有特征)
  • 两种防重放攻击方式
  • 双向认证协议
  • 单向认证
  • Kerberos协议
  • 认证投标AH
  • 加密头标ESP
  • IPsec的传输和隧道模式(重点)
  • SSL协议过程
  • SSL连接的原理
  • PGP的认证图
信息系统5大目标

密码学五个性质分为机密(保密性)性、完整性、可用性、认证(真实)性和不可否认(不可追溯)性

威胁,攻击分别是什么

计算机网络面临以下的四种威胁:截获,中断,篡改,伪造。

网络安全的威胁可以分为两大类:即被动攻击和主动攻击。

威胁指破坏安全的潜在可能,在环境、能力、行为或事件允许的情况下,它们会破坏安全 ,造成危害,也就是说,威胁是脆弱性被利用而可能带来的危险;

攻击指对系统安全的攻击,它来源于一种具有威胁的智能,即有意违反安全服务和侵犯系统安全策略的智能行为;

什么是安全攻击,安全服务,安全机制;

安全攻击:任何危及信息系统安全的行为。
安全机制:用来检测、阻止攻击或者攻击状态恢复到正常状态的过程。
安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。目的在于利用一种或者多种安全机制进行反攻击。

三者的关系:一种安全机制可以提供多种安全服务,而一种安全服务也可以采用多种安全机制。安全服务阻止安全攻击。

例题:请说明安全策略、安全攻击、安全机制与安全服务之间的关系。

答:安全服务实现了安全策略,而安全机制实现了安全服务。
安全服务是用来防范安全攻击的,它们利用了一种或多种安全机制来提供服务。共同解决安全攻击问题。

主动攻击和被动攻击的内容与区别

主动攻击:伪装、重播、消息修改、拒绝服务

伪装:假装别的实体。如:捕获认证信息,进行重播
重播:将获得的信息再次发送以产生非授权效果
消息修改:修改合法消息的一部分或者延迟消息,或改变消息的顺序以获得非授权效果
拒绝服务:阻止或禁止对通信设施的增产使用和管理。

被动攻击:窃听和检测

古典密码用的基本方法

代替:明文中的元素映射成另一个元素
置换 :重新排列
要求:不允许信息丢失,即算法可逆

经典密码机制分别有哪些经典方法

代替密码:

简单代替密码如:恺撒密码,移位密码,仿射密码;

多字母密码如:Playfair代替密码例、Hill密码、Vigenére密码;

置换密码:如斯巴达密码棒、Enigma恩格玛密码机;

对称和非对称密码的含义,各自的优缺点
  • 对称密码算法:加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称秘密密钥算法或单密钥算法。
  • 非对称密钥算法:加密密钥和解密密钥不相同,从一个很难推出另一个。又称公开密钥算法。

(复杂版:)

对称密码体制(Symmetric cipher,也称为单钥密码体制、对称密钥密码体制或常规密码体制)。如果一个密码系统,它的加密密钥和解密密钥相同,或者虽然不相同,但由其中的任意—个可以很容易地导出另外一个,那么该系统所采用的就是对称密码体制。
非对称密码体制(Asymmetric cipher,也称为公开密钥密码体制、非对称密钥密码体制)。如果一个密码系统,其加密算法和解密算法分别用两个不同的密钥实现,并且由加密密钥不能推导出解密密钥,则该系统所采用的就是非对称密码体制。
采用非对称密钥密码体制的每个用户都有一对选定的密钥。其中一个是可以公开的,称为公开密钥(Public key),简称公钥;另一个由用户自己秘密保存,称为私有密钥(Private key),简称私钥。

  • 对称密码体制的主要优势是:
    加密、解密运算的处理速度块,效率高,算法安全性高。
  • 对称密码体制存在的局限性或不足
    (1)对称密码算法的密钥分发过程复杂,所花代价高;
    (2)密钥管理困难;
    (3)保密通信系统的开放性差;
    (4)存在数字签名的困难性。
  • 非对称密码体制的主要优势是:
    (1)密钥分配简单。
    (2)系统密钥量少,便于管理。
    (3)系统开放性好。
    (4)可以实现数字签名。
  • 非对称密码体制存在的局限性是加密、解密运算效率较低,处理速度较慢,同等安全强度下,非对称密码体制的密钥位数较多。
加解密是什么

用某种方法伪装消息以隐藏明文的内容的过程称为加密
把密文转变为明文的过程称为解密

分组密码和流密码的含义
  • 分组密码(block cipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。例如DES,AES。
  • 流密码(stream cipher):又称序列密码。序列密码每次加密一位或一字节的明文,明文与密文长度相同。例如RC4。

序列密码是一个随时间变化的加密变换,具有转换速度快、低错误传播的优点,硬件实现电路更简单;其缺点是:低扩散(意味着混乱不够)、插入及修改的不敏感性。

分组密码使用的是一个不随时间变化的固定变换,具有扩散性好、插入敏感等优点;其缺点是:加解密处理速度慢、存在错误传播。

关键区别:分组密码里相同的明文分组被加密成同样的密文,而序列密码不是

密码分析学的五种攻击
  1. 唯密文攻击:
    密码分析者仅知道有限数量用同一个密钥加密的密文

  2. 已知明文攻击:
    密码分析者除了拥有有限数量的密文外,还有数量限定的一些已知“明文—密文”对

  3. 选择明文攻击:
    密码分析者除了拥有有限数量的密文外,还有机会使用注入了未知密钥的加密机,通过自由选择明文来获取所希望的“明文—密文”对。

  4. 选择密文攻击:
    密码分析者除了拥有有限数量的密文外,还有机会使用注入了未知密钥的解密机,通过自由选择密文来获取所希望的“密文—明文”对。

  5. 选择文本攻击:

    选择文本攻击就是选择密文攻击和选择明文攻击的结合,能构造任意的明文/密文,得到相应的密文/明文。

什么叫计算上的安全

破译的代价超出信息本身的价值
破译的时间超出了信息的有效期

附:密码学起源1975年的工作,迪福赫尔曼1976年提出不对称密码,

1、代替密码

(转载于密码学复习笔记1【基本概念与传统密码技术】)

单表(简单)代替密码

概述:加密变换过程就是将明文中的每一个字母替换为密文字母表的一个字母。例:恺撒(Caesar)密码。
缺点:不能抗击字母频度分析,可由统计的方法破译
单表密码的弱点:明文和密文字母之间的一一代替关系。这使得明文中的一些固有特性和规律(比如语言的各种统计特性)必然反映到密文中去。

代替密码还包括多字母密码:即明文中的字符映射到密文空间的字符还依赖于它在上下文的位置。

例:明文空间M 和密文空间C 都是26个英文字母的集合,密钥空间
K={π:Z26→Z26|π是置换},是所有可能置换的集合。

对任意π∈K,定义:
加密变换:eπ(m)=π(m)=c
解密变换:dπ© = π-1©=m, π-1是π的逆置换。

一般单表替代密码算法特点:

密钥空间K很大,|K|=26!=4×10^26,破译者穷举搜索计算不可行;

2、移位密码

移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。

简单的来说,其实就是将字母表编号成1-26,然后如果移位1,则1号位改为z,2号位改为a,其他等同移动
当移位密码的密钥k=3时,就是历史上著名的凯撒密码(Caesar)。根据其加密函数特 点,移位密码也称为加法密码。

3、仿射密码

仿射密码算法 f(y)=(a*y + b )mod n , K=(a,b),要求a和n互素

(可能出计算题?)

求逆元的过程

欧几里德算法(辗转相除法)——求最大公因子的算法,通过欧几里德算法判断是否有gcd(a,n) = 1(最大公约数为 1 则 a,n 互素,即有乘法逆元)来判断一个正整数 a<n 是否有模n的乘法逆元

仿射密码解密算法:d(y)=a-¹ * ( y - b) mod n;a-¹ 是a的乘法逆元(a * a-¹ = 1)

举个例子:
加密算法:f(y)=3y+5 mod 26
求3的逆元就是求:3
n mod 26 = 1
3 * 9 mod 26 = 1,即n = 9
∴ 解密算法:d(y)=9(y-5) mod 26

⭐要注意负数的取模的情况:
比如-25 mod 26 = 1
可以理解为 -25+26 mod 26 = 1
关于这点,C/Java语言中是直接取模的,即-25 mod 26= -25,在Python中-25 mod 26 = 1

再看下面的例子:
加密算法:f(y)=5y+7 mod 26
求5的逆元就是求:5*n mod 26 = 1
-5 * 5 mod 26 = 1,即n = -5
∴ 解密算法:d(y)=-5(y-7) mod 26

求欧拉数

例:求120的欧拉数

分解质因数:120=2³ * 3 * 5

欧拉函数:φ(120) = 120 × (1-1/2) × (1-1/3) × (1-1/5) = 120 × 1/2 × 2/3 × 4/5 = 32

或者φ(120) = φ(8) × φ(3) × φ(5)= 4 × 2 × 4 = 32

4、置换密码

又称换位密码,是根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。也就是说,改变了明文的结构,不改变明文的内容。

栅栏技术:按列写按行读,每列长度为该栅栏的深度

更为复杂的方式是以一个矩形逐行写出消息,再逐列读出该消息(按行写按列读)。

矩阵的列数(n)和按列读出的顺序便是密钥。密钥包含3方面信息:行宽(密匙的位数)、列高(密文总数除以行数得到)、读出顺序(即数字顺序)

(以下转载于:古典密码——置换密码

加密
我们以字符串“hello-my-cipher”为例来演示加密过程

  1. 选择密钥,我们这里使用“4213”作为密钥。该密钥共4位,表示中间结果的矩阵共4列,4213表示按照第四列,第二列,第一列,第三列的顺序读出形成密文

  2. 生成中间结果矩阵(该行不够4个则用明文中不包含的固定字符填充,这里使用‘@’)>

    h e l l

    o — m y

    — c i p

    h e r @

  3. 按照密钥所示的列顺序读出 lyp@e-ceho-hlmir,至此加密完成

解密

解密过程即按照密钥所示的长度顺序恢复出矩阵,再按行读取即可。

密钥空间

加密密钥大小的范围,通常以位为单位;

当密钥长度为r时,密钥空间有2的r次方个元素。

对称密码涉及的原则:混淆,扩散

对称密码算法:DES、AES、RC5

扩散:要求明文的统计特征消散在密文中。即让明文的每个比特影响到密文的许多比特的取值。尽可能使明文和密文的统计关系变复杂。
混淆:使密文与密钥之间的统计关系尽量复杂,以阻止攻击者发现密钥。

DES算法

分组密码的结构一般分为:Feistel网络结构和SP网络结构
Feistel网络是由Horst Feistel在设计Lucifer分组密码时基于扩散和扰乱的思想所发明的,并因被DES采用而流行。

Feistel结构安全性取决参数:分组长度、密钥长度 、循环次数、子密钥算法、轮函数。

DES是一个基于组块的加密算法,这意味着无论输入还是输出都是64位长度的。DES产生了一种最多264种的变换方法。

加密步骤

  • 首先生成一套加密密钥,我们提供一个64位的秘钥,然后通过等分、移位、选取、迭代形成一套16个加密密钥,分别供每一轮运算使用。
  • 假设目前取到一个64位分组,我们称之为M,M经过一个初始置换IP,置换成m0,。将m0明文分为左半部分和右半部分,各32位长。
  • 然后进行16轮完全相同的运算,在每一轮运算中数据与相应的秘钥结合。
  • 经过16轮之后,左、右半部分合在一起经过一个末置换(数据整理),这样就完成了加密过程。

    每一轮包括四种变换

    轮密钥加

    因为k只有56位,必须插入第8,16,24,32,40,48,56,64位奇偶校验位,合成64位分组。而这8位对加密过程没有影响。

    两个密钥的DES三重加密方法。这个加密函数采用一个加密-解密-加密序列: C=EK1(DK2(EK1§)) <=> P=DK1(EK2( DK1©))。

密钥空间太大为2^ 112 =5×10^33

学习视频:应用密码学 | DES算法及简单编程思路讲解 | 信息安全 | 密码学

AES分组加密算法(重点)

AES具有128bit的分组长度

密钥位为128bit、192bit、256 bit时,轮数分别为:10、12、14

AES算法结构


学习视频:

AES加密算法

AES算法||北邮复试||密码学

分组密码的工作模式

目前已提出许多种分组密码的工作模式,如电码本(ECB)、密码分组链接(CBC)、密码反馈(CFB)、输出反馈(OFB)、计数器(CTR)

转载自博客:密码学基础(一)分组密码与序列密码

ECB(电子密码本模式)
  1. 将明文分组加密后结果直接成为密文分组。
  2. 明文分组与密文分组是一一对应的关系;且每个明文分组各自独立地进行加密和解密。
  3. 这种加密攻击者无需破译密码就能操纵明文。
CBC(密码分组链接模式)
  1. 先将明文与前一个密文分组进行异或(XOR)运算,再进行加解密。
  2. 初始化向量(IV):在加密第一个明文分组时,需要事先准备一个长度为一个分组的比特序列代替;每次加密时,都会随机产生一个不同的比特序列作为初始化向量。
  3. 无法对单独一个中间的明文分组加密;对初始化向量没有加密。
  4. 当CBC模式中的密文分组有一个分组损坏,只要密文分组的长度没有发生变化,解密时最多会有两个分组受到数据损坏的影响。
  5. 当CBC的密文分组中有一些比特缺失了,导致密码分组的长度发生变化,此分组发生错位,在缺失比特位置之后的密文分组也就无法全部解密了。
  6. 这种加密攻击者一般只能攻击初始化向量。
CFB(密文反馈模式)
  1. 前一个密文分组会被送回到密码算法的输入端。
  2. 密文分组与明文分组之间只有XOR(而CBC中,明文分组与密文分组之间有XOR和密码算法两个步骤)。
  3. CFB模式中有密码算法产生的比特序列成为密钥流(在CFB中密码算法相当于伪随机数生成器)。
  4. 在CFB中分组密码算法在解密时仍执行加密操作(因为密钥流通过加密生成)。
  5. 对CFB模式可实施重放攻击。
OFB(输出反馈模式)
  1. 密码算法的输出会反馈到密码算法的输入中
  2. 并非通过密码算法加密明文分组的,而通过将明文分组和密码算法的输出进行XOR来产生密文分组(与CFB的区别在于密码算法的输入)
  3. CFB是对密文分组进行反馈,必须按顺序进行加密;OFB是对密钥流进行加密(生成密钥流与XOR运算可以并行)
CTR(计数器模式)
  1. 通过将逐次累加的计数器进行加密来生成密钥流
  2. 每个分组对应一个逐次累加的计数器
  3. 每次加密都会生成一个不同的值(nonce)作为计数器的初始值,且在每次加密时都必须不同
  4. 在初始值之后为分组序列号,会逐次累加
  5. 在CTR中如果密文分组有1bit被反转,解密后的铭文中所对应的比特会被反转,该错误不会放大

总结:

模式 描述 典型应用
电码本(CBC) 用相同的密钥分别对明文分组独立加密 单个数据的安全传输(如一个加密密钥)
密文分组链接(CBC) 加密算法的输入是上一个密文组和下一个明文组的异或 面向分组的通用传播认证
密文反馈(CFB) 一次处理s位,上一块密文作为加密算法的输入,产生的伪随机数输出与明文异或作为下一个单元的密文 面向数据流的通用传播认证
输出反馈(OFB) 与CFB类似,只是加密算法的输入是上一次加密的输出,且使用整个分组 噪声信道上的数据流传输(如卫星通信)
计数器(CTR) 每个明文分组都与一个经过加密的计数器相异或。对每个后续分组计数器递增 面向分组的通用传播用于高速需求

流密码:RC4

(看懂流程图)

学习视频:应用密码学| RC4算法及其简单编程思路 | 信息安全 | 密码学


Diffie-Hellman密钥交换算法
费马定理:

欧拉函数

Euler定理

若a与n为互素的正整数,则a ∮(n) ≡ 1 mod n

原根(最小生成元)定义

存在最小正整数m < ∮ (n) (m|∮ (n) ),使得a^m ≡ 1 mod n,若对某个a,m=∮ (n),则称a是n的一个原根

求生成元方法:【密码学原理】生成元

求模公式

((a^x mod p)^y) mod p = a^xy mod p

DH密钥交换算法过程

转载博客:Diffie-Hellman算法

假设Alice和Bob希望在不安全的网络环境中协商一个对称密钥进行通信,那么可按如下步骤进行:

前提:Alice和Bob共享同一个素数p及整数g,且g是p的本原根;

1、首先Alice保存自己的私钥a(随机数),Bob也保存自己的私钥b(随机数)
2、Alice计算 A = g^a mod p,并将g,p,A发给Bob(g,p也可提前共享)
3、Bob计算 B = g^b mod p,然后将B发给Alice
4、Alice得到对称密钥K = B^a mod p = (g^b mod p)^a mod p = g^ab mod p
5、Bob同样得到对称密钥K = A^b mod p = (g^a mod p)^b mod p = g^ab mod p

中间人攻击:

转载自博客:【密码学原理】Diffie-Hellman密钥交换算法与中间人攻击

防御措施:签名认证

防御方法:密码学:设计一个安全的(没有中间人攻击)的Diffie-Hellman密钥交换协议

RSA算法(重点)

RSA算法的全过程

  1. 选择密钥

    • 选择两个不同的素数 p、q
    • 计算公开模数 r=pxq
    • 计算欧拉函数φ®=(p-1)(q-1)
    • 选择一个和φ®互质的量k,即保证 gcd(φ®, k)=1 时,选择 k。可以令 sp=k 或 pk=k
    • 根据 sk*pk ≡ 1 mod φ®,已知 sk 或 pk,用乘逆算法求 pk 或 sk
  2. 加密
  3. 解密
  4. 平方-乘算法



    公钥私钥计算

学习视频:彻底搞懂“公钥加密算法RSA”的工作原理

密码学RSA教学

计算公私钥过程:RSA算法中利用欧几里得算法求d详细过程

公钥算法和对称钥算法区别:

对称加密的优点

  • 速度快,处理量大,适用于对应用数据的直接加密。
  • 加密密钥长度相对较短,如40比特~256比特。
  • 可构造各种加密体制,如产生伪随机数,HASH函数等。

对称加密的缺点

  • 密钥在双方都要一致、保密,传递较难。
  • 大型网络中密钥量大,难以管理,一般需要TTP(KDC)。
  • 密钥需要经常更换。

公钥加密的优点

  • 只有秘密钥保密,公开钥公开。
  • 密钥生命周期相对较长。
  • 许多公钥方案可以产生数字签名机制。
  • 在大型网络上,所需的密钥相对较少。

公钥加密的缺点

  • 速度慢,处理量少,适用于密钥交换。
  • 密钥长度相对较长。
  • 安全性没有得到理论证明。
消息认证

消息认证保证完整性(哈希算法)、真实性(靠密钥)

散列函数是对不定长的输入产生定长输出的一种特殊函数,可用于消息认证和数字签名。

h = H(M)
其中M是变长的消息
h=H(M)是定长的散列值或称为消息摘要

Hash函数的性质

Hash函数是散列函数的一种,其性质有:

(以下转载自博客:【密码学】哈希函数-SHA

  1. 固定长度输入;
  2. 可变长度输出;
  3. 效率高:哈希过程简单;
  4. 抗原像攻击,单向性,不可逆;
  5. 伪随机性:输出满足伪随机;
  6. 抗弱碰撞性:对给定的x,找到满足H(x)=H(y)且x≠y在计算上是不可行的;
  7. 抗强碰撞性:找到任何满足H(x)=H(y)的数对(x,y)计算上是不可行的;

哈希算法SHA-512步骤:附加填充位,附加长度,初始化Hash缓冲区,压缩函数(以1024位分组处理信息/信息压缩),输出结果

散列函数的基本用法(考过不考):数字签名、单向口令文件、入侵检测和病毒检测、构建随机函数或伪随机函数;

常见hash算法

md5,sha512,mac算法(带密钥)

md5分组长度为512位,报文摘要hash值是128位;

sha512分组长度为1024位(128字节),报文摘要hash值是512位;

mac的基本用法




数据认证算法

CBC方法(认证码16~64位)

HMAC设计目标

无需修改地使用现有的散列函数
当出现新的散列函数时,要能轻易地替换
保持散列函数的原有性能不会导致算法性能的降低
使用和处理密钥的方式简单
对鉴别机制的安全强度容易分析,与hash函数有同等的安全性

HMAC是一种使用单向散列函数来构造消息认证码的方法,

设M是变长的消息,K是仅由收发双方共享的密钥,则M的MAC由如下的函数C生成:

MAC = Ck(M )
这里的Ck(M )是定长的。发送者每次将MAC附加到消息中,接收者通过重新计算MAC来对消息进行认证。

mac的生成

((原始消息)+ 密钥 )* 哈希函数 = 散列值\消息认证码

对密钥K左边补0以产生一个hash用块K+
K+每个字节与ipad(00110110)作XOR以产生Si
对(Si||M)进行hash
K+每个字节与opad(01011010)作XOR以产生So
HMAC = f [IV,So||f(IV,Si||M)]

消息认证码弊端:密钥的分发

消息认证码无法解决的问题:不能进行第三方证明、不能防止否认(由数字签名解决)

密码学全面学习视频:golang-密码学[对称加密, 非对称加密,哈希,消息认证码,数字签名,证书]

数字签名

传统签名的基本特点:

  • 与被签的文件在物理上不可分割
  • 签名者不能否认自己的签名
  • 签名不能被伪造
  • 容易被验证

数字签名是传统签名的数字化,基本要求:

  • 与所签文件“绑定”
  • 签名者不能否认自己的签名
  • 签名不能被伪造
  • 容易被自动验证

数字签名满足条件:依赖性、唯一性、可验证、抗伪造、可用性

数字签名流程:

RSA签名算法(重点)

实现方式与过程

(RSA加密:公钥加密、私钥解密;RSA签名:私钥签名、公钥验证。)

可参考博客:RSA算法和RSA数字签名算法

RSA签名算法概述及使用

数字签名(1):RSA

会话密钥和主密钥的分配过程

典型密匙分发方案(重点)

请求一次性会话密钥

含保密性和身份认证的密钥分发方案(重点)

公钥证书分发—x.509标准(重点)

x.509证书结构



公钥基础设施PKI

创建PKI的主要目的就是用来安全、便捷、高效地获得公钥。

PKI组成要素:用户(申请及使用PKI的人)、认证机构(颁发证书的人)、仓库(保存证书的数据库);

身份认证依据(所知所有特征)

所知:密码、口令;

所有:身份证、护照、密钥盘;

特征:指纹、笔迹、声音、DNA;

两种防重放攻击方式

时间戳方式:A接受一个消息仅当该消息包含一个时间戳,并且该时间戳在A 看来是足够接近A所知道的当前时间。
提问/应答方式:A期望从B获得 一个新消息,首先发给B一个临时值(challenge),并要求后续从 B 收到的消息(response)中包含正确的这个临时值或是由 这个临时值进行某种事先约定的计算的正确结果。这个临 时值往往是一个随机数,称为现时(nonce)。

双向认证协议

过程:

A→KDC:IDA || IDB || N1
KDC→A:EKa [ Ks || IDB || N1 || EKb[ Ks || IDa ]
A→B:EKb [ Ks || IDA ]
B→A:EKs [ N2 ]
A→B:EKs [ f(N2) ]

改进后的步骤(添加了时间戳):

A→KDC:IDA || IDB
KDC→A:EKa [ Ks || IDB || T || EKb[ Ks || IDA || T ]
A→B:EKb [ Ks || IDA || T ]
B→A:EKs [ N1 ]
A→B:EKs [ f(N1) ]
|Clock - T| < △t1 + △t2

单向认证

缺点:双方都必须等待对方的回答,不适用于双方不同时在线的情况

基于第三方的方案可以避免这一问题:
第三方一般长期在线,双方都可以及时和第三方进行通信(去掉第4、5步)
方案:
A→KDC:IDA || IDB || N1
KDC→A:EKa [ Ks || IDB || N1 || EKb [Ks || IDA ]]
A→B:EKb [ Ks || IDA ] || EKs[ M ]

Kerberos协议

Kerberos要解决的3个问题:
一个开放的分布式网络环境中
工作站用户希望访问分布在网络各处的服务器上提供的服务
服务器应能认证用户身份,并授权。


认证投标AH

AH的作用是认证

加密头标ESP

ESP的作用是封装加密

IPsec的传输和隧道模式(重点)

传输模式:AH和ESP头标被插在IP头标及其他选项(或扩展头标)之后,但在传输层协议之前。它保护净荷的完整性和机密性。

隧道模式:在隧道模式下,AH或ESP头标插在IP头标之前,另外生成一个新的IP头放在前面,隧道的起点和终点的网关地址就是新IP头的源/目的IP地址,保护整个IP分组。

SSL协议过程

协议的关系

SSL连接的原理

SSL/TLS原理详解

PGP的认证图

未见PPT,可参考博客:信息安全(五)——消息认证、数字签名及PGP

PGP的加密原理

试卷博客参考:密码学期末选择填空简答题知识点复习

信息安全密码学期末复习重点总结相关推荐

  1. 金融学期末复习重点准备

    金融学期末复习重点准备 前言 记一下金融学期末复习重点准备. 主要是把重点点到,刨去了铺垫和逻辑. 我好像想明白为什么我写<<管理学>期末第一次复习>的时候总感觉怪怪的. 我应 ...

  2. 软件测试期末复习重点

    1.软件测试的定义以及软件测试的目的/意义. (1)定义: 软件测试就是一个过程或一系列过程,用来确定计算机代码完成了其应该完成的功能,不执行其不该有的操作. 或:软件测试是由"验证(Ver ...

  3. 计算机文化基础的重点,计算机文化基础期末复习重点.doc

    计算机文化基础期末复习重点 计算机文化基础复习重点~~大家自己打印下来,常看看~~ 来源: HYPERLINK "/GetEntry.do?id=702112705&owner=34 ...

  4. 信息安全概论期末复习

    信息安全概论 期末复习 简答题 三个安全目标: 安全目标主要包括保密性(confidentiality).完整性(integrity) 和可用性(availability). 保密性:保密性是指信息能 ...

  5. 大学c语言项目,项目大学C语言程序设计期末复习重点.doc

    期末复习课 笔试试卷基本情况 1.单项选择(本题共15个小题,每题2分.30分) 在四个备选答案中选择一个正确的.答案唯一. 2.阅读程序选择运行结果(本题共有8个小题,每个题3分.24分) 考核基本 ...

  6. 哈工大信息安全概论期末复习

    防扒链接: 何以牵尘的博客_CSDN博客-哈工大课内学习,哈工大精品课程笔记领域博主何以牵尘擅长哈工大课内学习,哈工大精品课程笔记,等方面的知识https://blog.csdn.net/m0_617 ...

  7. 北林嵌入式系统期末复习重点

    持续更新······ 注:以下内容为博主期末复习所用,全打字输入,可能有误.内容为便于记忆,可能会有省略和简化.如有错误欢迎评论区更正 选择填空判断 嵌入式系统的定义和特点 定义:以应用为中心,计算机 ...

  8. 编译原理期末复习重点

    文章目录 编译原理期末复习纲要 一.选判填 二.简答题 二.大题 编译原理期末复习纲要 仅供自己观看 一.选判填 单选:5*1=5' 判断:5*1'=5' 填空:5*2'=10' 合计:20' 二.简 ...

  9. 山东大学密码学引论复习重点总结与期末试题

    考察的重要知识点包括 香农定理 完美加密(完美加密的定义与证明) 一次一密 对称加密与非对称加密的基本思想 哈希函数的基本知识 Vigenere 加密 Elgamal实现过程 序列化与反序列化 试题回 ...

  10. 密码学期末复习(按考点整理,超详细!!!)

    复习目录) 题型 第一章 密码算法的安全性分类 密码分析的难易程度 凯撒密码加密原理 古典密码中仿射变换的解密变换 第二章 流密码的组成和特点 流密码的基本思想 第三章 分组密码的CBC工作模式,以及 ...

最新文章

  1. 黑马程序员之List--队列、栈...
  2. python中文软件-Python
  3. linux下shell编程
  4. 一个fork的面试题
  5. 【软考】2017年11月软件设计师上午真题1-4题答案解析
  6. 用python写网络爬虫 -从零开始 3 编写ID遍历爬虫
  7. 询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
  8. C#网络编程概述 三
  9. zabbix mysql pgsql_Zabbix 5.0 监控 PostgreSQL 数据库
  10. 容器入门(2) - podman
  11. mysql挂载数据卷_docker卷挂载技术
  12. win7下装ubuntu双系统
  13. python笔记2-冒泡排序
  14. 团队作业7——第二次项目冲刺(Beta版本)-第一篇
  15. 设置dedecms为动态页面,设置dedecms为静态页面,首页动态,列表动态和文章动态
  16. 利用imnoise2函数产生数据的直方图
  17. Report Machine 在WIN7系统下 IE里面运行错误
  18. WordPress安装教程(详细)
  19. selenium+chromedriver自动打开谷歌进行搜索
  20. Linux中的lvm动态扩容管理

热门文章

  1. photoshop破解
  2. turbo码书籍推荐
  3. Python爬虫书籍分享
  4. centos是什么操作系统
  5. 20220521 将plecs输出的电路图转换为黑线白底
  6. 【ASP.NET】swfuplod图片上传
  7. 吴恩达深度学习课程第四章第二周编程作业(pytorch实现)
  8. Eclipse设置、调优、使用
  9. MAC 用配置设置解决vscode中文乱码问题
  10. windows编译librtmp