第二章 密码学基础2

合集下载

密码学基础PPT课件

密码学基础PPT课件
虽然仅有26个字母,但有26×26=676种字母对, 因此,识别字母对要比单个字母要困难得多
一个明文字母有多种可能的代换密文字母,使 得频率分析困难的多(hs成为BP, hq成为YP)。
由于这些原因,Playfair密码过去长期被认 为是不可破的。
最简单的多表代换密码---Vigenère
注意
Internet的广泛应用,可以把全世界的计算机资源 连成一体,形成巨大的计算能力,从而拥有巨大的 密码破译能力,使原来认为安全的密码被破译。
1994年,40多个国家的600多位科学家通过Internet, 历时9个月破译了RSA-129密码,1999年又破译了RSA - 140密码,2005年,RSA-200也被成功破译。
经典密码运用的两种基本技术:
代换法:将明文字母替换成其他字母、数字 或符号
置换法:明文的字母保持相同,但顺序被打 乱
代换技术
代换法,是将明文字母替换成其他字母、数 字或符号的方法。
Caesar密码(已知的最早的代换密码)
例如:明晨五点发动反攻 明文:MING CHEN WU DIAN FA DONG FAN GONG 密文:PLQJ FKHQ ZX GLDQ ID GRQJ IDQ JRQJ
密码系统的分类(3)
根据加密算法是否变化分类
设E为加密算法,K0, K1,…,Kn,为密钥, M0,M1,…,Mn为明文,C为密文
固定算法密码体制
C0=E(M0,K0), C1=E(M1,K1),..., Cn=E(Mn,Kn)
变化算法密码体制
C0=E1 (M0,K0), C1=E2 (M1,K1),..., Cn=En (Mn,Kn)
密码学的发展历史(5)

第2章 密码学基础 流密码.

第2章 密码学基础 流密码.

证明: 在等式 an+1=c1an c2an-1 … cna1 an+2=c1an+1 c2an … cna2 … 两边分别乘以xn,xn+1,…,再求和,可得 A(x)-(a1+a2x+…+anxn-1) =c1x[A(x)-(a1+a2x+…+an-1xn-2)] +c2x2[A(x)-(a1+a2x+…+an-2xn-3)]+…+cnxnA(x)
1 0 1 1 1 0
即输出序列为101110111011…,周期为4。 如果f(a1,a2,…,an)是a1,a2,…,an的线性函数,则称之 为线性反馈移位寄存器LFSR(linear feedback shift register)。此时f可写为 f(a1,a2,…,an) =cna1 cn-1a2 … c1an 其中常数ci=0或1, 是模2加法。ci=0或1可用开关 的断开和闭合来实现,如图2.10所示。
k
安全信道
k

滚动密钥生成器 zi xi
Ez xi
i

滚动密钥生成器
zi
yi
yi
D z yi
i
xi
图2.2 同步流密码体制模型
二元加法流密码是目前最为常用的流密码体制,其 加密变换可表示为yi=zi xi。
图2.3 加法流密码体制模型
一次一密密码是加法流密码的原型。事 实上,如果(即密钥用作滚动密钥流),则 加法流密码就退化成一次一密密码。 实际使用中,密码设计者的最大愿望是 设计出一个滚动密钥生成器,使得密钥经其 扩展成的密钥流序列具有如下性质:极大的 周期、良好的统计特性、抗线性分析、抗统 计分析。

[课件]第2讲 密码学的基本概念和理论基础PPT

[课件]第2讲 密码学的基本概念和理论基础PPT

20
(3)公元前50年,著名的恺撒大帝发明了一种密码叫做恺 撒密码。在恺撒密码中,每个字母都与其后第三位的字母 对应,然后进行替换。如果到了字母表的末尾,就回到开 始,如此形成一个循环。当时罗马的军队就用恺撒密码进 行通信。 恺撒密码明文字母表:A B C D E F G … X Y Z 恺撒密码密文字母表:D E F G H I J …A BC 26个字符代表字母表的26个字母,从一般意义上说,也可 以使用其它字符表,一一对应的数字也不一定要是3,可 以选其它数字。
3. 密码系统

一个好的密码系统应满足: 系统理论上安全,或计算上安全(从截获的密文或已知 的明文-密文对,要确定密钥或任意明文在计算上不可行 ); 系统的保密性是依赖于密钥的,而不是依赖于对加密体 制或算法的保密; 加密和解密算法适用于密钥空间中的所有元素; 系统既易于实现又便于使用。
第2阶段:常规现代密码学,从1949年到1975年。
标志:1949年Shannon发表的《保密系统的信

息理论》一文。信息论为对称密码系统建立了理 论基础,从此密码学成为一门科学。
以及《破译者》的出版和美国数据加密标准DES
的实施,标志着密码学的理论与技术的划时代的 革命性变革,宣布了近代密码学的开始。
明文X 加密机 密文Y
原来的明文X
解密机
单钥密码的加密、解密过程
8

双密钥系统又称为非对称密码系统或公开密钥系统。双密钥 系统有两个密钥,一个是公开的,用K1表示,谁都可以使 用;另一个是私人密钥,用K2表示。
K1 明文X 加密算法 密文Y K2 解密算法
原来的明文X
双钥密码的加密、解密过程
双密钥系统的主要特点是将加密和解密密钥分开。即用公 开的密钥K1加密消息,发送给持有相应私人密钥K2的人, 只有持私人密钥K2的人才能解密;而用私人密钥K2加密的 消息,任何人都可以用公开的密钥K1解密,此时说明消息 来自持有私人密钥的人。前者可以实现公共网络的保密通 信,后者则可以实现对消息进行数字签名。

经典:第二章-密码学基础(NEW)

经典:第二章-密码学基础(NEW)

2.1.2 密码系统
Cipher Text
窃密者:Eve
密码分析

Plain Text
Cipher Text
加密变换
Cipher Text
Plain Text
不安全信道
解密变换
Encryption Key
发送者:Alice
密钥信道
Decryption Key
接受者:Alice
(1)密码学基本概念
➢ 解密算法:接收者对密文进行解密时所采用的一 组规则,常用D()表示
➢ 密钥(Key):控制加密和解密算法操作的数据处 理,分别称作加密密钥和解密密钥,常用k表示
➢ 截收者(Eavesdropper):在信息传输和处理系统 中的非受权者,通过搭线窃听、电磁窃听、声音 窃听等来窃取机密信息。
➢ 密码分析(Cryptanalysis):截收者试图通过分析 从截获的密文推断出原来的明文或密钥。
2.1.3 密码体制
密码体制:一个密码系统采用的基本工作方式 密码体制从原理上可以分为两大类: ➢ 对称密钥密码体制(或单钥密码体制) ➢ 非对称密钥密码体制(或双钥密码体制)
2.1.3.1 对称密钥密码体制
Plain Text
Cipher Text
加密:E
Cipher Text 不安全信道
Plain Text
(2) 分组密码
对明文信息分割成块结构,逐块进行加密和解密。 ➢ 工作原理:首先将明文分成相同长度的数据块,
然后分别对每个数据块加密产生一串灭为你数据 块;解密时,第每个密文数据块进行解密后得到相 应的明文数据块,将所有的明文数据块合并起来即 得到明文。
明文序列:m=m0m1m2…
Ek

Lecture02_密码学基础

Lecture02_密码学基础
破译者取得密文后将不能在有效的时间或成本 范围内破解出密钥或明文 一个密码系统是安全的必要条件:穷举密钥搜 索将是不可行的


密码系统的分类



明文变换到密文的操作类型 substitution transposition 所用的密钥数量 symmetric, single key, secret-key, or convetional encryption asymmetric, two-key, public-key encryption 明文被处理的方式 block cipher stream cipher


数据复杂性(data complexity)
处理复杂性(processing complexity)
存储需求(storage requirement)
评价密码体制安全性的三个途径


计算安全性
可证明安全性

无条件安全性
一个密码系统实际安全的条件

每一个加密函数和每一个解密函数都能有效 地计算
密文 解密 K 密文 加密 解密
原来的明文
明文
原来的明文
KE 明文 密文
KD 原来的明文
加密
解密
公开密钥密码体制与常规密码体制的比较
分类 运 行 条 件
常规密码体制
公开密钥密码体制
加密和解密使用同一个密钥和同一 个算法。
发送方和接收方必须共享密钥和算 法。 密钥必须保密。
用同一个算法进行加密和解密,而 密钥有一对,其中一个用于加密, 另一个用于解密。 发送方和接收方每个使用一对相互 匹配、而又彼此互异的密钥中的 一个。 密钥对中的私钥必须保密。
§2-3

2密码学基础

2密码学基础
q
2
14
数论中的难题


RSA问题 n是两个大素数的乘积n = p q,gcd ( e, ( n ) ) = 1,a Zn*,求b Zn*满足be = a ( mod n )。 强RSA问题 n是两个大素数的乘积n = pq,a Zn* ,求b、 e Zn*满足b e = a ( mod n )。
10
密码体制的安全性

可证明安全性:把密码体制的安全性归结为某 个经过深入研究的数学难题。例如如果给定的 密码体制是可以破解的,那么就存在一种有效 的方法解决大数的因子分解问题,而因子分解 问题目前不存在有效的解决方法,于是称该密 码体制是可证明安全的,即可证明攻破该密码 体制比解决大数因子分解问题更难。可证明安 全性只是说明密码体制的安全与一个问题是相 关的,并没有证明密码体制是安全的,可证明 安全性也有时候被称为归约安全性。
11
数论中的难题

离散对数问题:指给定有限循环群G,G 的生成 元g,元素a G,求logg a (求x满足a = g x)。 表示问题: 给定阶为m的有限循环群G,G 的不 同生成元组是g1,…,gn G,如果( x1, …, xn )满足 xn x1 x2
a g1 g2 ...gn
x1 x2
IV
eK
+
y1
eK
+
y2
eK
27
OFB
IV
eK
x1
eK
x2
+
y1
+
y2
28
计数器模式
ctr+i-1 eK xi-1 Yi-1 xi Yi ctr+i eK
ctr+i+1

密码学基础Class2

密码学基础Class2

2.1 概述
公用/私有密钥,与单独的密钥不同,它使用相 互关联的一对密钥,一个是公用密钥,任何人都可以 知道,另一个是私有密钥,只有拥有该对密钥的人知 道。如果有人发信给这个人,他就用收信人的公用密 钥对信件进行过加密,当收件人收到信后,他就可以 用他的私有密钥进行解密,而且只有他持有的私有密 钥可以解密。这种加密方式的好处显而易见。密钥只 有一个人持有,也就更加容易进行保密,因为不需在 网络上传送私人密钥,也就不用担心别人在认证会话 初期截获密钥。 ①公用密钥和私有密钥有两个相互关联的密钥; ②公用密钥加密的文件只有私有密钥能解开; ③私有密钥加密的文件只有公用密钥能解开 。
• 中断(Interruption)(干扰) • 截取(Interception) (侦听) • 修改(Modification) • 伪造(Fabrication)
数据的性质

Interruption Interception
-- Availability -- Confidentiality Integrity
• • • • •
非对称密钥算法(asymmetric cipher)
加密密钥和解密密钥不相同,从一个很难推出另一个 又称公开密钥算法(public-key cipher) 公开密钥算法用一个密钥进行加密, 而用另一个进行解密
其中的加密密钥可以公开,又称公开密钥(public key),简称公钥。解 密密钥必须保密,又称私人密钥(private key)私钥,简称私钥
常规加密系统的模型
密码体系形式化描述
密码体系是一个五元组(P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间)
(2)C是可能密文的有限集;(密文空间)

密码学基础

密码学基础
• 如果密文信息足够长,很容易对单表代替密码进行破译。
相对使用频度(%)
14
12.702
12
10
8.167
8
6
4.253
4
2.782
2
1.492
0
6.996 6.094
7.507 6.749
9.056 5.9867.327
2.2228.015
4.025
2.406
0.772 0.153
1.929 0.095
凯撒Caesar密码
• 凯撒密码体系的数学表示:
– M=C={有序字母表},q = 26,k = 3。
• 其中q 为有序字母表的元素个数,本例采用英文字 母表,q = 26。
– 使用凯撒密码对明文字符串逐位加密结果如下 :
• 明文信息M = meet me after the toga party • 密文信息C = phhw ph diwho wkh wrjd sduwb
• 分组密码(block cipher)、序列密码(stream cipher)
– 密码分析也称为密码攻击,密码分析攻击主要 包括:
• 唯密文攻击、已知明文攻击、选择明文攻击、自适 应选择明文攻击、选择密文攻击、选择密钥攻击
2.2 古典替换密码
2.2.1 简单代替密码
– 简单代替密码
• 指将明文字母表M中的每个字母用密文字母表C中的 相应字母来代替
– 密码学(Cryptography)包括密码编码学和密码分析学 两部分。
• 将密码变化的客观规律应用于编制密码用来保守通信秘 密的,称为密码编码学;
• 研究密码变化客观规律中的固有缺陷,并应用于破译密 码以获取通信情报的,称为密码分析学。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

加密过程
把待加密的内容分成k比特的分组,k≤ log2n,并写成数字,设为M,则:
C=
Me
mod n
c=m5 mod 119
解密过程
M = Cd mod n
m=c77 mod 119
RSA 算法的证明
证明解密过程是正确的
M = Cd mod n =( Me mod n)d mod n = Med mod n 即 Med ≡M mod n
p= 19, a i mod p, i=1,2,3,…,18 a 1 2 3 4 a2 1 4 9 a3 1 8 8 a4 1 a5 1 a6 1 a7 1 a8 1 a9 1 a1
0
a11 a1
2
a1
3
a1
4
a1
5
a1
6
a1
7
a1
8
1
1
1 1 1 1 1 7
1 3
1 6
1
1
1
1
16 13 7 5 9 15 7
数论基础(续)
模运算是可交换的、可结合的、可分配的
(a+b) mod n = ((a mod n ) + (b mod n) ) mod n (a-b) mod n = ( (a mod n) – (b mod n) ) mod n (a×b) mod n = ( (a mod n )× (b mod n) ) mod n (a × (b+c) ) mod n = ( a ×b) mod n + (a ×c) mod n
对比:对数运算: i
= log
a
(b) mod p
inda,p (1)=0, 因为 a0 mod p =1 mod p =1; inda,p (a)=1 因为 a1 mod p =a mod p =a;
离散对数(续)
y = gx mod p 已知 g, x , p 计算y 是容易的, 已知g, y, p , 计算x 是非常困难的
公钥密码系统的加密原理
每个通信实体有一对密钥(公钥,私钥)。公钥公开,用于加密 和验证签名,私钥保密,用作解密和签名 A向B 发送消息,用B的公钥加密 B收到密文后,用自己的私钥解密
A
B的私钥
B
PlainText
加密 算法
cipher
解密 算法
PlainText
任何人向B发送信息都可以使用同一个密钥(B的公钥)加密
幂,模运算
ma mod n
m2 mod n = (m×m) mod n = (m mod n ) 2 mod n m4 mod n = (m2 mod n ) 2 mod n m8 mod n = ( (m2 mod n )2 mod n )2 mod n m25 mod n = (m × m8 )
欧拉定理 ( n) 1 mod n 若整数m 和n 互素,则 m m ( n)1 m mod n 等价形式
例如: m=3, n=10; ф(10)=4 mф(n)=34=81 ; 81 mod 10 = 1 即 81≡ 1 mod 10 34+1 = 243 ≡ 3 mod 10
• 加密过程
把待加密的内容分成k比特的分组, k≤ log2n,并写成数字,设为M,则:
C= Me mod n • 解密过程 M = Cd mod n
c=m5 mod 119
m=c77 mod 119
2.3.3公钥密钥与对称密钥技术的综合应用
2.3.3公钥密钥与对称密钥技术的综合应用
①A生成一随机的对称密钥,即会话密钥 ②A用会话密钥加密明文 ③AB的公钥加密会话密钥 ④A将密文以及加密后的会话密钥传送给 B ⑤B使用自己的私钥解密会话密钥 ⑥B使用会话密钥解密密文,得到明文。
Diffie –Hellman密钥交换算法
第一个发表的公开密钥算法,1976 用于通信双方安全地协商一个会话密钥 只能用于密钥交换 基于离散对数计算的困难性 主要是模幂运算 a p mod n
3.3.3.1 离散对数
对数是指数的反函数: b= ai => i= loga b ; 模运算如何? b≡ ai mod p => i = logab mod p ? 素根(Primitive Root) a是素数p 的一个素根,如果 a mod p, a2 mod p , …, ap-1 mod p 是1到p-1的排列
数论基础(续)
欧拉函数ф(n)
n是正整数, ф(n) 是比n小且与n 互素的正整数的个数 ф(3)=|{1, 2}| =2 ф(4)=|{1, 3}| =2 ф(5)=|{1, 2, 3, 4 }| =4 ф(6)=|{1, 5}| =4 ф(7)=|{1, 2, 3, 4, 5, 6}| =6 ф(10)=|{1, 3, 7, 9}| =4 ф(11)=|{1, 2,3,4,5,6, 7,8, 9,10}| =10 如果p是素数,则ф(p)=(p-1), 比如ф(2), ф(5), ф(11) 如果p,q 是素数,则ф(pq)=ф(p) ф(q)= (p-1)(q-1) 。 比如,ф(10)
数论基础(续)
推论:给定两个素数p, q , 两个整数 n, m ,使得n=pq, 0<m<n ; 则对于任意 整数k ,下列关系成立:
m
kф(n)+1
≡ m mod n
RSA 算法加密/解密过程(续)
密钥对(KU, KR):
KU={e, n} , KR={d, n}
{5,119} {77,119}
密码学的基本概念 对称密钥密码算法 非对称密钥密码算法
单向散列函数
数字签名 密钥管理
非对称密码算法原理
对称密钥密码系统的缺陷
密钥必须经过安全的信道分配 无法用于数字签名 密钥管理复杂 O(n2)
非对称密钥密码,也称公开密钥密码,由Diffie, Hellman 1976年提出 使用两个密钥,对于密钥分配、数字签名、认证等 有深远影响 基于数学函数而不是代替和换位,密码学历史上唯 一的一次真正的革命
没有其他人可以得到B 的私钥,所以只有B可以解密
公钥密码系统的签名原理
A
PlainText
A的私钥
B
加密 算法
cipher
解密 算法
PlainText
A向B 发送消息,用A的私钥加密(签名) B收到密文后,用A的公钥解密(验证)
公钥密码算法的表示
对称密钥密码
密钥:会话密钥(Ks) 加密函数:C= EKs[P] 对密文C,解密函数:DKs[C],
110
120 129 130
365
398 428 431
1992
1993 1994 1996
75
830 5000 500
RSA 算法的性能
速度
软件实现比DES 慢100倍 硬件实现比DES慢1000倍
512位
加密 解密 0.03 0.16
768位
0.05 0.48
1024位
0.08 0.93
签名
验证
0.16
0.02
0.52
0.07
0.97
0.08
RSA算法操作过程
• 密钥产生
1. 取两个大素数 p, q , 保密; 2. 计算n=pq,公开n; 3. 计算欧拉函数ф (n) =(p-1)(q-1); 4. 任意取一个与ф (n) 互素的小整数e, 即 gcd (e, ф (n) )=1; 1<e< ф (n) e作为公钥公开; 5. 寻找d, 使得 de ≡1 mod ф (n) , ed =k ф (n) +1 d 作为私钥保密。
3.3.3.2 Diffie-Hellman 密钥交换过程
全局公开的参数: q 是一个素数, a < q , a是q 的一个素根 A 选择一个私有的XA, XA< q 计算公开的YA, YA= a XA mod q A计算会话密钥 K=(YB) XA mod q
YA
YB
B 选择一个私有的XB, XB< q 计算公开的YB, YB= a XB mod q
根据欧拉定理推论,Mkф(n)+1 ≡ M mod n ed =kф(n)+1
3.3.2.3 RSA 算法的安全性
攻击方法
蛮力攻击:对所有密钥都进行尝试 数学攻击:等效于对两个素数乘积(n)的因子分解
大数的因子分解是数论中的一个难题
因子分解的进展
十进制数字位数 100 近似比特数 332 得到的数据 1991 MIPS年 7
公钥密码系统的应用
三种用途:
加密/解密: 数字签名:发送方用自己的私钥签署报文,接收方用对 方的公钥验证对方的签名。 密钥交换:双方协商会话密钥 算法 RSA Diffie-Hellman DSA 加密/解密 Y N N 数字签名 Y N Y 密钥交换 Y Y N
对公钥密码算法的误解
RSA算法
RSA算法是一个非对称密钥加密算法该算法已经 经受住了多年的深入破解分析,密码分析者既不能 证明、也不能否定RSA的安全性,这恰恰说明该 算法具有一定的可信度。 RSA的安全性基于数论中大整数的素数分解难题, 即寻找两个大素数比较简单,但是将它们的乘积分 解开却是极其困难的。 其密钥对是一对大素数 (100~200位十进制数或更大),从一个公开密 钥和密文中恢复出明文的难度等价于分解两个大素 数之积。
公开密钥算法比对称密钥密码算法更安全?
任何一种算法都依赖于密钥长度、破译密码的工作量, 从抗分析角度,没有一方更优越
公开密钥算法使对称密钥成为过时了的技术?
公开密钥很慢,只能用在密钥管理和数字签名,对称 密钥密码算法将长期存在
相关文档
最新文档