对称密码体制分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在对称密码体制中,使用的密钥必须完全保密,且要求加密密钥和解密密钥相同,或由其 中的一个可以很容易地推出另一个。 对称密码体制根据对明文的加密方式的不同而分为分组密码和流密码。 分组密码先按一定长度(如64字节、128字节等)对明文进行分组,以组为单位加/解密 流密码则不进行分组,而是按位加密。
• 对称密码体制
在每轮开始将输入的64比特数据分 成左、右长度相等的两半,将右半 部分原封不动地作为本轮输出的64 比特数据的左半部分,同时对右半 部分进行一系列的变换,即用轮函 数作用右半部分,然后将所得结果 (32比特数据)与输入数据的左半 部分进行逐位异或,将所得数据作 为本轮输出的64比特数据的右半部 分。
Li Ri 1 Ri Li 1 f ( Ri 1 , k i ) i 1,2, ,16 i 1,2, ,16
64bit密文 IP 1 ( R16 L16 )
解密过程:
R16 L16 IP( 64bit密文 ) Ri 1 Li Li1 R i1 f ( ห้องสมุดไป่ตู้i , ki ) i 16,15, ,1 i 16,15, ,1
置换选择 1
C0(28 位)
循环左移
D0(28 位)
循环左移
1 2 2 2 2 2 2 1
C1(28 位)
D1(28 位)
(56 位) 置换选择 2
k1
(48 位)
循环左移
循环左移
Ci(28 位)
Di(28 位)
置换选择 2 (56 位)
ki
(48 位)
DES加解密过程
令i表示迭代次数, 表示异或, f为加密函数。DES的加密和解密 过程表示如下。 加密过程: L0 R0 IP( 64bit输入码 )
什么是对称密码体制, 分析DES算法及其应用模式
主讲人:黄鑫
小组成员:孔黎明 李东旭 黄鑫
1
对称密码体制
2
DES算法
目录
3 DES问题讨论
应用模式
5
4
DES的变形
1
对称密码体制
密码体制是指实现加密和解密的密码方案,从使用密码策略上,可分为对称密码体制(Symmetric Key Cryptosystem)和非对称密码体制(Asymmetric Key Cryptosystem)。
明文 加密算法
密文
明文 信道 解密算法
密钥
加密密钥
解密密钥
优点:加密或解密运算速度快,加密强度高,并且算法公开 缺点:密钥分发困难,更新周期长,不便于管理 常见算法:DES、IDEA、AES等
2 2
DES算法(Data Encryption Standard) DES是分组长度为64比特的分 组密码算法,密钥长度也是64比 特,其中每8比特有一位奇偶校 验位,因此有效密钥长度为56比 特。DES算法是公开的,其安全 性依赖于密钥的保密程度。DES 结构框图如图2.1。
性质
设计标准
其他
2)完全效应 指密文中的每个比特都由明文的许多比特决定。 由DES中的扩展和S盒产生的扩散和混淆作用表明了强烈 的完全效应。
2、设计标准 (1)S盒的设计
• • • • • • • • 每一行的元素都是从0-15的臵换。 S盒是非线性的。 如果改变输入的一个比特,输出中的两个或更多比特会改变。 如果一个S盒的两个输入只有中间两个比特不同(第3和第4个比特),输出中至少有两个比特 不同。 如果一个S盒的两个输入开头的两个比特不同(第1和第2比特),且最后两个比特相同(第5和 第6),则输出一定不同。 最后三个输出比特得到的方式与第一个比特相同,都是补充一些它的输入比特。 在两个特定的对S盒排列的输入可以构造出相同的输出。 只改变相邻的S盒的比特在单轮加密中可能出现箱体的输出。
输入64比特明文数据 初始置换IP 在密钥控制下16轮迭代 交换左右32比特 初始逆置换IP-1 输出64比特密文数据
图2.1 DES加密算法框图
左图为DES加密算法执行过程,解 密使用与加密同样的算法 ,只是子 密钥的使用次序相反。其中迭代变 换是DES算法的核心部分且较为复 杂,在此单独做出介绍。
64bit明文 IP1 ( R0 L0 )
3
DES问题讨论
1)雪崩效应 明文中的一个小变动将会引起密文的显著变化。 已经证明,DES具有强烈的雪崩效应。 例:对两个只有一个比特的不同明文分组进行加 密(用同样的密钥),观察每轮加密后比特数的不同。
明文:0000000000000000 密钥:22234512987ABB23 密文:4789FD476E82A5F1 明文:0000000000000001 密钥: 22234512987ABB23 密文:0A4ED5C15A63FEA3
Ri-1(32比特) Li-1(32比特) 选择扩展运算E 48比特寄存器
子密钥Ki(48比特)
48比特寄存器 选择压缩运算S 32比特寄存器 置换运算P
轮函数F
Li(32比特)
Ri(32比特)
Li=Ri-1 图2.2
Ri=Li-1⊕F(Ri-1,Ki) DES的一轮迭代
DES中的子密钥的生成
64 位密钥 密钥表的计算逻辑 循环左移: 1 1 9 2 1 10 3 2 11 4 2 12 5 2 13 6 2 14 7 2 15 8 2 16
(2)初始臵换和扩展臵换
• 不清楚为什么DES的设计者采用初始和最终臵换,这没有安全益处。 • 在扩展臵换中,每4个比特序列的第一个和第四个会重复。
3、其他
(1)密钥中的长度缺陷
关于DES算法的另一个最有争议的问题就是担心实际56比特的密钥长度不足以抵御穷举式攻击, 因为密钥量只有256≈1017个。用现有的技术,一秒钟可以检查一百万各密钥。如果能够制造出一台拥 有一百万各芯片的电脑,我们可以在约20小时内测试完成整个密钥域。 • 1998年7月电子前沿基金会(EFF)使用一台25万美元的电脑在56小时内破译了56比特密钥的DES。 • 1999年1月RSA数据安全会议期间,电子前沿基金会用22小时15分钟就宣告破解了一个DES的密钥。
一个带有56个比特密钥密码的DES还不是足够安全的。
(2)S盒的安全问题 有人认为s盒可能存在陷门,但至今没有迹象表明s盒中存在陷门。