现代密码学第5章课件
合集下载
现代密码学PPT课件

因此要了解信息安全,首先应该知道信息安全面临 哪些威胁。
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
现代密码学第5章:序列密码

6
1.1 同步序列密码
根据加密器中记忆元件的存储状态σi是 否依赖于输入的明文字符,序列密码可进一 步分成同步和自同步两种。 σi独立于明文字符的叫做同步序列密码, 否则叫做自同步序列密码。由于自同步序列 密码的密钥流的产生与明文有关,因而较难 从理论上进行分析。目前大多数研究成果都 是关于同步序列密码的。
21
作为有限状态自动机的密钥流生成器
k
i
k
zi
k
22
作为有限状态自动机的密钥流生成器
这种密钥流生成器设计的关键在于找出 适当的状态转移函数φ和输出函数ψ,使得 输出序列z满足密钥流序列z应满足的几个条 件,并且要求在设备上是节省的和容易实现 的。 为了实现这一目标,必须采用非线性函 数。
3
1. 序列密码的基本概念
分组密码与序列密码的区别就在于有无 记忆性(如图)。序列密码的滚动密钥 z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完 全确定。此后,由于输入加密器的明文可能 影响加密器中内部记忆元件的存储状态,因 而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1 等参数。
序列密码的基本思想是利用密钥k产生 一个密钥流z=z0z1…,并使用如下规则对明 文串x=x0x1x2…加密: y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流由密钥流发生器f产生: zi=f(k,σi), 这里σi是加密器中的记忆元件(存储器)在 时刻i的状态,f是由密钥k和σi产生的函数。
28
F的设计:两种典型的基本编码手段
1. 非线性组合生成器 一个非线性组合生成器的图示如下:
F(x1 , x2 , x ) ,t
N1-LFSR
1.1 同步序列密码
根据加密器中记忆元件的存储状态σi是 否依赖于输入的明文字符,序列密码可进一 步分成同步和自同步两种。 σi独立于明文字符的叫做同步序列密码, 否则叫做自同步序列密码。由于自同步序列 密码的密钥流的产生与明文有关,因而较难 从理论上进行分析。目前大多数研究成果都 是关于同步序列密码的。
21
作为有限状态自动机的密钥流生成器
k
i
k
zi
k
22
作为有限状态自动机的密钥流生成器
这种密钥流生成器设计的关键在于找出 适当的状态转移函数φ和输出函数ψ,使得 输出序列z满足密钥流序列z应满足的几个条 件,并且要求在设备上是节省的和容易实现 的。 为了实现这一目标,必须采用非线性函 数。
3
1. 序列密码的基本概念
分组密码与序列密码的区别就在于有无 记忆性(如图)。序列密码的滚动密钥 z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完 全确定。此后,由于输入加密器的明文可能 影响加密器中内部记忆元件的存储状态,因 而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1 等参数。
序列密码的基本思想是利用密钥k产生 一个密钥流z=z0z1…,并使用如下规则对明 文串x=x0x1x2…加密: y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流由密钥流发生器f产生: zi=f(k,σi), 这里σi是加密器中的记忆元件(存储器)在 时刻i的状态,f是由密钥k和σi产生的函数。
28
F的设计:两种典型的基本编码手段
1. 非线性组合生成器 一个非线性组合生成器的图示如下:
F(x1 , x2 , x ) ,t
N1-LFSR
现代密码学基础ppt课件-精品文档

现代密码学
1. 2. 3. 4. 5. 6.
密码学的发展阶段 经典加密技术 对称加密技术 非对称加密技术 电子签名法 数字证书
思考
• 密码的安全基于算法还是基于密钥?为什么? • 什么是电子签名?短信是电子签名吗? • 加密和签名有什么区别?
1 密码学发展阶段
1949年之前1949~1975年1976年以后码学 密码学是一门艺术 密码学成为科学 密码学的新方向:公钥密
第1阶段-古典密码
Kryha密码机大约在1926 年由Alexander vo Kryha 发明。这是一个多表加 密设备,密钥长度为442, 周期固定。一个由数量 不等的齿的轮子引导密 文轮不规则运动。
第1阶段-古典密码
哈格林(Hagelin)密码机C-36,由Aktiebolaget Cryptoeknid Stockholm于1936年制造密钥周期长度为 3,900,255。
主要特点:数据的安全基于密钥而不是算法的保密
第3阶段 1976~现在
1976年:Diffie
& Hellman 的 “New Directions in Cryptography” 提出了不对称密钥密
1977年Rivest,Shamir & Adleman提出了RSA公钥算法 90年代逐步出现椭圆曲线等其他公钥算法 主要特点:公钥密码使得发送端和接收端无密钥传输
到用密文比特模式代替明文比特模式
恺撒(Caesar)加密法
例 表 明 密 明 密 1 : 1 文 文 文 文 字 字 字 字 母 母 母 母 C a e s a r( a D n Q 恺 撒 ) 恺 c F p S d G q T 密 撒 码 ) e H r U , 密 f I s V 见 码 g J t W 表 表 h K u X i L v Y j M w Z k N x A l O y B m P z C 1 。
1. 2. 3. 4. 5. 6.
密码学的发展阶段 经典加密技术 对称加密技术 非对称加密技术 电子签名法 数字证书
思考
• 密码的安全基于算法还是基于密钥?为什么? • 什么是电子签名?短信是电子签名吗? • 加密和签名有什么区别?
1 密码学发展阶段
1949年之前1949~1975年1976年以后码学 密码学是一门艺术 密码学成为科学 密码学的新方向:公钥密
第1阶段-古典密码
Kryha密码机大约在1926 年由Alexander vo Kryha 发明。这是一个多表加 密设备,密钥长度为442, 周期固定。一个由数量 不等的齿的轮子引导密 文轮不规则运动。
第1阶段-古典密码
哈格林(Hagelin)密码机C-36,由Aktiebolaget Cryptoeknid Stockholm于1936年制造密钥周期长度为 3,900,255。
主要特点:数据的安全基于密钥而不是算法的保密
第3阶段 1976~现在
1976年:Diffie
& Hellman 的 “New Directions in Cryptography” 提出了不对称密钥密
1977年Rivest,Shamir & Adleman提出了RSA公钥算法 90年代逐步出现椭圆曲线等其他公钥算法 主要特点:公钥密码使得发送端和接收端无密钥传输
到用密文比特模式代替明文比特模式
恺撒(Caesar)加密法
例 表 明 密 明 密 1 : 1 文 文 文 文 字 字 字 字 母 母 母 母 C a e s a r( a D n Q 恺 撒 ) 恺 c F p S d G q T 密 撒 码 ) e H r U , 密 f I s V 见 码 g J t W 表 表 h K u X i L v Y j M w Z k N x A l O y B m P z C 1 。
杨波,_《现代密码学(第2版)》第五章 5.1-5.2节

存储会话密钥, 转发E ③ A存储会话密钥,并向 转发 KB[KS‖IDA]。因 存储会话密钥 并向B转发 。 为转发的是由K 加密后的密文, 为转发的是由 B加密后的密文,所以转发过程不 会被窃听。B收到后,可得会话密钥KS,并从IDA 会被窃听。 收到后,可得会话密钥 并从 收到后 可知另一方是A,而且还从E 知道K 可知另一方是 ,而且还从 KB知道 S的确来自 KDC。 。 这一步完成后,会话密钥就安全地分配给了 、 。 这一步完成后,会话密钥就安全地分配给了A、B。 然而还能继续以下两步工作: 然而还能继续以下两步工作:
两个用户A和 获得共享密钥的方法包括: 获得共享密钥的方法包括 两个用户 和B获得共享密钥的方法包括: 密钥由A选取并通过物理手段发送给 选取并通过物理手段发送给B。 ① 密钥由 选取并通过物理手段发送给 。 密钥由第三方选取并通过物理手段发送给A和 。 ② 密钥由第三方选取并通过物理手段发送给 和B。 如果A、 事先已有一密钥 事先已有一密钥, ③ 如果 、B事先已有一密钥,则其中一方选取新密 钥后,用已有的密钥加密新密钥并发送给另一方。 钥后,用已有的密钥加密新密钥并发送给另一方。 如果A和 与第三方 分别有一保密信道, 与第三方C分别有一保密信道 ④ 如果 和B与第三方 分别有一保密信道,则C为A、 为 、 B选取密钥后,分别在两个保密信道上发送给 、B。 选取密钥后, 选取密钥后 分别在• 假定两个用户 、B分别与密钥分配中心 假定两个用户A、 分别与密钥分配中心 分别与密钥分配中心KDC (key distribution center)有一个共享的主密钥 A和KB, 有一个共享的主密钥K 有一个共享的主密钥 A希望与 建立一个共享的一次性会话密钥,可通 希望与B建立一个共享的一次性会话密钥 希望与 建立一个共享的一次性会话密钥, 过以下几步来完成( 过以下几步来完成(图5.1 ): • ① A向KDC发出会话密钥请求。表示请求的消息由 发出会话密钥请求。 向 发出会话密钥请求 两个数据项组成, 项是A和 的身份 的身份, 两个数据项组成,第1项是 和B的身份,第2项是 项是 项是 这次业务的惟一识别符N1, 为一次性随机数, 这次业务的惟一识别符 ,称N1为一次性随机数, 为一次性随机数 可以是时戳、计数器或随机数。每次请求所用的N1 可以是时戳、计数器或随机数。每次请求所用的 都应不同,且为防止假冒,应使敌手对N1难以猜测 难以猜测。 都应不同,且为防止假冒,应使敌手对 难以猜测。 因此用随机数作为这个识别符最为合适。 因此用随机数作为这个识别符最为合适。
杨波,_《现代密码学(第2版)》第五章 5.4-5.5节

5.4.1 随机数的使用
很多密码算法都需使用随机数,例如: 很多密码算法都需使用随机数,例如: • 相互认证。在密钥分配中需使用一次性随机数来 相互认证。 防止重放攻击。 防止重放攻击。 • 会话密钥的产生。 会话密钥的产生。 • 公钥密码算法中密钥的产生,用随机数作为公钥 公钥密码算法中密钥的产生, 密码算法中的密钥, 密码算法中的密钥,或以随机数来产生公钥密码算 法中的密钥。 法中的密钥。 在随机数的上述应用中, 在随机数的上述应用中,都要求随机数序列满 随机性和不可预测性。 足随机性和不可预测性。
一种方法是将高质量的随机数作为随机数库编 一种方法是将高质量的随机数作为随机数库编 辑成书,供用户使用。 辑成书,供用户使用。然而与网络安全对随机数巨 大的需求相比,这种方式提供的随机数数目非常有 大的需求相比,这种方式提供的随机数数目非常有 再者, 限。再者,虽然这时的随机数的确可被证明具有随 机性,但由于敌手也能得到这个随机数源, 机性,但由于敌手也能得到这个随机数源,而难以 保证随机数的不可预测性。 保证随机数的不可预测性。 网络安全中所需的随机数都借助于安全的密码 网络安全中所需的随机数都借助于安全的密码 算法来产生。但由于算法是确定性的, 算法来产生。但由于算法是确定性的,因此产生的 数列不是随机的。然而如果算法设计得好, 数列不是随机的。然而如果算法设计得好,产生的 数列就能通过各种随机性检验,这种数就是伪随机 数列就能通过各种随机性检验,这种数就是伪随机 数。
如果取a=7,其他值不变,则产生的数列为 5, 25, ,其他值不变,则产生的数列为{1, 如果取 29, 17, 21, 9, 13, 1,…},周期增加到 。 ,周期增加到8。 周期尽可能大, 应尽可能大 应尽可能大。 为使随机数数列的周期尽可能大 为使随机数数列的周期尽可能大,m应尽可能大。 普遍原则是选 接近等于计算机能表示的最大整数 接近等于计算机能表示的最大整数, 普遍原则是选m接近等于计算机能表示的最大整数, 如接近或等于2 如接近或等于231。
现代密码学(第五章)

2019/4/1 5
一、杂凑函数
(单向性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许一个新的y确实存在 一个x满足y=H(x);然而实际找到这样的x却很困 难,在计算上行不通。 无碰撞性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许确实存在(x1,x2)满 足: x1≠x2,H(x1)= H(x2),实际找到这样的(x1,x2) 却很困难,在计算上行不通。 )
201682728在上述方案中密文变成了消息m解密方程变成了签名方程sdm明文变成了签名值s加密方程变成了验证方程mes任何人只要拥有alice的公钥z都可以对签名消息ms进行验证
第五章:数字签名
一、杂凑函数 二、数字签名的基本概念 三、几种常用的数字签名 四、特殊用途的数字签名
2019/4/1
1
一、杂凑函数
2019/4/1
14
一、杂凑函数
Alice (1):y1=H(x1,r1) Bob
(2):y2=H(x2,r2) (5): (6): 验证 验证 是否 是否 (3):(x1,r1) y2= y1= H(x2,r2) H(x1,r1) (4):(x2,r2)
2019/4/1 15
一、杂凑函数
方案分析: Alice发送y1给Bob,Bob发送y2给Alice ,这叫做 承诺。 Alice发送(x1, r1)给Bob,Bob发送(x2, r2)给Alice , 这叫做践诺。 当承诺值确定以后,无法改变践诺值。 当对方发送来了承诺值以后,己方无法计算出对 方的践诺值,因而无法“随机应变地”确定自 己的践诺值,以重合或避开对方的践诺值。 综上所述,杂凑函数阻止了双方作弊。
2019/4/1 6
一、杂凑函数
(单向性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许一个新的y确实存在 一个x满足y=H(x);然而实际找到这样的x却很困 难,在计算上行不通。 无碰撞性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许确实存在(x1,x2)满 足: x1≠x2,H(x1)= H(x2),实际找到这样的(x1,x2) 却很困难,在计算上行不通。 )
201682728在上述方案中密文变成了消息m解密方程变成了签名方程sdm明文变成了签名值s加密方程变成了验证方程mes任何人只要拥有alice的公钥z都可以对签名消息ms进行验证
第五章:数字签名
一、杂凑函数 二、数字签名的基本概念 三、几种常用的数字签名 四、特殊用途的数字签名
2019/4/1
1
一、杂凑函数
2019/4/1
14
一、杂凑函数
Alice (1):y1=H(x1,r1) Bob
(2):y2=H(x2,r2) (5): (6): 验证 验证 是否 是否 (3):(x1,r1) y2= y1= H(x2,r2) H(x1,r1) (4):(x2,r2)
2019/4/1 15
一、杂凑函数
方案分析: Alice发送y1给Bob,Bob发送y2给Alice ,这叫做 承诺。 Alice发送(x1, r1)给Bob,Bob发送(x2, r2)给Alice , 这叫做践诺。 当承诺值确定以后,无法改变践诺值。 当对方发送来了承诺值以后,己方无法计算出对 方的践诺值,因而无法“随机应变地”确定自 己的践诺值,以重合或避开对方的践诺值。 综上所述,杂凑函数阻止了双方作弊。
2019/4/1 6
现代密码学 (12)

连线延长到无穷远,得到ECC上另一点O, ECC上另一点O,即 P1,P2连线延长到无穷远,得到ECC上另一点O,即 ,O三点共线 所以P 三点共线, P1,P2,O三点共线,所以P1+P2+O=O, P1+P2=O, P2=-P1 O,O=O+O=O,O=-O
2011-4-12 10
椭圆曲线加法的定义
p) x3=λ2-x1-x2(mod p) y3=λ(x1-x3)-y1 (mod p)
y2 − y1 x −x λ = 22 1 3 x1 + a 2 y1 P≠Q P=Q
14
2011-4-12
例:E23(1,1)
P=(3,10),Q(=9,7)
λ=
7 − 10 − 3 − 1 22 = = ≡ = 11 mod 23 9−3 6 2 2 x3 = 112 − 3 − 9 = 109 ≡ 17 mod 23 y3 = 11(3 − 17) − 10 = −164 ≡ 20 mod 23 ∴ P + Q = (17,20) ∈ E23 (1,1) 3 • 32 + 1 5 1 2P : λ = = = ≡ 6 mod 23 2 ×10 20 4 x3 = 6 2 − 3 − 3 = 30 ≡ 7 mod 23 y3 = 6(3 − 7) − 10 = −34 ≡ 12 mod 23 ∴ 2 P = (7,12)
2011-4-12 5
c2 ≡ m mod n
e2
对RSA的攻击-低指数攻击 RSA的攻击- 的攻击
均选3 令网中三用户的加密钥 e 均选 3 , 而有不同的模 n1, n2, n3,若有一用户将消息x传给三个用户的密文 y1=x 3 mod n1 x< n1 分别为
2011-4-12 10
椭圆曲线加法的定义
p) x3=λ2-x1-x2(mod p) y3=λ(x1-x3)-y1 (mod p)
y2 − y1 x −x λ = 22 1 3 x1 + a 2 y1 P≠Q P=Q
14
2011-4-12
例:E23(1,1)
P=(3,10),Q(=9,7)
λ=
7 − 10 − 3 − 1 22 = = ≡ = 11 mod 23 9−3 6 2 2 x3 = 112 − 3 − 9 = 109 ≡ 17 mod 23 y3 = 11(3 − 17) − 10 = −164 ≡ 20 mod 23 ∴ P + Q = (17,20) ∈ E23 (1,1) 3 • 32 + 1 5 1 2P : λ = = = ≡ 6 mod 23 2 ×10 20 4 x3 = 6 2 − 3 − 3 = 30 ≡ 7 mod 23 y3 = 6(3 − 7) − 10 = −34 ≡ 12 mod 23 ∴ 2 P = (7,12)
2011-4-12 5
c2 ≡ m mod n
e2
对RSA的攻击-低指数攻击 RSA的攻击- 的攻击
均选3 令网中三用户的加密钥 e 均选 3 , 而有不同的模 n1, n2, n3,若有一用户将消息x传给三个用户的密文 y1=x 3 mod n1 x< n1 分别为
现代密码技术ppt课件

.
(舍弃了第
9,18,22,25,35,38,43,54 比特位)
总结:DES一轮迭代的过程
.
DES解密操作
由迭代操作的定义,显然可以得到 Ri-1=Li Li-1=Ri⊕f(Li,ki)
若记加密算法每一轮的操作为Ti,我们
可以方便的得出解密算法: DES-1=IP-1∘T1∘T2∘…T15∘T16∘IP
3次循环以后密文有21个比特不同,16次循环 后有34个比特不同 ➢ 如果用只差一比特的两个密钥加密同样明文: 3次循环以后密文有14个比特不同,16次循环 后有35个比特不同
.
3.1 数据加密标准DES
DES的强度
▪ 56位密钥长度问题 ➢ 56-bit 密钥有256 = 72,057,584,037,927,936 ≈ 7.2亿亿 之多
《计算机网络安全》
Chapter 3
现代密码技术
DES、RSA
.
3.1 数据加密标准DES
▪ 19世纪70年代,DES(the Data Encryption Standard)最初由IBM公司提出。
▪ DES是一种分组密码,它采用56比特长的密 钥将64比特的数据加密成64比特的密文。
▪ DES完全公开了加密、解密算法。因而是一 个最引人注目的分组密码系统。
(1)初始置换与逆置换
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 IP: 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
(舍弃了第
9,18,22,25,35,38,43,54 比特位)
总结:DES一轮迭代的过程
.
DES解密操作
由迭代操作的定义,显然可以得到 Ri-1=Li Li-1=Ri⊕f(Li,ki)
若记加密算法每一轮的操作为Ti,我们
可以方便的得出解密算法: DES-1=IP-1∘T1∘T2∘…T15∘T16∘IP
3次循环以后密文有21个比特不同,16次循环 后有34个比特不同 ➢ 如果用只差一比特的两个密钥加密同样明文: 3次循环以后密文有14个比特不同,16次循环 后有35个比特不同
.
3.1 数据加密标准DES
DES的强度
▪ 56位密钥长度问题 ➢ 56-bit 密钥有256 = 72,057,584,037,927,936 ≈ 7.2亿亿 之多
《计算机网络安全》
Chapter 3
现代密码技术
DES、RSA
.
3.1 数据加密标准DES
▪ 19世纪70年代,DES(the Data Encryption Standard)最初由IBM公司提出。
▪ DES是一种分组密码,它采用56比特长的密 钥将64比特的数据加密成64比特的密文。
▪ DES完全公开了加密、解密算法。因而是一 个最引人注目的分组密码系统。
(1)初始置换与逆置换
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 IP: 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公用的公钥动态目录表,目录表的建立、维护 以及公钥的分布由可信的实体和组织承担。 管理员为每个用户都在目录表里建立一个目录, 目录中包括两个数据项:一是用户名,而是用 户的公开密钥。 每一用户都亲自或以某种安全的认证通信在管 理者处为自己的公开密钥注册。 用户可以随时替换自己的密钥。 管理员定期公布或定期更新目录。 用户可以通过电子手段访问目录。
28
2017/6/4
托管加密芯片的编程过程
托管机构1 初始化 芯片编程 处理器 UID K1 KU1 + 托管机构2 初始化 KU1 KF SJ KF UID KU
2017/6/4
托管机构1 UID
EK1 ( KU1 )
E K2
托管机构2
UID
EK1 ( KU1 )
E
芯片
29
托管加密芯片加密过程
2017/6/4
7
会话密钥的有效期
密钥更换越频繁,安全性越高。 缺点是延迟用户的交互,造成网络负担。 决定会话的有效期,应权衡利弊。 面向连接的协议,每次建立连接时应使用新的 会话密钥。 无连接的协议,无法明确确定更换密钥的频率, 安全起见,每次交换都用新的密钥。经济的做 法在一固定周期内对一定数目的业务使用同一 会话密钥。
第5章 密钥分配与密钥管理
Key Distribution and Key Management
2017/6/4
1
内容提要
单钥加密体制的密钥分配 公钥加密体制的密钥管理 密钥托管 随机数的产生 秘密分割
2017/6/4
2
单钥加密体制的密钥分配
Key Distribution of symmetric cryptography
2017/6/4
4
密钥分配的基本方法
如果有n个用户,需要两两拥有共享密钥, 一共需要n(n-1)/2的密钥 采用第4中方法,只需要n个密钥
2017/6/4
5
一个实例
KDC 1. Request||N1 2.
KS:一次性会话密钥 N1,N2:随机数 KA,KB:A与B和KDC的共享密钥 f:某种函数变换
CA
2017/6/4
19
证书的产生过程
CA的公开钥 公开钥 姓名 产生密钥 证书
CA的秘密钥 签字
秘密钥 用户的计算机 CA的计算机
2017/6/4
20
用公钥加密分配单钥密码体制 的密钥
简单分配
1.PKA||IDA A 2. EPKA [ K S ] B
易受到主动攻击
2.PKE||IDA B 3.
25
2017/6/4
美国托管加密标准
1993年4月提出托管加密标准EES (Escrowed encrytion standard) 提供强加密功能,同时也提供政府机构 在法律授权下监听功能。 通过防窜扰Clipper芯片来实现。 包含两个特性
Skipjack算法,实现强加密 法律实施存取域LEAF,实现法律授权下解密
伪随机数产生器-线性同余法
a=7,c=0,m=32,X0=1 周期为4 {7,17,23,1,7,…} 周期为8 a=3,c=0,m=32,X0=1 {3,9,27,17,19,25,11,1,3,…} 选m尽可能大,使其接近或等于计算机 能表示的最大整数
2017/6/4
39
伪随机数产生器-线性同余法
26
2017/6/4
Skipjack算法
单钥分组加密算法,密钥长80比特,输 入输出分组长度64Bit 4种工作模式
ECB模式 CBC模式 64bitOFB模式 1,8,16,32,64比特CFB模式
27
2017/6/4
托管加密芯片
Skipjack算法 80比特族密钥KF(Family key),同一批芯 片的族密钥都相同 芯片单元识别符UID 80bit的芯片单元密钥KU(unique key),由 两个80bit密钥分量异或得到 控制软件被固化在芯片上
EK A [Ks || request|| N1 || EKB (Ks , IDA )]
3. A
EK B [ K s || IDA ]
B
4. EK S [ N 2 ] 5. EKS [ f ( N2 )]
2017/6/4
6
密钥的分层控制
用户数目很多并且分布地域很广,一个 KDC无法承担,需要采用多个KDC的分 层结构。 本地KDC为本地用户分配密钥。 不同区域内的KDC通过全局KDC沟通。
数的随机性和精度不够 这些设备很难联入网络
2017/6/4
37
伪随机数产生器-线性同余法
参数: 模数m (m>0) 乘数a (0≤a<m) 增量c (0≤c<m) 初值种子X0(0≤X0<0)
a,c,m的取值是 产生高质量随 机数的关键
X n1 (aXn c) mod m
2017/6/4 38
独立性
经常使用的是伪随机数列
2017/6/4
35
随机数的要求-不可预测性
对数列中以后的数是不可预测的 对于真随机数,满足独立性,所以不可 预测 伪随机数列需要特别注意满足不可预测 性
2017/6/4
36
随机数源
真随机数源-物理噪声产生器
离子辐射脉冲检测器 气体放电管 漏电容
迭代函数应是整周期的,在重复之前应 出现0到m间的所有数 产生的数列看上去应是随机的 迭代函数能有效的利用32位运算实现 如果m为素数,且a为m的本原根,产生 的数列是整周期的。 a=16807,m=231-1,c=0
40
2017/6/4
伪随机数产生器-线性同余法
假定敌手知道X0,X1,X2,X3,可以确定参数
长度有限,限制了灵活性和功能 标签以密文传送,只有解密后才能使用,限制 了密钥使用的控制方式。
12
2017/6/4
单钥体制的密钥控制技术-控 制矢量
对每一密钥指定相应 H h(CV ) 的控制矢量,分为若 K in K m H 干字段,说明在不同 情况下是否能够使用 K out EK H [ K S ] 有KDC产生加密密钥 K S DK [ K out ] 时加在密钥之中 h为hash函数,Km是 优点: 主密钥,KS为会话密 1.CV长度没有限制 钥 2.CV以明文形式存在 控制矢量CV明文发 送 2017/6/4
8
2017/6/4
无中心的密钥控制
有KDC时,要求所有用户信任KDC,并且 要求KDC加以保护。 无KDC时没有这种限制,但是只适用于 用户小的场合
2017/6/4
9
无中心的密钥控制
用户A和B建立会话密钥的过程
1. Request||N1 A 2. EK A [ Ks || request|| N1 || EKB ( Ks , IDA )] 3. EKS [ f ( N2 )] B
3. EPKB [ IDA || N1 ] 6. EPKA [ N1 || N2 ] 7.
A
B
EPKB [ N2 ]
有可能称为系统的瓶颈,目录容易受到敌手的串扰
2017/6/4 18
公钥证书
用户通过公钥证书交换各自公钥,无须与公 钥管理机构联系 公钥证书由证书管理机构CA(Certificate Authority)为用户建立。 证书的形式为 CA ESK [T , IDA , PKK ] T-时间,PKA-A的公钥,IDA-A的身份,SKCA -CA的私钥 时戳T保证证书的新鲜性,防止重放旧证书。
16
2017/6/4
公钥的分配-公钥管理机构
公钥管理机构为用户建立维护动态的公 钥目录。 每个用户知道管理机构的公开钥。 只有管理机构知道自己的秘密钥。
2017/6/4
17
公钥管理机构分配公钥
公钥管理机构 1.Request||Time1 2. 4.Request||Time2
ESK AU [ PKB || Re quest || Time 1] 5. ESK AU [ PKA || Re quest || Time2 ]
X 1 aX 0 c mod m X 2 aX1 c mod m X aX c mod m 2 3
2017/6/4
41
基于密码算法的随机数产生器
循环加密
C
周期为N的计数器
C+1 主密钥Km 加密算法
X i EKm [C 1]
2017/6/4 42
KS IV KS:会话密钥 A:认证符 UID:芯片识别符 IV:初始向量
用KU加密 加密的KS 80bit
UID
A
32bit 16bit 用KF加密
LEAF
2017/6/4 30
通信和法律实施存取过程
2017/6/4
31
密钥托管密码体制的组成成分
用户安全成分(USC) 密钥托管成分(KEC) 数据恢复成分(DRC)
23
y
2017/6/4
密钥托管
Key Escrow
2017/6/424密钥托管
也称托管加密,其目的在于保证个人没 有绝对的隐私和绝对不可跟踪的匿名性。 实现手段是把已加密的数据和数据恢复 密钥联系起来。 由数据恢复密钥可以得到解密密钥,由 所信任的委托人持有。 提供了一个备用的解密途径,不仅对政 府有用,也对用户自己有用。