密码学分类
密码学理论与技术
主要内容
• 算法分类 • 密码算法面临的问题和发展趋势 • 算法的使用 • 操作模式
密码学 2
密码算法分类-i
按照保密的内容分: ➢受限制的(restricted)算法:算法的保密
性基于保持算法的秘密。
➢基于密钥(key-based)的算法:算法的 保密性基于对密钥的保密。
密码学 3
➢流密码(stream cipher):又称序列密码。序 列密码每次加密一位或一字节的明文,也 可以称为流密码。
序列密码是手工和机械密码时代的主流
密码学 6
密码算法分类-v
➢公开密钥密码: ➢大部分是分组密码,只有概率密码体制属
于流密码 ➢用法:每次对一块数据加密 ➢用途:数字签名,身份认证 ➢举例:RSA, ECC, ElGamal
同的影响,包括将错误传递到后面将要解密的明文块。
不同应用中可接受的错误不同。上面提到的分块大小很
明显的会影响到错误增殖
密码学 36
密码算法的使用
• 四个基本任务
– (1)算法—密码算法设计、评估、实现 – (2)生成使用该算法的秘密信息—密钥生成 – (3)研制秘密信息的分布与共享的方法—密
钥管理
• 加密映射的复杂度。算法的复杂度会影响执行时的开销, 包括硬件的和软件的(如门的数量和码或数据的长度), 和实时性能(吞吐量)。有些算法的复杂度特别依赖于硬 件或是软件
• 数据的扩展。对明文加密不增加数据的长度通常是所希 望的,有时还是必需的。多名码置换和随机加密会引起
数据膨胀
• 错误增殖。有错误比特的解密可能会对恢复明文产生不
网络层: 路由、转发,拥塞控制
数据链路层: 成帧,差错控制、流量控 制,物理寻址,媒体访问 物控理制层: 缆线,信号的编码,网络 接插件的电、机械接口
ISO-OSI模型
分组 帧 PDU: Protocol Data Unit 密码学协3议9 数据单元
数据的封装
应用层 表示层
Sender
AApppplilcicaattioionn PPrreesseennttaattioionn
• 吞吐量。与加密映射的复杂度有关。还与执行时的方法 和平台有关
• 分块大小。影响安全和复杂度。(越大,安全性越好, 但执行时开销也越大)。也会影响性能,因为需要填充
密码学 35
对分组加密和操作模式的评估
• 分块大小。分块大小影响安全和复杂度。(越大,安全 性越好,但执行时开销也越大)。它也会影响性能,比 如要求填充
密码学 19
CBC
• 每一个密文分组Y, 在用密钥K加密之前, 都要先跟下一个明文 分组相异或
密码学 20
使用图
密码学 21
CBC的特点
➢ 相同的明文在相同的密钥和IV作用下,产生相同的密文。 如果改变IV,或密钥,或第一个明文块,将会产生比不 同的密文
➢ 链式机制会使得密文cj与明文xj以及前面所有的明文块 都有关系。这种关联表现在前面密文块的值上。因此, 密文块的重新排列会影响解密。一个密文块的正确破译 需要用到先前的密文块
操作作用于全部数据
密码学 9
分组密码算法总体研究趋势
• 模型研究 • 选取适当的密码特性好的非线性模块
和线性模块,构造分组密码算法
密码学 10
Feistel 与SP相结合
密码学 11
Rijndael
• 不属于Feistel结构 • 加密、解密相似但不对称 • 支持128/32=Nb数据块大小 • 支持128/192/256(/32=Nk)密钥长度 • 有较好的数学理论作为基础 • 结构简单、速度快
加密解密速度慢
密码学 7
现代常规分组加密算法—发展趋 势
• 一种是对DES进行复合,强化它的抗攻 击能力
• 另一种是开辟新的方法,即象DES那样 加解密速度快,又具有抗差分攻击和其 他方式攻击的能力
• 新理论、新技术:量子密码、生物密码
密码学 8
对称密码算法简介
• 可变密钥长度: RC5 • 混合运算IDEA • 数据相关的圈数RC5 • 密钥相关的圈数CAST-128 • 密钥相关的S盒: Blowfish • 冗长密钥调度算法: Blowfish • 可变的F:CAST-128 • 发展趋势: • 可变长明文/密文块长度、可变圈数、每圈
密码学 27
OFB的特点
• 将分组密码作为同步序列密码运行的一种方法, 与 CFB 模式类似,所不同的是 OFB 是将前一 个 n-位输出分组送入队列最右端的位置
• 解密是其逆过程。在加解密两端,分组算法都以 加密模式使用
• 这种方法有时也叫做内部反馈(Internal Feedback),因为反馈机制独立于明文和密文而 存在。
密码学 12
Rijndael安全性
• 没有发现弱密钥或补密钥 • 能有效抵抗目前已知的攻击算法
线性攻击 差分攻击
密码学 13
密码算法的使用
• 标准工作模式 • 如何用到实际工程之中构建安全的信息
传递通道
密码学 14
密码工作模式的目的
• 解决密钥的产生和使用问题
• 安全性依赖于基本密码,而不依赖模式。工作模 式不会损害算法的安全性
密码学 16
使用图
密码学 17
ECB的特点-1
• 相同的明文块在相同的密钥作用下产生相同的密 文(明文相同性)
• 明文块被相互独立的加密,密文块的重新排序会 引起相应明文的重新排序(前后关联性)
• 一个密文块中一位或几位比特位出现错误,它只 影响这个块本身的解密 (错误增殖)
密码学 18
• 独立地进行E加C解B密的,特因而点对-2整个明文序列的加解
密码学 31
计数模式
密码学 32
使用图
密码学 33
– 可以将分组密码计转换数为模序列式密码
– 可以并行实现 – 可以进行预处理 – 适用于高速网络 – 可以随机访问加密的数据分组 – 与CBC模式一样安全 – 可以处理任意长度的消息 – 误差传递:一个单元损坏只影响对应单元 – 对于每次加密,需要使用不同的密钥的计数器值 – 对明文的主动攻击是可能的:信息块可被替换、重放
密码学 46
软件保护
• 主要要求是防拷贝、反跟踪。 • 防拷贝:软件加密防伪,采用软件运行过
程中与定制硬件进行认证的方法,有效保 护电子产品的嵌入式软件设计,防止对产 品硬件的拷贝,保护电子产品的版权。 • 反跟踪技术
密码学 43
安全协议层
密码学 44
链路加密和端到端计原则
• 软件实现的要求:使用子块和简单的运算。密码
运算在子块上进行,要求子块的长度能自然地适 应软件编程,如8、16、32比特等 • 应尽量避免按比特置换,在子块上所进行的密码 运算尽量采用易于软件实现的运算。最好是用标 准处理器所具有的一些基本指令,如加法、乘法、 移位等
• 1980 年 12 月,FIPS81 标准化了为 DES 开发 的四种工作模式,这些工作模式可用于任何分组 密码:
电子密码本模式(ECB) 密码反馈模式(CFB) 密码分组链接模式(CBC) 输出反馈模式(OFB)
密码学 15
ECB • 一个明文分组加密成
一个密文分组,每个 明文分组都可被独立 地进行加解密,因而 对整个明文序列的加 解密可以以随机的顺 序进行
Receiver
AApppplilcicaattioionn PPrreesseennttaattioionn
SSeessssioionn TTrraannssppoorrtt
NNeettwwoorrkk DDaattaalilninkk PPhhyyssicicaall
OSI mnemonics All People Seem To Need Data Processing
密码学 28
比较
密码学 29
比较
密码学 30
• 是2001年计NIS数T公模布式的一(种C新M的) 操作模式,一般
作为分组密码到序列密码的的转换方式,可应用 于高速网络加密。除了密钥之外,还要求一个 IV(计数值) • 与OFB 类似,但是计数器值用于加密,而不是 密文反馈值 • 必须对每一个明文使用一个不同的密钥和计数值
Please Do Not Throw Sausage Pizza Away
密码学 40
加密的位置
密码学 41
各种加密位置包含的内容
密码学 42
网络各层的相关密码协议
• 链路层:链路隧道协议、加密技术 • 网络层:包过滤、IPSEC协议、VPN • 传输层/会话层 :SSL 协议 • 应用层:SHTTP、PGP、S/MIME等
Virtual data flow
A
PA
会话层
SSeessssioionn
SPA
传输层
TTrraannssppoorrtt
TSPA
网络层
NNeettwwoorrkk
N T S PA
数据链路层 DDaattaalilninkk
DN T S PAD
物理层
PPhhyyssicicaall
Actual data flow
密码学 34
对分组加密和操作模式的评估
• 实际上有很多的标准:
• 安全等级评定。如果一种算法能经受住一段时间的分析 攻击,则其安全性会认为比没有受到这种攻击的要好。 这包括近来被提出或是获得好评的一些根据不同设计准 则而选用的一些算法。实际攻击所需要的密文数量要比 唯一解距离大的多
• 密钥的大小。密钥的有效比特长度,或者加密所用的密 钥空间,定义了密文安全的上限(考虑穷举法)。长的密 钥会要求额外的开销,如产生,传送,存储
密码学 22
CFB
• 加(解)密过程山一个 初始向量Y0 = IV开 始,通过加密前一密 文分组来产生当前分 组的密钥流元素