现代密码学第三讲(二)(必修和选修)

合集下载

现代密码学第三讲(一):密码学的信息论基础

现代密码学第三讲(一):密码学的信息论基础
H (X | Y) p( yi ) H (X | y j ) p( yi ) p( xi | y j ) log2 p( xi | y j )
j 1 j 1 i 1
12
m
m
n
熵和无条件保密
若将X视为一个系统的输入空间,Y视为系统 的输出空间,在通信中,通常将条件熵 H(X|Y)称作含糊度,X和Y之间的平均互信 息定义为: I(X,Y)=H(X)-H(X|Y) 它表示X熵减少量。
分组密码设计思想
P= p1 p2 p3 p4 p5
E: pi^ki = ci D: ci^ki = pi 已知明密文比特:pi^ci = ki
K=
k1 k2 k3 k4 k5
C=
c1 c2 c3 c4 c5
密钥不可重复使用
分组密码设计思想
事例:珍珠港事件
日本人偷袭珍珠港得手以后,山本五十六又制订了中途岛作战计划。 美军太平洋舰队新任司令尼米兹的手里有一个密码破译小组,虽然有 些情报还不能够完全破译,但是这个小组发现当日军开始向中途岛进 发的时候,在日军来往的电报中,经常出现的“AF”这两个字母,究竟 指什么?一时难以敲定。初步的判断,这可能是日军下一步要进攻的 目标,但是究竟是哪呢?也有人猜出来是中途岛,但是不能确定。 美军情报官让中途岛的美军,给太平洋舰队的总部发一份电报,内容 是 “本岛淡水设备发生故障。” 日军截获并破译了这封电报,同时向 它的司令部大本营报告。美军截获日军法网大本营的电报 “AF很可能 缺少淡水。” 于是确认了美军的判断——AF就是中途岛。 推论得到证实以后,太平洋舰队司令官尼米兹将军命令整个舰队严阵 以待,6月4日中途岛大战爆发,美军以损失一艘航空母舰的代价,一 举击沉了日本四艘航空母舰,而且都全是它的重型航空母舰,使日本 的联合舰队,遭受了空前的灭顶之灾。

现代密码学精讲PPT课件

现代密码学精讲PPT课件
3
2.1.1 什么是密码学(续)
发送者 Alice
明文m 加密器 Ek
密文c 公 共 信道
密钥k
密钥源
安全 信道
图 2.1 Shannon保密系统
分析者 Eve
解密器 明文m Dk
密钥k
接收者 Bob
4
2.1.1 什么是密码学(续)
通信中的参与者 (1) 发送者(Alice): 在双方交互中合法的信息发 送实体。 (2) 接收者(Bob):在双方交互中合法的信息接收 实体。 (3) 分析者(Eve):破坏通信接收和发送双方正常 安全通信的其他实体。可以采取被动攻击和主动 攻击的手段。 信道 (1) 信道:从一个实体向另一个实体传递信息的 通路。 (2) 安全信道:分析者没有能力对其上的信息进 行阅读、删除、修改、添加的信道。 (3) 公共信道:分析者可以任意对其上的信息进 行阅读、删除、修改、添加的信道。
定义2 一个加密方案可以被破译是指,第三方在 没有事先得到密钥对(e, d)的情况下,可以在适当 的时间里系统地从密文恢复出相对应的明文。 # 适当的时间由被保护数据生命周期来确定。
12
2.1.4 现代密码学主要技术(续)
私钥加密 定义3 一个由加密函数集{Ee: eK}和解密函数集{Dd: dK}组成加密方案,每一个相关联的密钥对(e, d) , 如果知道了e在计算上很容易确定d,知道了d在计算 上很容易确定e,那么,就是私钥加密方案。 # 私钥加密需要一条安全信道来建立密钥对。
2.1.4 现代密码学主要技术(续)
公钥加密实例
A1
Ee(m1)=c1
e
c1
e
A2
Ee(m2)=c2
c2
Dd(c1)=m1 Dd(c2)=m2

现代密码学_第三讲 密码学基本知识

现代密码学_第三讲 密码学基本知识

Pr[ p]Pr[c | p] { k : p d ( c )} Pr[ p | c] Pr[k ]Pr[ p d k (c)] Pr[c] { k :cC ( k )}
k
Pr[ p ]

Pr[ k ]
密 钥
Pr[c | p ]
解密算法
{k : p d k ( c )}
Pr( y
j 1
m
j
) 1
16
密码体制组成部分熵的基本关系
设(P,C,K,E,D)是一个密码体制,那么,
H(K|C)=H(K)+H(P)-H(C) 证明:首先,有H(K,P,C)=H(C|K,P)+H(K,P)。因为密钥和明 文唯一决定密文,所以,H(C|K,P)=0。又K和P是统计独立的,
所以,H(K,P)=H(P)+H(K)。 可得, H(K,P,C)=H(K,P)=H(P)+H(K) 。 同样,密钥和密文唯一决定明文,得H(P|K,C)=0,因此有
H(K,P,C)=H(K,C)。 所以,H(K|C)=H(K,C)-H(C) =H(K,P,C)-H(C) =H(K)+H(P)-H(C)
可得, H(K|C)= H(K)+ H(P) - H(C) ≈ 0.46
18
相关性(举例)
猜字母。假设收到便条“I lo_e you”,请问残缺的字母应 该是什么?在英语中符合lo_e结构的所有单词,其部分如下:
lobe lode loge lone lope lore lose love
17
举例说明(续)
根据题意,易得:
假设P={a,b}满足Pr[a]=1/4,Pr[b]=3/4。设 K={k1,k2,k3} 满足Pr[k1]=1/2, Pr[k2]=1/4, Pr[k3]=1/4。设C={1,2,3,4},加密函数定义 为ek1(a)=1, ek1(b)=2, ek2(a)=2, ek2(b)=3, ek3(a)=3, ek3(b)=4。

《现代密码学》教学大纲

《现代密码学》教学大纲

动、答疑模块。
六、考核方式
闭卷笔试,课程作业、实验成绩、课堂表现、考勤。
七、成绩评定方法
期末笔试成绩占 80%,平时成绩占 20%(根据课程作业、实验成绩、课堂表现、
考勤等)。
八、主要参考书籍
1.谷利泽,郑世慧,杨义先. 现代密码学教程. 北京邮电大学出版社,2015.3
(教材)。
2.B. Schneier. Applied cryptograghy second edition: protocols, algorithms, and
题;
1.2 具有扎实的专业基础理论,包括信息论与编码、密码学原理、信息
目标 5 安全数学基础、计算机网络技术等,能够用其解决信息安全相关领域
H
的复杂工程问题;
4.5 能正确采集、整理实验和模拟数据,对实验及模拟结果进行关联、 M
建模、分析处理,获取果进行关联、 H
source code in C. NewYork: John Wiley & Sons, 1996. 中译本: 吴世忠, 祝世雄, 张文
政译。
3.马春光. 现代密码学教程, 哈尔滨工程大学自编讲义。
大纲编写者:方贤进,xjfang@, /~xjfang/crypto/
一、教学目标
通过本课程的理论教学及实验训练,使学生具备以下知识和能力:
目标 1:掌握密码学与信息安全的关系、信息安全的目标(5 要素);掌握现代
密码学的研究内容与体系结构;掌握保密系统的模型及安全性、认证系统的模型及
安全性。
目标 2:掌握古典密码体制中的两种方法:置换密码与代换密码;掌握古典密
码分析方法,能使用“拟重合指数法”对“多表代换加密”实行“唯密文攻击”。

现代密码学第二讲(必修):古典密码学

现代密码学第二讲(必修):古典密码学

置换密码
练习: 明文: nice work
X1234 Pi(x) 2 4 1 3
求密文和逆置换。
思考: 当明文 字符不 是4的整 数倍怎 么办?
置换密码
已知多对明文和密文,可以推导置换表(即 密钥);
穷举攻击:已知密文,明文为有意义字符, 至多尝试m! 个,可以恢复明文
分组为m,至多有m!个置换
helloeveryone惟密文攻击维吉尼亚密码由m个移位密码构成移位密码不改变字符的分布故若能确定m则可以找到每个移位密码的位移量k若用给定的m个密钥表周期地对明文字母加密则当明文中有两个相同字母组长度大于3在明文序列中间隔的字母数为m的倍数时这两个明文字母组对应的密文字母组必相同
《现代密码学》第二讲
数学描述: 用数字表示每个字母:
abcdefghijk l mn o p q r s t u v w x y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
c = E(p) = (p + k) mod (26) p = D(c) = (c – k) mod (26)
穷举攻击:已知密文,且明文为有意义字符 ,至多尝试25次,可以恢复明文.
仿射密码(Affine Cipher)
移位密码的扩展
明文p ∈Z26,密文c ∈Z26 , 密钥k=(a,b) ∈ Z’26× Z26 且gcd(a,26)=1.
加密:
c = E(p) = (a × p + b) mod 26
解密:
p = D(c) = (c – b) × a-1mod 26
仿射密码
例:令密钥k=(7,3), 且gcd(7,26)=1.

杨波,_《现代密码学(第2版)》第三章 3.1-3.4节

杨波,_《现代密码学(第2版)》第三章 3.1-3.4节

图3.1 分组密码框图
通常取m=n。 。 通常取 若m>n,则为有数据扩展的分组密码; ,则为有数据扩展的分组密码; 若m<n,则为有数据压缩的分组密码。 ,则为有数据压缩的分组密码。
设计的算法应满足下述要求: 设计的算法应满足下述要求: 分组长度n要足够大 要足够大, ① 分组长度 要足够大,使分组代换字母表中的元素 个数2 足够大,防止明文穷举攻击法奏效。 个数 n足够大,防止明文穷举攻击法奏效。 DES、IDEA、FEAL和LOKI等分组密码都采用 、 等分组密码都采用n=64, 、 和 等分组密码都采用 , 在生日攻击下用232组密文成功概率为1/2,同时要求 在生日攻击下用 组密文成功概率为 , 存贮, 232×64b=215MB存贮,故采用穷举攻击是不现实的。 存贮 故采用穷举攻击是不现实的。
• 如将分组 化分为子段,每段长为 、16或者 。 如将分组n化分为子段 每段长为8、 或者 化分为子段, 或者32。 • 软件实现时,应选用简单的运算,使作用于子段上 软件实现时,应选用简单的运算, 的密码运算易于以标准处理器的基本运算,如加、 的密码运算易于以标准处理器的基本运算,如加、 移位等实现, 乘、移位等实现,避免用以软件难于实现的逐比特 置换。 置换。 • 为了便于硬件实现,加密和解密过程之间的差别应 为了便于硬件实现, 仅在于由秘密密钥所生成的密钥表不同而已。这样, 由秘密密钥所生成的密钥表不同而已 仅在于由秘密密钥所生成的密钥表不同而已。这样, 加密和解密就可用同一器件实现。 加密和解密就可用同一器件实现。 • 设计的算法采用规则的模块结构,如多轮迭代等, 设计的算法采用规则的模块结构,如多轮迭代等, 以便于软件和VLSI快速实现。 快速实现。 以便于软件和 快速实现
数据扩展尽可能地小。一般无数据扩展, ⑤ 数据扩展尽可能地小。一般无数据扩展,在采用同 态置换和随机化加密技术时可引入数据扩展。 态置换和随机化加密技术时可引入数据扩展。 差错传播尽可能地小。 ⑥ 差错传播尽可能地小。

现代密码学 第3讲DES

现代密码学 第3讲DES
明文分组到密文分组的可逆变换明文和密文的分组长都为n比特则明文的每一个分组都有2585042342618106052443628201262544638302214645648403224165749413325175951433527191161534537292113635547393123154816562464323947155523633138461454226230374513532161293644125220602835431151195927344210501858263349175725初始置换前后初始置换ip逆初始置换ip1置换permutationdes为例20205411将明文及密钥的影响尽可能迅速地散布到较多输出的密文中使比特01均匀分布使明文密钥和密文之间的关系复杂化分组密码设计思想
密钥k=(k0, k1,…, kt-1 )
明文 x=(x0, x1,…, xn-1)
密文 x=(y0, y1,…, ym-1)
明文 x=(x0, x1,…, xn-1)
加密算法
解密算法
通常取xi,yi∈GF(2), 主要讨论二元情况
2020/3/24
5
分组密码概述
通常取n=m。
DES
明文分组长度 64
2
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3
15 12 8 2 4 9 1 7 5 11 2 14 10 0 6 13
2020/3/24
25
S盒
对每个Si盒的 6比特输入中
✓第1个和第6个比特形成一个2位二进制数,用来选 择Si的4个代换中的一个(行)。 ✓中间4位用来选择列。
✓美国已决定1998年12月以后将不再使用DES。

2017年最新北京邮电大学北邮精品课程-现代密码学课件合集.pdf

2017年最新北京邮电大学北邮精品课程-现代密码学课件合集.pdf

1绪论《现代密码学》第一讲课程信息课程名称:现代密码学(必修课,考试) 共16周任课教师:杨义先郑世慧时间/地点:周二上午10:10 -12:00 教3楼417学生:2008211317 2008211318 2008211319 2008211320考核方式:平时+期中考试30%-40%期末考试60%-70%作业:前一周作业,下一周上课前交齐作业题目、作业提交及相关课程信息见“网络教学””精品课程“网站/buxdmmx请先注册,然后进行相关操作参考书目⏹现代密码学教程,谷利泽等,北邮出版社,2009⏹现代密码学基础,章照止,北邮出版社,2004⏹现代密码学,杨波,清华大学出版社,2004参考书目⏹密码学原理与实践,(加)Douglas R.Stinson著,冯登国译,电子工业出版社, 2003.⏹密码编码学与网络安全——原理与实践,(美) Stallings,W.著,孟庆树等译,电子工业出版社,2006.⏹应用密码学-协议、算法与C源程序,Burce等,机械工业出版社,2002.⏹现代密码学理论与实践,Wenbo Mao著,王继林译,电子工业出版社,2004.⏹应用密码学手册, Alfred Menezes著,胡磊译,电子工业出版社,2005⏹密码学基础,O.Goldreich著,杨义先等译,人民邮电出版社,2003.⏹高级加密标准(AES)算法—Rijndael的设计,John Daemen,Vincent Rijndael著;谷大武等译,清华大学出版社,2003.注意事项⏹《现代密码学》是信息安全专业重要的专业基础课,理论性强,难度大,请大家用功学习。

⏹北邮《现代密码学》是国家级精品课程,希望师生共同努力,将该门课程建设得更好!⏹欢迎学有余力的同学参与信息安全中心的相关课题研究!本讲主要内容⏹密码学的目的⏹密码学的历史⏹现代密码学的分类⏹《现代密码学》课程讲授主要内容密码学的目的中国古代的保密例1:汉代泥封古时的官、私文书和书信往来大都写在竹简或木牍上,这些简牍书信,在传递过程中需要保密就得封缄起来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
复杂性理论
《现代密码学》第三讲
上讲内容回顾
Shannon通信保密系统 熵和无条件保密
分组密码的设计思想
本章主要内容
问题的定义及分类
算法复杂度定义及分类 P问题和NP问题
规约思想与NPC类
密码算法的计算安全性
1 设A=(a 1,a 2,…,a n )是由n 个不同的正整数构成的n 元组,S 是另一已知的正整数. A 称为背包向量,S 称为背包容积. 求A
中元素集合A’,使.2 设背包向量A=(1,2,5,10,20,50,100), 背包容积为177,求向量,使得.'i
i a A a S ∈=∑7{0,1}X ∈71
177i i i x a ==∑
3 已知整数N,问N是否是一个素数?
4 试问77是否是素数?
5 试问79是否是素数?
6 已知整数N,求N的素分解式.
7 已知整数177,求其素分解式.
问题:描述参量陈述解答应当满足的性质(称为询问).
参量为具体数值时,称为问题的一个实例. 判定问题:回答只有Yes或No.
计算问题:从其可行解集合中搜索出最优解.
7
算法复杂度的定义
例设x 是小于100的某个整数,问x 是否是素数?
解答一:取2~的所有整数,依次试除x ,若存在某个整数可以整除x ,则程序停止,输出x 为合数,否则输出x 为素数.
最坏试除次数:存储空间:0
解答二:预先将所有小于100的素数存储在寄存器中;然后将X 与存储器中的元素比较,若存在某个素数等于x ,则程序停止,输出x 为素数,否则输出x 为合数.
最坏比较次数: 100/ln 100, 存储空间: 100/ln 100
x ⎢⎥⎣⎦x ⎢⎥⎣⎦
8
算法复杂度的定义
时间(计算)复杂性:考虑算法的主要操作步骤,计算执行中所需的总操作次数. 空间复杂性:执行过程中所需存储器的单元数目.
数据复杂性:信息资源.
计算模型----确定性图灵机(有限带符号集合,有限状态集,转换函数)(读写头,读写带).
算法复杂度的定义
不同的编程语言,不同的编译器导致执行一次操作的时间各不相同,为了方便不同算法比较,通常假定所有计算机执行相同的一次基本操作所需时间相同,而把算法中基本操作执行的最大次数作为执行时间.
基本操作数量
运行时间=
机器速度
10算法复杂度的定义
定义
假设一个算法的计算复杂度为O(n t ),其
中t 为常数,n 为输入问题的长度,则称这算法的复杂度是多项式的。

具有多项式时间复杂度的算法为多项式时间算法.
函数g(n )=O(n t )表示存在常数c>0和n 0>=0,对一切n > n 0均有|g(n )|<=c|n t | 成立,也就是说,当n 足够大时,g(n )存在上界.定义非多项式时间算法:算法的计算复杂性写不成O(P(n ))形式,其中P(n )表示n 的多项式函数.
算法复杂度的定义
例设x是小于100的某个整数,问x是否是素数?
解法1是否是多项式时间算法?
解法2是否是多项式时间算法?
12
P问题和NP问题
定义(P 问题)如果一个判定问题存在解它的多项式时间的算法,则称该问题属于P 类. 定义(NP 问题) 如果一个判定问题不存在解它的多项式时间的算法,且对于一个解答可以在多项式时间验证其是否正确,则称该问题属于NP 类.
公开问题:P ≠NP ?
它是Clay 研究所的七个百万美元大奖问题之一
二次函数、三次函数、2x函数的示意图
例. 设问题输入长度为n,在一个每秒钟运行百万次
的计算机上的运行时间如下:
10305060
T(n)=n20.0001s0.0009s0.0025s0.0036s
T(n)=2n0.001s17.9月35.7年366世纪
14
当问题输入长度足够大,分析密码体制的算法的复杂度较大,可能的计算能力下,在保密的期间内可以保证算法不被攻破,这就是密码体制的计算安全性思想。

注:分析方法是无穷无尽的,类似于解决问题的算法,目前不存在非多项式时间的分析方法,将来可能存在,即算法将来可能不堪一击. 如差分分析出现。

16
密码系统设计:
合法用户——易(多项式)攻击者——难(非多项式)注:计算模型----图灵机
量子计算机出现导致分解因子问题容易,从而RSA 等密码系统不再安全,缘由是计算模型不同.非多项式时间问题多项式问题
17
定义判定问题,. 若存在的解法
S1,那么通过调用S1(作为子程序),可以在多项式时间内解问题,则称可多项式规约至“∝”
定义若判定问题∈NP ,对每个判定问题∈NP ,都有∝,则称属于NPC 类,或称为NP 完全的.
1π2π
1π2π1
π2π2π1πππ′π′π′π
主要知识点小结
算法的复杂度定义及分类 密码算法的计算复杂度
20作业
1 求冒泡排序法的计算复杂度, 该算法是否为多项式的?
2 超递增背包问题:
设A=(a
1,a 2,…,a n )是由n 个不同的正整数构
成的n 元组,且,S 是另一已知的正整数。

求A 的子集A’,使.
(1) 给出该问题的求解算法;(2) 求算法的计算复杂度.
11
2,,j j i i a a j n
−=>=∑L
'
i i a A a S ∈=∑
21THE END
!。

相关文档
最新文档