Cryptography Knowledge
密码学终极
-
信息安全威胁: 自然威胁,人为威胁
-
人为威胁包括被动攻击和主动攻击,被动攻击是对系统保密性进行攻击
被动攻击在于预防不在于检测
主动攻击是对信息流进行篡改或产生假消息。包括中断(可用性)、篡改(完整性)、伪造(真实性)
主动攻击是检测,以及恢复
-
人为攻击来自用户和恶意软件。恶意软件包括有主程序和不需要主程序;能自我复制和不能自我复制
-
安全业务:保密、认证、完整、不可否认、访问控制
-
消息的安全传输技术基本成分:消息安全传输(加密和认证)、双方共享秘密信息(加密密钥)
-
第三方作用:为双方发布秘密信息或通信双方有争议进行仲裁。
-
网络通信四个方面:加密算法、用于加密算法的秘密信息(k)、秘密信息的分布与共享、协议
-
访问控制的模型:两道防线为守卫者和内部控制部件
-
信息安全三个层次:系统、数据、内容安全。
-
保密系统要求:(1)实际上不可破,不能通过截获密文和明文密文对,要决定密钥和任意明文计算上不可行
(2)保密性不依赖于对加密体制或算法的保密。
(3)加密和解密算法适用于密钥空间中所有元素
(4)系统便于实现和使用
-
单钥体制加密和解密密钥相同,保密性取决于密钥的安全性,与算法的保密性无关。需要保密的只有密钥!
单钥体制加密方式:流密码(明文消息按字符逐位加密),分组密码(逐组加密)。用于数据加密和消息认证。
特点: 加密和解密分开,保密通信(多用户加密一个用户解读) 消息认证(一个用户加密多用户解读)
-
密码攻击类型:攻击者可获取的信息量划分。
最难的攻击类型是唯密文攻击,是穷搜索方法。
已知明文攻击的一种方法:可能字攻击。
-
加密算法无条件安全
-
shannon:密钥至少和明文一样长时,才能达到无条件安全。(一次一密可以达到)
比无条件安全弱:计算上安全。(1)破译代价大于加密信息价值(2)破译时间超过信息有用期。
-
古典密码分为单表和多表代换:每个字母逐个进行还是多个字母同时进行。
-
分组密码和流密码的区别:有无记忆性。流密码分为同步和自同步,我们学的是没有依赖输入明文的同步流密码。
-
同步流密码的加密器分为密钥流产生器和加密变换器,关键是密钥流产生器。
-
一次一密密码是加法流密码原型。密钥流具有性质:极大周期、良好统计特性、抗线性分析、抗统计分析。
-
流密码具有密文和明文长度一致的性质。
-
线性反馈移位寄存器输出序列的性质完全由其反馈函数决定。
-
流密码的安全性取决于密钥流的安全性,要求密钥流有良好随机性。因为是周期序列所以不可能做到随机性,所以叫做伪随机序列。
-
非线性序列:实现周期极大化。Geffe 、JK、Pless、钟控序列生成器。
-
分组密码实质是字长为n的数字序列的代换密码
-
分组密码要求:分组长度足够长、密钥量足够大、置换算法复杂、数据扩展小,差错传播小。
-
shannon提出设计密码系统两个方法:扩散和混淆,目的是抗击对系统的分析。shannon的理想密码系统:所有统计特性都与所使用的密钥独立。
扩散:密文中每一位由明文中多位产生:多次置换实现。
混淆:密文和密钥之间的统计关系复杂,代换算法实现。
-
分组密钥基于Feistel网络结构。
-
DES 分组长度64 ,密钥长度54。早期Lucifer密码发展修改来的。作为FIPS-46标准。
-
两重DES可能遇到的攻击:中途相遇攻击。
-
攻击迭代密码最有效的方法:差分密码分析。基本思想:通过分析明文对的差值对密文对的差值的影响来恢复密钥比特。
-
线性密码分析是对迭代密码的一种已知明文攻击,利用密码算法中不平衡的线性逼近。
-
DES的四种模式:(1) ECB电码本模式
(2)CBC密码分组链接模式
(3)CFB密码反馈模式
(4)OFB输出反馈模式
-
安全传输DES密钥,用ECB是最合适的
-
CFB和OFB将DES转换为流密码,不需要对消息填充为分组。
-
OFB的优点是传输过程中比特错误不会被传播。缺点是更容易受到篡改。
-
AES要求: 比三重DES快,至少和三重DES一样安全,明文长128,k长度128、192、256
-
Rijindael 原型是Square算法,策略是宽轨迹策略。针对差分分析和线性分析提出,优点是给出算法的最佳差分特征的概率及最佳线性逼近的偏差的界,可以分析算法抵抗差分密码分析以及线性分析的能力。
-
Rijndael标准: (1)抵抗所有已知攻击(2)速度快,编码紧凑(3)设计简单
-
轮函数由三个不同的可逆均匀变换组成。
线性混合层:确保多轮高度扩散;
非线性层:最坏情况非线性S盒并行使用;
密钥加层:实现一次性覆盖
-
Rijndael是迭代型分组密码,分组长度和密钥长度可变,可独立指定
-
SM4算法用于WAPI分组密码算法,数据分组长度128bit ,密钥长度128bit。加密和密码扩展用32轮迭代结构。
-
SM4中S盒以字节为单位的非线性替换,作用是混淆。线性变换部件是以字为单位,作用是扩散。合成变换T是线性变换和非线性变换的复合,作用是扩散和混淆。
-
祖冲之算法ZUC被批准为宽带无线移动通信系统LTE的国际标准,即4G国际标准。主要用于4G通信中移动用户设备UE和无线网络控制设备RNC之间无线链路上通信信令和数据的加解密。
算法以分组密码的方式产生面向字的流密码所使用的密钥流。输入128初始密钥和128IV,输出32bit字为单位的密钥流。
-
祖冲之算法分为三层:16级线性反馈移位寄存器、比特重组BR、非线性函数F
-
ZUC初始化模式每个寄存器单元不是32bit 是31bit,存在重用的情况,舍弃的是32bit的最低位。LFSR的作用是为中层的BR提供随机性好的输入驱动。
-
公钥密码体制基本工具不是代换和混淆,而是数学函数。
公钥密码算法解决两个问题:数字签名和密钥分配。Diffe Hellman
-
公钥密码最大特点:两个密钥将加密解密分开。特性:已知密码算法和加密密钥,求解密密钥不可行。
-
认证符特性:保持认证符的值不变而修改文件在计算上不可行。
-
公钥密码主要用于密钥管理和数字签字,因为密钥太长加密性能慢,太短会被穷举攻击。
另一种攻击方法是可能字攻击,本质是对56bit DES 密钥的穷搜索攻击。抵抗方法是发送的明文消息加上随机比特
-
Rabin是对RSA的修正:不是一一对应的单向陷门函数,一个密文对应多个明文。破译等价于大整数分解。
-
NTRU是基于环的公钥密码系统, 由Jeffrey Hoffstein 提出。特点:密钥短、容易产生、运算速度快、存储空间小。
-
单钥加密体制的密钥分配:密码系统强度取决于密钥分配技术。
-
KDC有主密钥为n个,会话密钥为n(n-1)/2 个。会话密钥有效期:面向连接协议,每次连接是才更新会话密钥;无连接协议每一次交换更换一次密钥。
-
无中心的密钥控制: 主密钥是n(n-1)/2 ,适用于小范围。
-
主密钥安全性高于会话密钥安全性,主密钥又称密钥加密密钥,会话密钥又称数据加密密钥。
-
单钥体制的密钥控制技术:密钥标签和控制矢量。
密钥标签是DES密钥中的8bit,限制了长度,以密文形式传送限制了控制方式。
控制矢量相当于一个文档,长度可变;用于和主密钥加密会话密钥。以明文方式发送矢量。
-
公钥加密体制的密钥管理:公开发布、公用目录表、公钥管理机构、公钥证书。
-
公钥证书由公钥证书管理机构CA为用户建立
-
公钥加密分配单钥密码体制的密钥:简单分配(主动攻击)、具有保密性和认证性的密钥分配(防止被动和主动攻击)
-
Diffe-Hellman密钥交换:目的是两个用户能够得到会话密钥,本身不能用于加密和解密。算法基于离散对数的困难性
-
随机数用于相互认证、会话密钥产生、公钥算法中密钥。随机数序列满足不可预测性和随机性
随机性:均匀分布和独立性。不可预测性:每个数独立于其他数
-
伪随机数产生器:线性同余算法、变形(幂形式、离散指数形式)
-
基于密码算法的随机数产生器:循环加密、DES的OFB模式、ANSI X9.17的伪随机数产生器(3个EDE)
ANSI X9.17的伪随机数产生器是密码强度最高的伪随机数产生器之一。
-
随机比特产生器:BBS产生器 (密码强度最强,安全性基于大整数分解的困难性)、Rabin产生器、离散指数比特产生器。
-
秘密分割门限方案:k为门限值。
两种秘密分隔门限方案:shamir门限方案(lagrange插值)、基于中国剩余定理的门限方案
-
抗击主动攻击:消息认证。用于验证消息真实性和完整性,消息的顺序性和时间性。不可否认性:数字签字,也可以用于抗击主动攻击。
-
消息认证技术和数字签字机制:认证符功能。产生方法:MAC 消息认证码、哈希函数
-
消息认证码是消息被密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,称消息校验和。
-
消息认证吗:(1)数据认证算法(作为FIPS PUB113 ANSI标准,基于CBC的DES,IV取零向量)
(2)基于ZUC的完整性算法 128-EIA3
-
哈希函数:输入任意长度,输出固定长度。哈希函数不使用密钥,不能直接用于MAC。
-
MD5前身是MD4,SHA前期版本是SHA0,基于MD4算法。
-
HMAC用于将哈希函数构造MAC的方法,在IPSec和其他网络协议SSL中应用。
-
基于密码的哈希函数构造的MAC的安全性取决于镶嵌的哈希函数的安全性。
-
SM3哈希算法是中国国家密码管理局颁布的一种密码哈希函数。压缩函数是哈希函数安全的关键,
其中SM3输出256bit,非线性函数(压缩函数CF中FF和GG)用于混淆。线性函数(置换函数P0(X) P1(X))用于扩散。
-
数字签名应用包括身份认证、数据完整性、不可否认性、匿名性。具有认证功能。
-
数字签字的产生:加密算法和特定数字签名算法(三元组表示)
-
数字签字的执行方式:直接方式和具有仲裁的方式。
-
直接方式执行数字签字,有效性取决于发送方密钥的安全性。
-
数字签字的标准DSS是美国NIST公布的FIPS PUB186 ,采用了SHA和一种新的签名技术,称为DSA.
-
DSS只能用于提供数字签名功能。
-
DSA是ElGamal和Schnorr两个签名方案的基础上设计的,安全性基于离散对数的困难性。
-
认证协议:对数据来源的可靠性、通信实体的真实性加以认证,防止欺骗伪装等攻击。分为相互认证和单向认证。分别对单钥体制和公钥体制进行讨论
-
保证消息的实时性方法:(1)时间戳(2)查询应答。
时间戳不能用于面向连接过程,询问应答不能用于无连接过程。