230 likes | 422 Vues
第二章 传统加密技术. 2.1密码学基本概念 2.2 代换技术 2.3 置换技术 2.4 轮转机 2.5 隐写术. 2.1密码学基本概念. 密码学( cryptology) 作为数学的一个分支, 是研究信息系统安全保密的科学,它包括 密码编码学( cryptography ) 和密码分 析学( cryptoanalytics) 两个分支。 用以下模型解释一些基本概念。. 密码系统的模型. 图2-2. 入侵者. 明文. 密文. 明文. 接收者. 信源. 加密. 解密. 密钥. 密钥. 密钥源. 密钥源. 密钥信道. 密码系统的定义.
E N D
第二章 传统加密技术 • 2.1密码学基本概念 • 2.2 代换技术 • 2.3 置换技术 • 2.4 轮转机 • 2.5 隐写术
2.1密码学基本概念 密码学(cryptology)作为数学的一个分支, 是研究信息系统安全保密的科学,它包括 密码编码学(cryptography)和密码分 析学(cryptoanalytics)两个分支。 用以下模型解释一些基本概念。
密码系统的模型 • 图2-2 入侵者 明文 密文 明文 接收者 信源 加密 解密 密钥 密钥 密钥源 密钥源 密钥信道
密码系统的定义 • 定义: (密码体制)它是一个五元组(M,C,K,E,D)满足条件 (1)M是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) *(4)并有加密解密算法满足以下:
密码系统的公式表示 • 加密 E(M,K)=C • 解密 D(C,K)=M 并且有: D(E(M,K1),K2)=M 密钥K的可能值 的范围称密钥空间。所有算 法的安全性都基于密钥的安全性,而不是基 于算法的细节的安全性。
密码体制分类 密码体制分两大类: • 单钥体制(对称算法) K1=K2 • 双钥体制(公钥算法) K1‡K2
单钥体制 有两种加密方式: • 流密码(Stream Cipher) 明文按位加密。 • 对称密码(Symmetric Cipher) 明文按组(含多个字符)加密。(也称为分组密码,Block Cipher)
单钥体制(cont.) 单钥体制中,加密密钥和解密密钥是相同的 (可互推算),系统的保密性取决于密钥的 安全性。有两大课题: • 如何产生满足保密要求的密钥? • 如何将密钥安全可靠地分配给通信对方? 包括密钥产生、分配、存储、销毁等多方面 的问题,统称密钥管理。
流密码模型 异或运算 密钥流产生器 密钥k 密文c 明文m 流密码体制模型
双钥体制(公钥体制) 系统中,加密密钥称公开密钥(public key), 可以公开发布(电话号码注册);而解密密 钥称私人密钥(private key,简称私钥)。 • 加密: M=D(E(M,pub-key),private-key) • 认证: M=E(D(M,private-key),pub-key)
密码分析(简述) 密码分析学,是攻击者在不知道密钥的情况 下,恢复出明文的科学。对密码进行分析的 尝试称为攻击(Attack)。 攻击密码的方法: • 穷举法,又称强力法(Brute-force) • 分析法
密码分析 • 唯密文攻击 从已知的密文中恢复出明文或密钥; • 已知明文攻击 从已知密文和一些明文-密文对中分析明文; • 选择明文攻击 可选定任意明文-密文对进行攻击;
密码分析(cont.) • 选择密文攻击 分析者能选择不同的被加密的密文,并能得 到对应的解密的明文(主要用于公钥算法)。 以上攻击强度依次增大,唯密文攻击最弱。
两个概念 • 无条件安全P.17 • 计算上安全P.18
2.2 古典密码介绍 • 两种基本的构造模块(或两者结合) • 代换 明文由其它的字母、数字或符合所代替 • 置换 明文通过某种处理得到类型不同的映射
2.2.1 Caesar密码 加密算法:c = E(m,k) = (m + k) mod q 解密算法:m = D(c,k) = (c - k) mod q 特定地(恺撒密码):m = c = Zq , q = 26; 例:(k=3) 明文:meet me after the party 密文:phhw ph diwhu wkh sduwb
2.2.2 单表代换密码 • 密文是26个字母的任意置换,密钥是明文字母到密文字母的一个字母表.这种密码称单表代换密码 • 不能抵抗明文统计特性的攻击
2.2.5多表代换密码(维吉尼亚密码) 密钥 K=( k1,k2,…,km) 加密算法: Ek(x1,x2,…,xm)=(x1+k1,x2+k2,…,xm+km)=c 解密算法: Dk(y1,y2,…,ym)= (x1-k1,x2-k2,…,xm-km) =m 这里的所有的运算都是在(mod 26)中进行的。
3.1.2多表代换密码(例子) 取密钥为: deceptive; 明文:wearediscoveredsaveyourself 密钥:deceptivedeceptivedeceptive 密文:zicvtwqngrzgvtwavzhcqyglmgj
多表代换密码(Hill密码) 设m为某个固定的正整数,M=C=(Z/(26))m, K={Z/(26)上的m×m可逆矩阵} 加密算法: c=ek(p)=pK (mod 26) 解密算法: p=dk(c)=cK-1 (mod 26) =pK K-1 (mod 26) =p
2.3置换技术 • 栅栏技术 以对角线顺序写下明文,以行顺序读出 • 多重置换提高安全性
古典密码 • 小结 研究古典密码原理,对于理解、构造和分析 现代密码是十分有益的。 • 乘积密码