1.28k likes | 1.5k Views
第七章 密码学. 汕职院 计算机网络专业. 7.1 密码学概述. 密码编码学 Cryptography 主要研究对信息进行编码,实现对信息的隐蔽。 密码分析学 Cryptanalysis 目的:得到密钥,而不是仅仅得到单个密文对应的明文。. 7.1.1 信息安全与密码学的关系. 加密技术是信息安全技术的核心,已经渗透到大部分安全产品中去了,而且有芯片化的趋势 信息的私密性 (Privacy) : 对称加密 信息的完整性 (Integrity) : 单向散列算法 信息的源发鉴别 (Authentication) : 数字签名
E N D
第七章 密码学 汕职院 计算机网络专业
7.1 密码学概述 密码编码学 Cryptography 主要研究对信息进行编码,实现对信息的隐蔽。 密码分析学Cryptanalysis 目的:得到密钥,而不是仅仅得到单个密文对应的明文。
7.1.1 信息安全与密码学的关系 加密技术是信息安全技术的核心,已经渗透到大部分安全产品中去了,而且有芯片化的趋势 • 信息的私密性(Privacy): 对称加密 • 信息的完整性(Integrity): 单向散列算法 • 信息的源发鉴别(Authentication): 数字签名 • 信息的防抵赖性(Non-Reputation): 数字签名 + 时间戳
7.1.2 密码学的目的和加密通信模型 • 密码学的目的:Alice和Bob两个人在不安全的信道上进行通信,而窃听者Charly不能理解他们通信的内容
1 2 4 5 明文 plain text 密文 cipher text 密码算法cipher/cryptography algorithm 密钥 key:基于key的保密 7.1.3 相关概念 3 受限制的(restricted)算法:基于算法的保密
Charly 明文 明文 密文 Bob Alice 加密 解密 密钥 密钥 密钥源 密钥源 密钥信道 7.1.4 密钥 • 是用户按照一种密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。
7.1.5 密码学的发展 • 第1阶段:(1949以前) 古典密码学 • 第2阶段:(1949~1975) 现代密码学 • 标志:1949年Shannon发表的《保密系统的信息理论》 • 第3阶段:(1976年至今) 公钥密码学 • 标志:1976年Diffie和Hellman发表了《密码学新方向》
7.1.6 密码的分类 • 单钥密码和双钥密码 • 私钥密码和公钥密码 • 流密码和分组密码
7.1.6.1 对称加密 • 传统密码/常规密码/私钥密码/单钥密码conventional / private-key / single-key • 发送方和接收方共享一个共同的密钥sender and recipient share a common key • 所有的传统密码算法都是私钥密码 • Kerckhoff原则:系统的保密性不依赖于对加密体制或算法的保密,而依赖于对密钥的保密。 • 20世纪70年代以前私钥密码是唯一类型 • 至今仍广泛应用
7.1.7 密码体系的安全性 • 绝对安全/无条件安全,unconditional security • 无论有多少可使用的密文,都不足以唯一的确定密文所对应的明文 • 除了一次一密之外,所有的加密算法都不是无条件安全的 • 计算安全,computational security • 破译密码的代价超过密文信息的价值; • 破译密码的时间超出了密文信息的有效生命期。
非技术因素的攻击 • 社会工程 • 偷窃 • 收买 • 逼问 • …
7.2 古典密码 • 代换技术 • 将明文字母替换成其他字母、数字或符号的方法; • 如果把明文看成是0或1的序列,那么密文就是0或1比特序列的另一种表达。 • 置换技术
7.2.1 非典型的单表代换——恺撒密码 • 加密算法:C=E(3,p)=(p+3)mod 26 • 算法的一般化: C=E(k,p)=(p+k)mod 26 • 解密算法:P=D(3,c)=(p-3)mod 26 • 算法的一般化: P=E(k,c)=(c-k)mod 26
恺撒密码的密码分析——穷举 • 恺撒密码的三个重要特征 • 已知加密和解密算法 • 共有密钥25个 • 明文所用的语言是已知的,且意义易于识别 • 例:
7.2.2 典型的单表代换 • 每个明文字母随机代换到一个密文字母(任意代换) • 密钥数目: 26!
利用语言特征的密码分析 UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ 22
对应明文 • itwasdisclosedyesterdaythatseveralinformalbutdirectcontactshavebeenmadewithpoliticalrepresentativesofthevietconginmoscow • It was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow
单表代换的缺点 • 单表代换缺陷是:密文带有原始字母使用频率的一些统计学特征 • 对策:每个字母提供多种代换
7.2.3 非典型的多表代换——Playfair密码 • 算法基于一个由密钥词构成的5×5字母矩阵 • 填写密钥单词 • 用其他字母填写剩下的空缺
Playfair密码的加/解密步骤 • 加密 • 明文分组:2个字母/组,相同字母间加填充字母 • 同行字母对加密:循环向右,ei→FK • 同列字母对加密:循环向下,cu→EM,xi→AS • 其它字母对加密:矩形对角线字母,且按行排序,hs→BP,es→IL(或JL) • 解密 • 加密的逆向操作
Playfair密码安全性分析 • 明、密文字母不是一一对应关系 • 安全性优于单表代替密码 • 在WW1中使用多年 • 虽然明文中字母的统计规律在密文中得到了降低,但密文中仍含有明文的部分结构信息 • 给定几百个字母,即分析出规律
7.2.4 非典型的多表代换——Hill密码 • 1929年由数学家Lester Hill发明 • 是多表代换密码 • 加密方法是由m个线性方程决定: • c1=(k11p1+k12p2+k13p3)mod 26 • c2=(k21p1+k22p2+k13p3)mod 26 • c3=(k31p1+k32p2+k33p3)mod 26 • 用列向量和矩阵表示为:
Hill密码的加/解密过程 加密: • 明文分组编码 • C≡KP mod 26,其中,K为密钥矩阵,P、C分别为明、密文列向量 解密: • 密文分组编码 • P≡K-1C mod 26 对密钥矩阵K的要求:在mod 26下可逆.
加密:paymoremoney 密钥矩阵 K= K-1= 明文分组 P=“paymor emo ney” = 明文编码P= 加密C≡ ≡ Mod 26≡ C=“LNS” 全文加密后是:lnshdlewmtrw
解密lnshdlewmtrw 密钥矩阵 K= K-1= 密文分组 C=“lns hdl ewm trw” = 密文编码C= 加密C≡ Mod 26≡ P=“pay”
Hill的安全性分析 • 明、密文字母不是一一对应关系 • 连续m个明文替换成m个密文 • 完全隐藏了单字母的频率特性 • 随着矩阵的增大,字母的统计规律进一步降低 • 足以抗唯密文攻击,但容易被已知明文攻击破解 • 数学可解出密钥
7.2.5 典型的多表代换 • 多表代换的共同点: • 采用单表代换规则 • 多个代换表规则 • 密钥决定使用具体规则 • 目的 • 使得字母的频率分布更加平坦 • 典型例子 • Vigenère(维吉利亚)密码(1858) • Vernam(唯尔南)密码(1918)
加密过程 • 假设密钥k,明文p,则密文为k行p列的元素:z • 例如:we are discovered save yourself • K:deceptivedeceptivedeceptive • P:wearediscoveredsaveyourself • C:zicvtwqngrzgvtwavzhcqyglmgj • 加密算法描述: • ci=(pi+ki)mod26i=1,2,…,n; • 说明:若明文长度大于n,则K重复使用。 • 解密算法描述 • Pi=(ci-ki)mod26i=1,2,…,n;
Vigenère的攻击方法 • 观察密文字母频率,如果与明文字母频率非常接近,则可能是单表代换 • 如果认为是采用维吉尼亚加密,则破译能否取得进展取决于:能否判定密钥词的长度 • 如何判定长度?观察上例 • 如果知道了K的长度L,则上例中,1,10,19……为单表代换,以此类推
Vigenère的攻击方法 • Vigenère的改进:密钥生成系统 • K:deceptivewearediscoveredsav • P:wearediscoveredsaveyourself • C:zicvtwqngrzgvtwavzhcqyglmgj • 对改进的Vigenère的攻击: • P和k具有相同的频率分布特征,则用e加密e的发生概率接近0.127*0.127,以此类推 • 最终的反破译手只能是采用和P一样长的k
Vigenère密码的安全性 • 强度在于:每个明文字母对应着多个密文字母,明、密文字母不是一一对应关系,字母的统计规律进一步降低 • Vigenére本人建议:密钥与明文一样长 • 观察上例:仍然保留了频率信息 • 特例:当k1 =k2 =… = kn =k时,是Caesar密码
Vernam(唯尔南)密码 • ci=pi ki • pi=ci ki • 关于vernam • 基于二进制 • 技术的关键在于构建K的方式 • Vernam提出使用连续磁带
7.2.6 一次一密 • 与明文等长的随机密钥 • 安全强度取决于密钥的随机性 • 理论上不可破 • 实际上不可行 • 产生大量的随机密钥难 • 密钥分配与保护更难
7.2.7 置换技术—栅栏密码(Rail Fence cipher) • 思想:以列(行)优先写出明文,以行(列)优先读出各字母作为密文 • 例1:先行后列 • 例2:先列后行 • 明文:meet me after the toga party • 写做: m e m a t r h t g p r y e t e f e t e o a a t • 读出密文为: MEMATRHTGPRYETEFETEOAAT
栅栏密码的改进 • 改进:带有密钥 • 例: • K: • P: • C:TTNAAPTMTSUOAODWCOIXKNLYPETZ
再改进 • 再改进:重复加密,多步置换 • 例: • K: • P: • C:NSCYAUOPTTWLTMDNAOIEPAXTTOKZ
7.2.8 轮转机 • 在现代密码之前,转轮密码是最广泛使用的复杂的密码 • 广泛用在第二次世界大战中 • German Enigma, Allied Hagelin, Japanese Purple • 实现了复杂多变的多表代换密码,多层加密 • 采用一系列转轮,每一个都是一个代替表,转轮可以依次旋转加密每个字母 • 用3个转轮就有 263=17576 代换表
2014年9月22日1时5分 46 西安电子科技大学计算机学院
7.2.9 隐写术 • 隐藏信息的存在 • “藏头诗” • 字符标记 • 用不可见的墨水 • 打字机的色带校正 • 缺点 • 需要额外的付出来隐藏相对较少的信息
Dear George, Greetings to all at oxford.many thanks for your letter and for the Summer examination package. All Entry Forms and Fees Forms should be ready for final despaetch to the syndicate by Friday 20th or at the very latest, I’m told.by the 21st. Admin has improve here, though there’s room for improvvement still; just give us two or three more years and we’llreally show you! Please don’t let these wretched 16t proposals destroy sort of change, if implemented immediately, would bring chaos. sincerely yours