密码学原理与应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 与具体实现有关,非通用的分析方法,但更有效、更强大
密码分析概念与原理——密码分析
• 当加密方案产生的密文满足下面条件之一或全部条件时,则称该 方案是计算安全的(computationally secure)
• 破解密文的代价超出被加密信息的价值 • 破解密文需要的时间超出信息的有用寿命
• 问题的关键是,我们很难定量的评估成功破译密文需要付出的努 力。但是,假设算法没有内在的数学弱点,那么就只剩下穷举攻 击方法了,我们就能够对其成本和时间做出合理的评估。
密码分析概念与原理-主要分析方法
• 边信道攻击法(side channel attack)
• 利用密码系统实现时泄漏的额外信息,推导密码系统各种的秘密 参数,也被称为“侧信道攻击方法”、“物理分析方法”
• • • • • 密码算法执行器件(加密芯片)的功耗 密码算法各步骤执行的时间度量 电磁辐射 计算错误 ……
其中Ki是第i轮用的子密钥,由加密密钥K得到。一般地,各 轮子密钥彼此不同而且与K也不同。
Feistel加解密过程
明文(64bits) IP置换(64bits)
• DES加密过程
L0(32bits)
R0(32bits)
+ L1=R0 R1=L0 + f(R0,k1) 16轮同样运算…
f
ki
L16
密码分析概念与原理——密码分析
• 穷举搜索密钥需要的平均时间
• 穷举方法尝试所有可能的密钥直到把密文翻译成可解的明文。平均而言, 一般需要尝试所有可能密钥的一半才能成功。
• 下面的表格给出了不同密钥长度所需的时间
二、密码编码学基本原理 1. 对称密码概念与典型算法:Feistel结构、DES等 2. 公钥密码概念与典型算法:RSA等 3. 消息认证概念与典型算法:MD5等
• 所用的密钥数
• 对称密码:收发双方使用相同的密钥(又称为单钥或传统密码) • 非对称密码:收发双方使用不同的密钥(又称为双钥或公钥密码)
密码体制及其分类——三种分类(3)
• 明文处理方式
• 分组密码:每次处理输入的一组元素,相应地输出一组元素 • 流密码:连续地处理输入元素,每次输出一个元素(又称为序列密码)
对称密码概念与典型算法——分组密码典型算法
• AES(Advanced Encryption Standard,高级加密标准)
• 虽然到目前为止,尚没有致命的攻击能够破解DES(目前大多数的破解都是 针对DES密钥长度太短来破解) 但是已经影响到了DES密码体制的安全。 • 1997年4月15日,美国国家标准技术研究所(NIST)发起征集高级加密标准 (Advanced Encryption Standard,AES)的活动,活动目的是确定一个非保密 的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加 密标准。 • 1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。作 为进入AES候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。
密码分析概念与原理——基本概念
• 非授权者通过各种办法(如搭线窃听电磁信号等)来窃取机密信 息,称其为截收者。 • 截收者虽然不知道系统所用的密钥,但通过分析可能从截获的密 文推断出原来的明文或密钥,这一过程称为密码分析。 • 研究如何从密文推演出明文或密钥的科学称为密码分析学。 • 破译者使用的策略取决于加密方案的固有性质以及破译者掌握的 信息。
密码学发展简史
• 密码学发展史简图
密码学发展简史
• 密码学发展两大阶段
• 古典密码阶段(—1949) :特定应用领域(军事、政治、外交) • 现代密码学阶段(1949—):密码技术成为一门学科
• 著名论文: Communication theory of secrecy systems, Bell Syst. Tech. J.,Volume 28, 656-715, 1949.
密码分析概念与原理——主要分析方法
• 传统破译法——数学分析法
• 确定性分析法
• 方法:利用密文和部分明文等已知量以数学关系式表示出所求未知量(如密钥等), 然后计算出未知量。 • 对策:设计具有坚实数学基础和足够复杂的加密函数
• 统计分析法
• 方法:密码破译者对截获的密文进行统计分析,找出其统计规律或特征,并与明文 空间的统计特征进行对照比较,从中提取出密文与明文间的对应关系,最终确定密 钥或明文。 • 对策:扰乱密文的语言统计规律
• 对称密码体制
• 优点:
• 算法多、速度快、安全性好
• 缺点:
• 密钥更换、传递和交换需要可靠信道 • 如有N用户,则需要C=N(N-1)/2个密钥,N很大时,秘钥管理困难 • 不能实现数字签名
对称密码概念与典型算法——概念
• 对称密码体制的细分
• 根据明文处理方式,可以分为:
• 分组密码(block cipher) 将明文分成固定长度的组,用同一密钥和算法对每 一块加密,输出也是固定长度的密文。如DES、IDEA、AES等 • 流密码(stream cipher) 又称序列密码。流密码每次通过输出密钥流序列加 密(通常是模2加)一位或一字节的明文。如A5、E0 、RC4等
密码学原理与应用
内容
一、密码学概论
1. 密码体制及其分类 2. 密码学发展简史 3. 密码分析概念和原理
二、密码编码学基本原理
1. 对称密码概念与典型算法:Feistel结构、DES等 2. 公钥密码概念与典型算法:RSA等 3. 消息认证概念与典型算法:MD5等
三、密码学典型应用
1. 加密设备的部署 2. 密钥管理与密钥分配 3. 数字证书与PKI
• 计算机使得基于复杂计算的密码成为可能 • 相关技术的发展
• 1949年Shannon的《The Communication Theory of Secret Systems》 • 1967年David Kahn的《The Codebreakers》 • 1971-73年IBM Watson实验室的《Horst Feistel》等几篇技术报告
R16=L15 + f(R15,ki)
IP-1置换(64bits)
密文(64bits)
对称密码概念与典型算法——分组密码典型算法
• IDEA(International Data Encryption Algorithm,国际数据加密算法)
• • • • • • 1990年提出,1992年确定 IDEA受专利保护 应用于PGP(Pretty Good Privacy) 分组为64位,密钥为128位,52个子密钥,每个子密钥16位 8轮+输出置换,每轮使用6个子密钥 过程与DES相似,但是相对简单一些
• 主要特点:数据的安全基于密钥而不是算法的保密
密码学发展简史——现代密码
• 现代密码-公钥密码学(1976-)
• W. Diffie和E. M. Hellman提出公钥密码的思想(1976) • 著名论文:W. Diffie and M. E. Hellman, New direction in cryptography, IEEE Tran. On Information Theory, IT-22, (6), 644-654,1976. • 1977年Rivest,Shamir & Adleman提出了RSA公钥算法 • 90年代逐步出现椭圆曲线等其他公钥算法 • 主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能
密码体制及其分类——三种分类(1)
• 明文转换为密文的运算类型
• • • • 代替(Substitution) :明文中每个元素映射成另一个元素 置换(Transposition) :将明文元素重新排列 基本要求是不允许信息丢失(即可逆) 大多数密码体制使用多层代替和置换(即乘积密码系统)
密码体制及其分类——三种分类(2)
对称密码概念与典型算法——概念
• 对称密码体制(Symmetric System)
• • • • 传统密码算法(又称为单密钥算法) 加密密钥和解密密钥相同,或从一个易于推出另一个 能加密就能解密,加密能力和解密能力是结合在一起的,开放性差 如:DES、IDEA、RC5、AES等算法
对称密码概念与典型算法——概念
密码学发展简史——古典密码
• 古典密码
• • • • • 密码学还不是科学,而是艺术 出现一些密码算法和加密设备 密码算法的基本手段出现,针对的是字符 简单的密码分析手段出现 主要特点:数据的安全基于算法的保密
密码学发展简史——古典密码
• 二十世纪早期密码机
密码学发展简史——现代密码
• 现代密码——发展初期(1949-1975)
Hale Waihona Puke Baidu
密码学发展简史——现代密码
• 现代密码系统设计要求
• 系统即使达不到理论上是不可破的,也应当为实际上不可破的。就是说, 从截获的密文或某些已知的明文密文对,要决定密钥或任意明文,在计 算上是不可行的
• 系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥保密。 这是著名的Kerckhoff原则
密码分析概念与原理——主要分析方法
密码分析概念与原理——主要分析方法
• 传统破译法——穷举破译法
• 方法:
• 对截获的密文依次用各种可能的密钥试译,直到获得有意义的明文; • 或者利用对手已注入密钥的加密机(比如缴获得到),对所有可能的 明文依次加密直到得出与截获的密文一致的密文。
• 对策:将密钥空间和明文空间设计得足够大。
一、密码学概论 1. 密码体制及其分类 2. 密码学发展简史 3. 密码分析概念和原理
密码体制及其分类——学科内涵
• 学科内涵
• • • • • 研究如何隐秘地传递信息的学科 对信息以及其传输的数学性研究 与数学、信息论、计算机科学等紧密相关 是信息安全(认证、访问控制等技术)的基础和核心 其首要目的是隐藏信息的涵义,而不是隐藏信息的存在
• 加密和破译既相互对立又密切相关,二者的相互作用促进了密码 学的发展
密码体制及其分类——密码体制
• 密码系统——五元组(M,C,K,E,D)
• • • • • 明文空间 M 密文空间 C 密钥空间 K 加密算法 E 解密算法 D
密码体制及其分类
• 明文(plaintext)原始的消息。 • 加密算法(encryption algorithm) 对明文进行各种代替和变换的算法, 加密算法的输入为明文和密钥,输出为密文。 • 密文(ciphertext) 加密后的消息。 • 解密算法(decryption algorithm) 加密算法的逆运算,输入密文和密 钥,输出原始明文。 • 密钥(secret key) 加密算法的输入,密钥独立于明文和算法,算法 根据所用的特定密钥而产生不同的输出。
Feistel网络示意图
Feistel加密结构
输入是分组长为2w的明文和一个密钥K。将每组明文分成左 右两半L0和R0,在进行完n轮迭代后,左右两半再合并到一起以产 生密文分组。其第i轮迭代的输入为前一轮输出的函数:
Li Ri 1
Ri Li 1 F Ri 1 , K i
对称密码概念与典型算法——分组密码典型算法
• DES (Data Encryption Standard,数据加密标准)
• • • • DES也称为DEA (Data Encryption Algorithm,数据加密算法); 1972年,IBM设计完成; 1975年,IBM发布该算法的详细内容; 1976年,美国联邦政府采用该算法,成为从二十世纪80年代到二十世纪 末事实上的对称加密标准; • 采用56位密钥(64位,其中每个字节一个奇偶校验位),64位明文; • 共进行16轮加密操作。
密码体制及其分类——基本术语
• 密码学(Cryptology) 泛指研究保密通信的学科,包括设计和破 译两个方面
• 密码编码学(Cryptography) 研究如何达到信息秘密性、鉴别性等的科 学,研究编码系统 • 密码编码者(cryptographer) • 密码分析学(Cryptanalysis) 研究如何破解密码系统,或伪造信息使密码 系统失效的科学 • 密码分析者(cryptanalyst)
• 加密和解密算法适用于所有密钥空间中的元素 • 系统便于实现和使用
密码学发展简史——现代密码
• 现代密码-密码技术的商用化(1977-)
• 1977:美国国家标准局(现美国家标准与技术研究所NIST)颁布对称密码算 法数据加密标准DES (Data Encryption Standard) • 80年代出现“过渡性”的“Post DES”算法,如 IDEA、RCx、CAST等 • 90年代对称密钥密码进一步成熟,Rijndael、RC6、MARS、Twofish、 Serpent等出现 • 2001年Rijndael成为DES的替代者