logo资料库

密码学 中科院.pdf

第1页 / 共187页
第2页 / 共187页
第3页 / 共187页
第4页 / 共187页
第5页 / 共187页
第6页 / 共187页
第7页 / 共187页
第8页 / 共187页
资料共187页,剩余部分请下载后查看
2012年秋季学期《密码学》课程 主讲教师:翟起滨
推荐的参考书
CRYPTO-2012:The End of Crypto Jonathan Zittrain Professor of Law School and Professor of Computer Science, Harvard University,
第一章 引言
密码学的基本概念
基本术语
古典加密通信的模型
密码体制
密码体制分类
密码破译
古典密码的破译手段
密码算法的安全性
密码分析的基本原则
美国NSA在上世纪70年代面临的第一个挑战 ——密码技术从政府的黑屋子流向民间!
1976年后的密码学
从此密码学走向Internet时代
2006年12月21日PKC30周年庆典活动 Whitfield Diffie, Martin Hellman, Brian Snow, Jim Bidzos
第二章 古典密码
代换密码
字母代换密码
移位密码分析:
复合密码算法
广义的单表代换
单表替换密码的破译
对抗频率分析的办法
多对应代换密码
多表代换密码
Vigenére cipher (1858)
Vigenére cipher-破译
滚动密钥密码
若干古典密码算法的例子
Playfair举例
Playfair密码分析
Hill密码(1929)
Hill密码的例子:
Hill密码分析
第三章 分组密码与数据加密标准
DES的产生
DES的应用
分组密码的一般设计原理
实现的设计原则
简化的DES
加密算法的数学表示
对S-DES的深入描述
S-DES的密钥生成
Feistel
Feistel结构定义
Feistel结构分析
DES示意图
DES的描述
一轮加密的简图
初始置换IP和初始逆置换IP—1
DES: Function F
S-Box-i
S-Box-ii
S-Box
子密钥的产生
置换选择1(PC-1) 和置换选择2(PC-2)
对DES的讨论
S-Box问题
密钥长度
DES加解密过程
DES的破译
弱密钥与半弱密钥
差分密码分析
攻击3轮DES
DES的F函数
第2章习题讲解
第4章 有限域 (见数学基础课件)
第5章 高级加密标准 (The Advanced Encryption Standard)
AES背景
下面讨论AES—Rijndael算法 Rijndael为AES所定义的迭代式的分组密码算法,它的分组长度(block length)和密钥长度(key length)是可以各自独立的,当然它们都可以是128bit,192bit或256bit。 AE
AES参数配置表
我们通常限定AES密钥长度为128bit。 Rijndael的数据结构: (1)不论是明文,还是密文,密钥都是若干字节(1byte=8bits)构成的串(strings): b1 b2……bs 易见: 128b
(2)将字节串排列成4行的矩阵: 注:1)数据加密过程中产生的中间结果都称为State(状态)。一个状态可以表成4行Nb列的一个矩阵,其中Nb=分组长度/32;矩阵中的每一个系数是一个字节(1byte=8bits)。
注:2) 密钥(cipher key)也表示成一个4行Nk列的矩阵,其中Nk=密钥长度/32。 下面给出,当明文分组为128比特,密钥长也为128比特时的各自状态矩阵: a00 a01 a02 a03 k00 k01 k02 k03
(3) 加密流程: Rijndael(State,CipherKey){ KeyExpansion(CipherKey,ExpandedKey); 初始化 AddRoundKey(State,ExpandedKey); fo
AES-128加解密过程
AES Round
AES算法特征:
轮密钥加(Add Round Key)
▲ Add Round Key:
Substitute Bytes :
example
S—盒的构造: Rijndael的S—盒输入和输出都是8bit的,S是由两个变换复合而成: S=L•F 可以将x∈{0,1}8看作有限域有限域GF(28)中的元素,则 F(x)= x-1 x≠0 0
GF(28)的构造 选定GF(2)(ie F2)上的一个8次不可约多项式 m(x)=x8+x4+x3+x+1 则GF(28) ∽= F2[x]/,设[x]=α,有 GF(28)={c0•1+ c1• α + c2• α2+…+ c7•
另一方面,某字节对应的f(x) ∈ F2[x]/,求这个字节的逆,就是求f(x) -1,可用Euclid算法,算出u(x),v(x) ∈ F2[x],使 u(x)f(x)+v(x)m(x)=1 于是
例1、 f(x)=x6+x4+x2+x+1=(01010111); 则 x •f(x) (mod m(x)) =(10101110)=x7+x5+x3+x2+x 例2、 f(x)=x7+x5+x2+x+1=(10100111); 则 x •
行移位(Shift Row)变换
▲shift Row 对由字节组成的4行状态矩阵的每一行进行左循环移位,移位量(off sets)根据分组长度Nb和所在行数r而定:
example
列混合Mix Column变换
▲Mix Column 状态矩阵中的每一列视为GF(28)上的一个4维列向量α,用一个固定的4 x 4矩阵C左乘,得到的4维列向量β=Cα作为变换的输出结果: 矩阵C=(Cij)中的系数取自GF(28) , 2 3 1 1
AES的密钥扩展和轮密钥选取
▲Key Expansion ▲子密钥发生器Key Expansion的输入是初始密钥CipherKey,长度为32 • Nk比特,其中Nk=4,6或者8。其输出为各轮的子密钥Expanded Key。 ▲子密钥只用在Add RoundKey中
当Nk≤6时: Key Expansion(byte Key[4*Nk],word W[Nb*(Nr +1)]) { for ( i=0;i
注: 1)首轮的W[0],W[1],…,W[Nk-1]就是初始的密钥(Cipher Key)。 2)对于Nk≤i
G变换
example
32bit的W[i-1]可表为4个字节:a0 a1 a2 a3 ,于是,RotByte(W[i-1])= a1 a2 a3 a0 ,即将4个字节做左循环移位。 Byte替换—— SubByte(a0 a1 a2 a3 )=S(a0) S(a1) S(
Rijndael安全性
AES Decryption
Full AES key extraction in 65 milliseconds using cache attacks
Cache Attacks
事实上,对AES的代数攻击也引起重视
2012年秋季学期《密码学》课程 主讲教师:翟起滨 所选教材: Cryptography and Network Security Principles and Practices ,Fourth Edition ---- William Stallings (2006年7月 -影印版,电子工业出版社) 中文译本: 密码编码学与网络安全 — 原理与实践(第四版) (2006年10月)
推荐的参考书 Douglas R. Stinson Cryptography Theory and Practice (Third Edition) The CRC Press ,2003 Naccache Cryptography and Security : From Theory to Applications Softcover Press ,2012
CRYPTO-2012:The End of Crypto Professor of Law School and Professor of Computer Science, Harvard Jonathan Zittrain University, USA
第一章 引言
密码学的基本概念 密码学(Cryptology): 研究信息在系统中如何被隐蔽表示; 如何针对这个表示来计算其被破解的代 价的学问.易见,密码学被分类成密码编码 学和密码分析学(Cryptanalytics).
基本术语 • 消息被称为明文(Plaintext)。用某种方法伪装消息以隐藏它的 内容的过程称为加密(Encrtption),消息被加密后得到的信息称 之为密文(Ciphertext),而把密文转变为明文的过程称为解密 (Decryption)。 • 对明文进行加密操作的人员称作加密员或密码员 (Cryptographer). • 密码算法(Cryptography Algorithm):是用于加密和解密的广义 数学函数。 • 密码员将加密钥实用于密码函数对明文进行加密操作时所采用的 一组规则称作加密算法(Encryption Algorithm). • 所传送信息的预定对象称为接收者(Receiver). • 接收者将解密钥用于密码函数对密文解密所采用的一组规则称为 解密算法(Decryption Algorithm). • 破译者(Codebrekers ).
密钥 密钥 密文 明文 加密算法 解密算法 明文 加解密过程示意图 加密和解密算法的操作通常都是在一组密钥的 控制下进行的,分别称为加密密钥(Encryption Key) 和解密密钥(Decryption Key).
古典加密通信的模型 Oscar x Alice y 加密机 解密机 x Bob k 密钥源 安全信道 密码学的目的:Alice和Bob两个人在不安全的信道上进 行通信,而破译者Oscar不能理解他们通信的内容。
分享到:
收藏