加密算法分为两类:对称加密算法和公开密钥加密算法
分析方法:线性分析和频度分析
衡量密码体制的基本准则:计算安全、可证明安全、无条件安全
分组密码:指对固定长度的一组明文进行加密的一种加密算法,这一固定长度成为分组长度
分组密码的特点:扩散、混淆
扩散的目的是使明文和密文之间的统计关系变得尽可能复杂
混淆的目的是使密文和密钥之间的统计关系变得尽可能复杂
分组密码工作模式
ECB: 电码本模式
CBC: 密码分组链接
CFB: 密码反馈
OFB: 输出反馈
CTR: 计数器
密码分析攻击类型:惟密文攻击、已知明文攻击、选择明文攻击、选择密文攻击
在Z26 上对代换密码和置换密码的安全性进行分析
代换密码的任一密钥Π都是26个英文字母的一种置换。由于所有可能的置换有26!种,因此代换密码的密钥空间大小为26!。所以,对代换密码如果采用密钥穷举搜索的方法进行攻击,计算量会很大。
对于固定的分组长度m,Zm 上共有m!中不同的排列,所以相应的置换密码共有m!种不同的密钥。应注意的是,置换密码并改变密文信息中英文字母的统计特性,所以置换密码对于抗频度分析技术来说是不安全的。
DES 分组长度 64位 密钥长度 56位 加密轮数 16轮
AES 分组长度 128位 密钥长度 128、192、156位 加密轮数 10、12、14轮
IDES 分组长度 64位 密钥长度 128位 加密轮数 8轮
Hash函数
Hash函数是一个将任意长度的信息序列映射为较短的、固定长度的一个值的函数
比较SHA-1与MD5的主要区别
- SHA-1抗击穷举式搜索攻击的强度高于MD5抗击穷举式搜索攻击的强度
- SHA-1的速度要比MD5的速度慢
- MD5摘要长度为128位,SHA-1摘要长度为160位
- MD5易受密码分析的攻击,SHA-1不容易受到这样的攻击
- SHA-1是大数在前结构,MD5是小数在前结构
数字签名的基本原理,实现什么安全功能?
数字签名是对以数字形式存在存储的消息进行某种处理,产生一种类似于传统手书签名功能的信息处理过程。它通常将某个算法作用于需要签名的消息,生成一种带有操作者身份信息的编码。
数字签名一般由签名算法和验证算法组成的,签名算法用处用于产生数字签名,验证算法是公开的方便别人验证
安全功能:单向性、无关性、不可碰撞性
密钥的种类:初始密钥、会话密钥、密钥加密密钥、主密钥
在Diffie-Hellman密钥交换协议中,中间人攻击的分析
在A将他的公开密钥发送给B的过程中,中间人C截取公钥,并把自己的公钥发送给B
同样,在B将自己的公钥发给A时,C也截取它,并将将自己的公钥发给A。A、B、C分别计算会话密钥,但计算结果是A与C共享一个会话密钥K,B与C共享另一个会话密钥K1。但是A和B对此一无所知。接下来,在A与B的通信过程中,A会用会话密钥K加密他要发送的信息,B则会用他的会话密钥K1加密他要发送的信息,而C可以用设法截取来自A和B的信息,并用K与K1去解密,然后在用K或K1加密后发送给A或B。这样,中间人C可以轻易监视A和B的通信,甚至对信息进行篡改、伪造或假冒攻击。
中间人攻击之所以能够得逞,是因为密钥交换者A和B交换的信息缺少认证保护,只需要让A和B分别对他们发送的信息施加数字签名,并在协议的每一步进行签名验证 ,那么中间人就不会再有任何机会。