密码主要功能:
1. 机密性:指保证信息不泄露给非授权的用户或实体,确保存储的信息和传输的信息仅能
被授权的各方得到,而非授权用户即使得到信息也无法知晓信息内容,不能使用。 2. 完整性:是指信息未经授权不能进行改变的特征,维护信息的一致性,即信息在生成、
传输、存储和使用过程中不应发生人为或非人为的非授权篡改(插入、替换、删除、重排序等),如果发生,能够及时发现。
3. 认证性:是指确保一个信息的来源或源本身被正确地标识,同时确保该标识的真实性,
分为实体认证和消息认证。
消息认证:向接收方保证消息确实来自于它所宣称的源;
实体认证:参与信息处理的实体是可信的,即每个实体的确是它所宣称的那个实体,使得任何其它实体不能假冒这个实体。
4. 不可否认性:是防止发送方或接收方抵赖所传输的信息,要求无论发送方还是接收方都
不能抵赖所进行的行为。因此,当发送一个信息时,接收方能证实该信息的确是由所宣称的发送方发来的;当接收方收到一个信息时,发送方能够证实该信息的确送到了指定的接收方。
信息安全:指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常地运行,信息服务不中断。 信息安全的理论基础是密码学,根本解决,密码学理论
对称密码技术——分组密码和序列密码——机密性; 消息认证码——完整性,认证性;
数字签名技术——完整性,认证性,不可否认性;
1949年Shannon发表题为《保密系统的通信理论》 1976年后,美国数据加密标准(DES)的公布使密码学的研究公开,密码学得到了迅速发展。 1976年,Diffe和Hellman发表了《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。
置换密码
置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。 列置换密码和周期置换密码
使用密码设备必备四要素:安全、性能、成本、方便。
密码体制的基本要求:
1. 密码体制既易于实现又便于使用,主要是指加密函数和解密函数都可以高效地计算。 2. 密码体制的安全性是依赖密钥的安全性,密码算法是公开的。
3. 密码算法安全强度高,也就是说,密码分析者除了穷举搜索攻击外再找不到更好的攻击
方法。
4. 密钥空间应足够大,使得试图通过穷举密钥空间进行搜索的方式在计算上不可行。
密码算法公开的意义:
?有利于增强密码算法的安全性;
?有利于密码技术的推广应用; ?有利于增加用户使用的信心; ?有利于密码技术的发展。
熵的性质:H(X,Y)=H(Y)+H(X|Y)=H(X)+H(Y|X)
H(K|C)=H(K)+H(P)-H(C)
密码攻击类型
?惟密文攻击(Ciphertext Only Attack)(仅仅搭线窃听)
密码分析者除了拥有截获的密文外(密码算法是公开的,以下同),没有其它可以利用的信息。
?已知明文攻击(Known Plaintext Attack)(有内奸)
密码分析者不仅掌握了相当数量的密文,还有一些已知的明-密文对可供利用。 ?选择明文攻击(Chosen Plaintext Attack)(暂时控制加密机) 密码分析者不仅能够获得一定数量的明-密文对,还
可以选择任何明文并在使用同一未知密钥的情况下能得到相应的密文。 ?选择密文攻击(Chosen Ciphertext Attack)(暂时控制解密机) 密码分析者能选择不同被加密的密文,并还可得到对应的明文,密码分析者的任务是推出密钥及其它密文对应的明文。
?选择文本攻击(Chosen Text Attack)(暂时控制加密机和解密机) 它是选择明文攻击和选择密文攻击的组合,即密码分析者在掌握密码算法的前提下,不仅能够选择明文并得到对应的密文,而且还能选择密文得到对应的明文。
攻击密码体制的常用方法 ?穷举攻击 ?统计分析攻击 ?数学分析攻击
密码体制安全性:无条件安全性,计算安全性,可证明安全性
分组密码的要求: ? 分组长度要足够大 ? 密钥量要足够大 ? 密码变换足够复杂 ? 加密和解密运算简单 ? 无数据扩展或压缩
分组密码的设计思想(扩散和混乱) 扩散:是指要将算法设计成明文每一比特的变化尽可能多地影响到输出密文序列的变化,以便隐蔽明文的统计特性。形象地称为雪崩效应。扩散的另一层意思是密钥每一位的影响尽可能迅速地扩展到较多的密文比特中去。
混乱:指在加解密变换过程中明文、密钥以及密文之间的关系尽可能地复杂化,以防密码破译者采用解析法(即通过建立并求解一些方程)进行破译攻击。分组密码算法应有复杂的非线性因素。
轮函数基本准则:非线性,可逆性,雪崩效应 DES
分组加密算法:明文和密文为64位分组长度。密钥长度:56位 采用混乱和扩散的组合,每个组合先代换后置换,共16轮。 互补性会使DES在选择明文攻击下所需的工作量减半。
如果给定初始密钥k,经子密钥产生器产生的各个子密钥都相同,即有k1=k2=…=k16,则称给定的初始密钥k为弱密钥。
若k为弱密钥,则对任意的64bit信息有:Ek(Ek(m))=m和Dk(Dk(m))=m。
若给定初始密钥k,产生的16个子密钥只有两种,且每种都出现8次,则称k为半弱密钥。 半弱密钥的特点是成对出现,且具有下述性质:若k1和k2为一对半弱密钥,m为明文组,则有:Ek2(Ek1(m))=Ek1(Ek2(m))=m。
差分分析:是分析一对给定明文的异或(对应位不同的个数称为差分)与对应密文对的异或之间的统计相关性。
3DES特点:
优点:1. 密钥长度增加到112位或168位,克服了DES面临的穷举攻击。 2. 相对于DES,增强了抗差分分析和线性分析等的能力。
3. 由于DES已经大规模使用,升级到3DES比更新新算法成本小得多。 4. DES比其它任何加密算法受到的分析时间都长的多,相应地,3DES抗 分析能力更强。
不足:1. 3DES处理速度较慢。
2. 虽然密钥长度增加了,但明文分组长度没变,与密钥长度的增长不匹 配。
AES分组长度、密钥长度、轮数的关系: 分组长度:128位
密钥长度,轮数:128,10;192,12;256,14
每轮由四个阶段组成:字节代换、行位移、列混淆、轮密钥加。 DES是面向比特的运算,AES是面向字节的运算。
二重DES并不像人们相像那样可提高密钥长度到112比特,而相当57比特。
分组密码的操作模式 ECB:
模式操作简单,主要用于内容较短且随机的报文的加密传递; 相同明文(在相同密钥下)得出相同的密文,即明文中的
重复内容可能将在密文中表现出来,易实现统计分析攻击、分组重放攻击和代换攻击; 链接依赖性:各组的加密都独立于其它分组,可实现并行处理;
错误传播:单个密文分组中有一个或多个比特错误只会影响该分组的解密结果。
CBC(密文分组和明文分组异或得到下一个密文分组)
一种反馈机制在分组密码中的应用,每个密文分组不仅依赖于产生它的明文分组,还依赖于它前面的所有分组;