一个密钥系统安全的必要条件是:密钥空间足够大,以使穷举破译不可行
密码学发展方向
古典密码
数据的安全基于算法的保密
置换密码(滚筒密码)
密文与明文的字一一对应,只是位置不对应
移位密码(凯撒密码)
明文与密文中的字不是一一对应,密文不是明文位置的变换(代换)
代换密码
满足代换且密文表按随机次序产生
单字母代换
单表代换
易遭到统计攻击
多表代换
一次一密:理论不可破
多字母代换
Hill 密码:多字母成组+矩阵
容易隐藏或均化字母的自然频度
传统密码
密码学
分类
按操作方式:
代换/置换
密钥数量
单钥/双钥
基本术语
明文–消息Message
- 密文
密钥–(加密算法 [加密密钥] ,解密算法 [解密密钥] )
密码分析
完全可破译:能确定密钥
部分可破译:仅能从密文得到明文,无法发现密钥
破译方式
穷举攻击
- 统计攻击
- 数学分析
对称密钥体制
数据安全不再基于算法保密,而是密钥保密
分类:
流密码(序列密码)stream cipher
将明文分为连续的字符或比特(逐比特加密),然后用相应的密钥流进行加密,密钥流由种子密钥用密钥流生成器产生
常见的二元加法流密码:
密钥流与明文流进行异或 ⨁ ⨁
A5
RC4:密钥长度8bit–2048bit(通常在128bit以上)
- WEP:基于40bit或104bit密钥的RC4算法加密(实际为40/104bit种子+24bit初始向量IV)
旨在实现无线环境与有线环境的一致性,保障无线环境安全
传递:
安全信道:种子密钥
公开信道:密文
分组密码
将明文按固定长度分组加密
设计原则(Shannon)
混淆
密钥与明密文之间的依赖关系足够复杂(代换)
扩散
密钥与明文的每一位数字影响密文的许多位数字(置换)
分组长度:至少128bit
密钥长度:至少128bit
乘积密码:SP网络
雪崩效应
常见分组密码:
AES
- DES:
- 56bit密钥对64bit明文数据块加密,得到64bit密文
- 进行16轮编码,每轮产生48bit临时密钥
- 解密过程为加密的逆过程
公钥密码
公钥密码体制的概念是在解决对称密码体制中最年解决的两个问题时提出的,这两个问题是密钥分配和数字签名(身份认证)
区别:非代换与置换
RSA实现
- 选择两个互异的大素数p和q,使n=pq,欧拉函数