1 / 68

第 7 章 信息安全与信息加密

第 7 章 信息安全与信息加密. 7.1 信息安全含义 7.2 信息加密概述 7.3 对称密钥密码算法 - 7.3.1 流密码(序列密码) - 7.3.2 分组密码 - 7.3.3 DES 算法 7.4 公钥密码算法 - 7.4.1 公钥密码体制及其设计的基本原理 - 7.4.2 RSA 加密系统 7.5 数字签名技术. 第 7 章 信息安全与信息加密. 7.6 识别协议 - 7.6.1 识别协议概述 - 7.6.2 Feige-Fiat-Shamir 识别协议 - 7.6.3 改进的 Feige-Fiat-Shamir 识别协议

Download Presentation

第 7 章 信息安全与信息加密

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第7章 信息安全与信息加密 • 7.1信息安全含义 • 7.2信息加密概述 • 7.3 对称密钥密码算法 -7.3.1 流密码(序列密码) -7.3.2 分组密码 -7.3.3 DES算法 • 7.4 公钥密码算法 -7.4.1 公钥密码体制及其设计的基本原理 -7.4.2 RSA加密系统 • 7.5 数字签名技术

  2. 第7章 信息安全与信息加密 • 7.6 识别协议 -7.6.1 识别协议概述 -7.6.2 Feige-Fiat-Shamir识别协议 -7.6.3 改进的Feige-Fiat-Shamir识别协议 • 7.7 密钥管理 -7.7.1 密钥管理的意义 -7.7.2 密钥分类与产生 -7.7.3 密钥分配 -7.7.4 密钥保护和秘密共享 • 7.8 PGP密钥管理技术

  3. [学习目标] (1)掌握信息安全及信息加密的含义; (2)理解对称密钥密码算法和公钥密码算法的基本 特点和基本原理; (3)理解和掌握DSE和RSA加密算法; (4)理解和掌握数字签名技术; (5)了解密钥管理及其技术; (6)了解和掌握PGP程序的相关技术及应用。

  4. 7.1 信息安全含义 • 信息安全一般是指信息在通信、存贮或处理过程中是否得到妥善的、完好无损的保护,表现在信息不能被窃取、丢失、修改、错误投递等,并可以追溯发信人。 • 信息安全分为“信息体安全”和“信息智安全” (1) 信息体安全是指信息本身在网络域及其界面具有完整、真实、不可盗用、不可错用以及可溯源的属性。 (2) 信息智安全是指信息内涵,即信息体所携带的“智能或知识”与网络智安全和社会意识形态的相容性。

  5. 7.2 信息加密 7.2.1 密码技术简史 古希腊 古埃及、巴比伦和美索不达米亚 罗马 帝国时代 德国 现在。 7.2.2 密码的基本概念 • 安全问题: 一是数据的保密性,即防止非法地获悉数据; 二是数据的完整性,即防止非法地修改数据。 • 现代密码学 加密、明文、明文空间、密文、密文空间、解密、 密钥、密码体制。

  6. 第三方 密文 明文 原来的明文 发送方 加密 解密 接收方 7.2 信息加密 7.2.2 密码的基本概念 • 密码系统的两个基本单元是算法和密钥。 • 算法是相对稳定的,视为常量。 • 密钥则是不固定的,视为变量。 • 密钥安全性是系统安全的关键。 • 简单加密和解密过程如下图:

  7. 7.2 信息加密 7.2.2 密码的基本概念 • 密码通信通常会受到未授权者或非法入侵者的攻击。分为被动攻击和主动攻击: • 被动攻击是指未授权者通过各种可能的手段获取密文,并通过各种分析手段推断出明文的过程,称为破译。 • 主动攻击是指非法入侵者通过各种手段进入密码通信系统,并通过可能的方法删改、伪造信息,达到破坏密码通信系统的目的。

  8. 7.2 信息加密 7.2.2 密码的基本概念 • 破译或攻击密码的方法:穷举法和分析法。 • 穷举法是指用各种可能的密钥去试译密文,直到得到有意义的明文的方法 • 分析法是指通过数学关系式或统计规律找出明文或与明文相关的有用信息的破译方法。 • 密码的可破与不可破。 • 如果一个密码在规定的时间内,通过密文能确定明文或密钥,或通过一定量的明文与密文的对应关系能确定密钥,则称这个密码是可破的; • 否则,称密码是不可破的。

  9. 7.2 信息加密 7.2.2 密码的基本概念 • 一个密码通信系统可用下图表示: 图7.2 密码通信系统框图

  10. 7.2 信息加密 7.2.3 密码技术的分类 1.按应用技术或历史发展阶段划分 (1)手工密码 (2)机械密码 (3)电子机内乱密码 (4)计算机密码 2.按保密程度划分 (1)理论上保密的密码 (2)实际上保密的密码 (3)不保密的密码 3.按密钥方式划分 (1)对称式密码 (2)非对称式密码 4.按明文形态分 (1)模拟型密码 (2)数字型密码

  11. 7.2 信息加密 7.2.3 密码技术的分类 • 三种基本原理:移位、代替和置换。 • 与信息管理密切相关的安全理论 : (1)分组密码算法 将明文按一定的位长分组,输出也是固定长度的密文。 (2)公开密钥密码算法 加密密钥和解密密钥相分离,将加密密钥和算法公诸于众, 只保密解密密钥。 (3)非密码的安全理论和技术 包括信息隐形、量子密码和基于生物特征的识别理论与技术。

  12. 7.2 信息加密 7.2.4 密码系统的设计原则 (1) 易操作原则。对合法的通信双方来说加密和解密变 换是容易的。 (2) 不可破原则。指该密码体制在理论上或实际上是不 可破解的。 (3) 整体安全原则。部分信息丢失不会影响整个系统的 安全性。 (4) 柯克霍夫斯原则。密码系统中的算法即使为密码分 析员所知,也应该无助于用来推导明文或密钥。 (5) 与计算机和通信系统匹配原则。要求密码系统不是 孤立存在的,可以在计算机或通信系统中使用。

  13. 7.2 信息加密 7.2.5 传统的加密技术 (1) 代码加密 使用通信双方预先设定的一组代码。 (2) 替换加密 明文中的每个字母或每组字母被替换成另一个或一组字母。 (3) 变位加密 将字符重新排序。 (4) 一次一密乱码本加密 使用随机密钥字母集。 特点:①一次性;②随机性;③长度相等;④同步性; ⑤不可破译性。

  14. 7.3 对称密钥密码算法 • 根据密钥的特点,密码体制分为: (1)对称密钥密码体制 加密密钥与解密密钥是相同的或从一个容易推出另一个。 (2)公钥密码体制 加密密钥与解密密钥是不同的或从一个很难推出另一个。 • 根据加密的不同方式,对称密钥密码可分为: (1)流密码 将明文按字符一个一个地加密。 (2)分组密码 将明文分成若干个组,每组含多个字符,一组一组地加密。

  15. 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 1.流密码简述 • 在流密码中,将明文m写成连续的符号,利用密钥流中的第i个元素 ki 对应明文中的第i个元素 mi 进行加密,若加密变换为E,则加密后的密文为: 设与加密变换E对应的解密变换为D,其中D满足: 则通过解密运算可译得明文为:

  16. 密钥ki 密钥ki 明文mi 加密算法E 密文ci=Ek(mi) 解密算法D 明文mi=Dk(ci) 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 1.流密码简述 • 流密码通信框图如图7.3所示。 图7.3 流密码通信模式框图

  17. 7.3 对称密钥密码算法 例7.1 设明文、密钥、密文都是F2上的二元数字序列,明文 m=m1m2···,密钥为k=k1k2···,若加密变换与解密变换都是 F2中的模2加法,试写出加密过程与解密过程。 [解]经加密变换得密文: C = Ek (m) = Ek1(m1)Ek2(m2)··· = (k1+m1) (k2+m2)··· 经解密变换得: Dk (C) = Dk ((k1+m1)(k2+m2)···) = (k1+k1+m1)(k2+k2+m2)··· 由于ki∈F2,则 ki+ki=0,i=1,2,···,故 Dk (C)= m1m2··· = m 。 • 密文C 可由明文m与密钥k进行模2加获得。因此要用该密码系统通信就要求每发送一条消息都要产生一个新的密钥并在一个安全的信道上传送,习惯上人们称这种通信系统为“一次一密系统”。

  18. 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 2.密钥流生成器 • 构造密钥流生成器是流密码最核心的内容。 • 由于大部分密码是基于世界上公开的数学难题,所以造成大多数密钥流生成器的不安全性。 • 在流密码中,如果密钥流经过d个符号之后重复,则称该流密码是周期的,否则称之为非周期的。 • 密钥流元素kj 的产生由第 j 时刻流密码的内部状态sj 和实际密钥 k 所决定,记为kj = f (k, sj)。 • 加密变换Ekj与解密变换Dkj都是时变的,其时变性由加密器或解密器中的记忆文件来保证。

  19. 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 2.密钥流生成器 • 加密器中存储器的状态s 随时间变化而变化,这种变化可用状态转移函数 fs表示。 • 如果 fs与输入的明文无关,则密钥流 kj = f (k,sj) 与明文无关, j=1,2,…,从而 j 时刻输出的密文 cj = Ekj(mj) 与 j 时刻之前的明文也无关,称此种流密码为同步流密码。 • 在同步流密码中,只要发送端和接收端有相同的实际密钥和内部状态,就能产生相同的密钥流,此时称发送端和接收端的密钥生成器是同步的。一旦不同步,解密工作立即失败。 • 如果状态转移函数 fs与输入的明文符号有关,则称该流密码为自同步流密码。

  20. 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 2.密钥流生成器 • 目前应用最广泛的流密码是同步流密码。 • 一个同步流密码是否具有很高的密码强度主要取决于密钥流生成器的设计。 • 密钥流生成器的目的是由一个短的随机密钥(也称实际密钥或种子密钥) k 生成一个长的密钥流,用这个长的密钥流对明文加密或对密文解密,从而使一个短的密钥可用来加密更长的明文或解密更长的密文的目的。

  21. 寄存器 1 寄存器 2 寄存器 3 ··· 寄存器 n f (x0, x1, ··· , xn-1) 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 3.收缩密钥流生成器 • n 级移位寄存器(见下图) • 开始时,设第1级内容是 an-1,第2级内容是 an-2, ··· , 第n 级内容是 a0,则称这个寄存器的初始状态是 (a0, a1, ··· , an-1)。 • 当加上一个脉冲时,每个寄存器的内容移给下一级,第 n 级内容输出,同时将各级内容送给运算器 f (x0, x1, ··· , xn-1) ,并将运算器的结果 an= f (a0 , a1 , … , an-1) 反馈到第一级去。这样这个移位寄存器的状态就是 (a1 , a2 , ··· , an),而输出是a0 。 • 不断地加脉冲,上述n级移位寄存器的输出就是一个二元(或q元)序列: a0 , a1, a2 , ···

  22. + 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 3.收缩密钥流生成器 • 移位寄存器产生的序列都是周期序列,周期都不大于2n。 例7.2 右图是一个4级线性移位寄存器。给定初状态 (0001) , 求该移位寄存器产生的周期序列。 [解]易见 f (x0,x1,x2,x3) = x0 + x1, 因此对 k≥4 有 ak = ak-3+ ak-4 从而该4级移位寄存器产生的序列是周期15的序列: 000100110101111… • 由例7.2知,移位寄存器(简记SR,Shifted Register)可由短的序列生成具有一定规律的长序列。这种序列便可以作为密钥流序列,但抗攻击能力较差。

  23. yi (1) SR 1 yi (2) 输出ki SR 2 7.3 对称密钥密码算法 7.3.1 流密码(序列密码) 3.收缩密钥流生成器 • 收缩密钥流生成器(见右图) • 通常的密钥流生成器都是由若干个移位寄存器并联,并且与特殊的电子电路组合而成。 • 上图为由两个移位寄存器构成的收缩密钥流生成器,通过 SR1的输出选择SR2的输出来生成密钥流,其工作模式如下: • 输入参数:两个移位寄存器的级数及反馈函数 • 密钥:两个移位寄存器的初始状态 (1) 移位SR1并产生 yi(1);同时移位SR2并产生 yi(2); (2) 如果 yi(1) =1,则输出密钥元素ki = yi(2); 如果 yi(1) =0,则删去yi(2),i =1, 2, … ,不输出。 • 由此收缩生成器产生的密钥流为{ki | i≥1}。

  24. 明文x=(x1, x2, ···) 密文y=(y1, y2, ···, yn ) 明文x=(x1, x2, ···) 加密算法 解密算法 密钥k=(k1, k2, ···) 密钥k=(k1, k2, ···) 7.3 对称密钥密码算法 7.3.2 分组密码 1. 分组密码体系的概念 • 分组密码将明文按一定的位长分组,输出是固定长度的密文。 • 分组密码的优点是:密钥可以在一定时间内固定,不必每次变换,因此给密钥配发带来了方便。 2. 分组密码通信模式(见图7.7) 图7.7 分组密码通信模式图

  25. 7.3 对称密钥密码算法 7.3.2 分组密码 2. 分组密码通信模式 • 分组密码与流密码的不同之处在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为m的明文数字有关。 • 在分组密码通信中,通常明文与密文长度相等,称该长度为分组长度。

  26. 7.3 对称密钥密码算法 7.3.3 DES算法 • DES (Data Encryption Standard) 是由IBM公司在20世纪70年代研制的,经过政府的加密标准筛选后,于1976年11月被美国政府采用,随后被美国国家标准局和美国国家标准协会(ANSI)所认可。 • DES算法具有以下特点: (1)DES算法是分组加密算法:以64位为分组。 (2)DES算法是对称算法:加密和解密用同一密钥。 (3)DES算法的有效密钥长度为56位。 (4)换位和置换。 (5)易于实现。

  27. 7.3 对称密钥密码算法 7.3.3 DES算法 1. DES的基本原理 • DES采用传统的换位和置换的方法进行加密,在56bit密钥的控制下,将64bit明文块变换为64bit密文块,加密过程包括16轮的加密迭代,每轮都采用一种乘积密码方式(代替和移位). • 总体过程如下:在初始置换IP后,明文组被分为左右两部分,每部分32位,以 L0 , R0 表示;经过16轮运算,将数据和密钥结合;16轮后,左、右两部分连接在一起;经过末置换(初始置换的逆置换),算法完成。(见图7.8) • DES加密算法又可以简单地用下式表示: Ek(m) = IP-1·T16·T15… T1·IP (m)

  28. 图7.8 DES加密算法原理

  29. 7.3 对称密钥密码算法 7.3.3 DES算法 2. 初始变换和逆初始变换 • 初始变换是一个位变换,是将顺序排列的64bit根据表7.1进行处理,即将顺序排列的64bit序列t1t2t3···t64 变换成t58t50···t15t7 。 • 逆初始变换用表7.2进行,它是表7.1的逆过程。 表7.1 初始变换表 表7.2 逆初始变换表

  30. 7.3 对称密钥密码算法 7.3.3 DES算法 3. g 函数的设计函数 • g(Ri-1,Ki) 的结构如图7.9所示。首先用位选择表7.3中的E表将Ri-1扩展成48位二进制块E(Ri-1),即 Ri-1 = r1 r2···r31 r32 , E(Ri) = r32 r1···r31 r32 r1 • 然后与Ki进行异或运算,接着将所得的48位数分成8个6位数,记为Bi(i=1, 2,···, 8),此处,每个6位子块都是选择函数S的输入(即后面介绍的S盒),其输出是一个4位二进制块S(B)。 E(Ri-1) Ki =B1 B2···B8 • 把这些子块合成32 位二进制块之后,用换位表P (表7.4) 将它变换成 P(S1(B1)…S8(B8)) ,这就是函数 g(Ri-1, Ki) 的输出。

  31. A(32位) 加密时A=Ri-1 解密时A=Li 48位结果 Ki 选择函数 (S1~S8 ) 32位结果 置换运算P 32位 选择运算E g(A, Ki ) 图7.9 函数g(Ri, Ki) 的结构 表7.3 位选择表 E 表 表7.4 换位表 P 表

  32. 7.3 对称密钥密码算法 7.3.3 DES算法 4. 选择函数S盒的算法 • 每个Sj将一个6位块 Bj =b1b2b3b4b5b6 转换为一个4位块,根据表7.5选择函数组 S1,···, S8。与b1b6相对应的整数确定表中的列号,用与b2b3b4b5相对应的整数确定表中的行号,则Sj(Bj)的值就是位于该行和该列的数的4位二进制表示形式。

  33. S S S S S S S S 1 2 3 4 5 6 7 8 D 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 14 0 4 15 15 13 0 13 10 13 13 1 7 13 10 3 2 14 4 11 12 10 9 4 4 13 1 6 13 1 7 2 1 4 15 1 12 1 13 14 8 0 7 6 10 13 8 6 15 12 11 2 8 1 15 13 3 11 0 4 11 2 15 11 1 2 13 7 14 8 8 4 7 10 9 0 4 13 14 11 9 0 4 2 1 12 10 4 15 2 2 11 11 13 8 13 4 14 3 1 4 8 2 14 7 11 1 14 9 9 0 3 5 0 6 1 12 11 7 15 2 5 12 14 7 13 8 4 8 1 7 4 2 14 13 4 6 15 10 3 6 3 8 6 0 6 12 10 7 4 10 1 9 7 2 9 15 4 12 1 6 10 9 4 5 15 2 6 9 11 2 4 15 3 4 15 9 6 15 11 1 10 7 13 14 2 12 8 5 0 9 3 4 15 3 12 10 6 11 13 2 1 3 8 13 4 15 6 3 8 9 0 7 13 11 13 7 2 6 9 12 15 8 1 7 10 11 7 14 8 7 8 1 11 7 4 14 1 2 5 10 0 7 10 3 13 8 6 1 8 13 8 5 3 10 13 10 14 7 1 4 2 13 8 3 10 15 5 9 12 5 11 1 2 11 4 1 4 15 9 8 5 15 6 0 6 7 11 3 14 10 9 10 12 0 15 9 10 6 12 11 7 0 8 6 13 8 1 15 2 7 1 4 5 0 9 15 13 1 0 14 12 3 15 5 9 5 6 2 10 6 12 9 3 2 1 12 7 12 5 2 14 8 2 3 5 3 15 12 0 3 13 4 1 9 5 6 0 3 6 10 9 11 12 11 7 14 13 10 6 12 7 14 12 3 5 12 14 11 15 10 5 9 4 14 10 7 7 12 8 15 14 11 13 0 12 5 9 3 10 12 6 9 0 11 12 5 11 11 1 5 12 13 3 6 10 14 0 1 6 5 2 0 14 5 0 15 3 13 9 5 10 0 0 9 3 5 4 11 10 5 12 10 2 7 0 9 3 4 7 11 13 0 10 15 5 2 0 14 3 5 14 0 3 5 6 5 11 2 14 2 15 14 2 4 14 8 2 14 8 0 5 5 3 11 8 6 8 9 3 12 9 5 6 15 7 8 0 13 10 5 15 9 8 1 7 12 15 9 4 14 9 6 14 3 11 8 6 13 1 6 2 12 7 2 8 11 表7.5 选择函数S盒表 例7.3S盒应用实例:设B1=101100, 则S1(B1)的值位于列号为2的列和行号为6的行,即等于2, 因此S1(B1)的输出是0010。

  34. 密钥 ( 64 位 ) 57 49 41 33 25 17 9 63 55 47 39 31 23 15 1 58 50 42 34 26 18 7 62 54 46 38 30 22 10 2 59 51 43 35 27 14 6 61 53 45 37 29 19 11 3 60 52 44 36 21 13 5 28 20 12 4 C ( 28 ) D ( 28 ) 位 位 0 0 7.3 对称密钥密码算法 7.3.3 DES算法 5. 子密钥Ki的产生 • 是由初始密钥推导出子密钥 Ki 的过程。 • 初始密钥K是一个64位二进制块,其中 8位是奇偶校验位,分别位于第8,16, 32,40,48,64位。置换选择函数PC-1将这些奇偶校验位去掉,并把剩下的 56位进行换 位,换位后的结果被分成两半,如图7.10 所示。

  35. 7.3 对称密钥密码算法 7.3.3 DES算法 5. 子密钥Ki的产生 • 令Ci 和Di 分别表示推导Ki时所用的C和D的值,有如下的变换公式: Ci =LSi(Ci-1) , Di =LSi(Di-1) • 此处是LSi 循环左移位变换,其中 LS1、LS2、LS9和LS16 是循环左移1位变换,其余的LSi 是循环左移2位变换。图7.10的C0和D0是C和D的初始值,显然, C0=K57K49···K44K36, D0=K63K55···K12K4

  36. Ci (28位) Di (28位) 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 Ki (48位) 7.3 对称密钥密码算法 7.3.3 DES算法 5. 子密钥Ki的产生 • 按图7.11置换选择函数PC-2,最后通过置换选择函数PC-2,得出: Ki=PC-2(Ci,Di) 图7.11 置换选择函数PC-2

  37. 7.3 对称密钥密码算法 7.3.3 DES算法 6. DES 解密算法 • 算法:N(Ek) = IP-1·T1·T2 … T16·IP[Ek(m)] • DES的缺点主要有: ① DES的56位的密钥长度可能太小; ② DES的迭代次数太大; ③ S盒(即代替函数S)中可能有不安全因素; ④ DES的一些关键部分应保密(如S盒设计)。 • DES的安全性完全依赖于所用的密钥。

  38. 7.4 公钥密码算法 7.4.1 公钥密码体制及其设计的基本原理 1. 设计公钥密码体制的基本原理 • 在公钥密码中,解密密钥和加密密钥不同,从一个难于推出另一个,解密和加密是可分离的,加密密钥是可以公开的。 • 核心问题是找一个陷门单向函数。

  39. 7.4 公钥密码算法 7.4.1 公钥密码体制及其设计的基本原理 1. 设计公钥密码体制的基本原理 • 如果函数 f(x)满足以下条件: (1) 对 f(x)的定义域中的任意 x,都容易计算函数值 f(x); (2) 对于 f(x)的值域中的几乎所有的 y,即使已知 f 要计算 f -1(y)也是不可行的; 则称 f(x)是单向函数(One-way Function)。 • 若给定某些辅助信息时又容易计算单向函数 f 的逆 f -1,则称 f(x)是一个陷门单向函数。这一辅助信息就是秘密的解密密钥。这就是设计公钥密码体制的基本原理。

  40. 7.4 公钥密码算法 7.4.1 公钥密码体制及其设计的基本原理 2. 公钥密码体制 • 公钥密码体制称为双密钥密码体制或非对称密码体制. • 将序列密码和分组密码等称为单密钥密码体制或对称密钥密码体制。 • 单钥加密中使用的密钥称为秘密密钥(Secret Key)。 • 公开密钥加密中使用的两个密钥分别称为公开密钥(Public Key) 和私有密钥(Private Key)。 • 公开密钥的应用 : (1)加密和解密;(2)数字签名;(3)密钥交换。

  41. 7.4 公钥密码算法 7.4.1 公钥密码体制及其设计的基本原理 3. 公开密钥密码系统原理 公开密钥算法用一个密钥进行加密,而用另一个不同但是相关的密钥进行解密: ① 仅仅知道密码算法和加密密钥而要确定解密密 钥,在计算上是不可能的; ② 两个相关密钥中任何一个都可以用作加密而让另 外一个解密。 4.公钥密码体制的安全性(计算安全性) 是由公钥密码算法中求陷门单向函数的逆的复杂性 决定的。

  42. 7.4 公钥密码算法 7.4.2 RSA加密系统 1. RSA算法简单描述 • 实现步骤: ① B寻找出两个大素数p和q。 ② B计算出 n=pq 和 (n)=(p-1)(q-1)。 ③ B选择一个随机数 b(0<b<(n)),满足(b, (n))=1 (即b和(n)互素)。 ④ B使用Euclidean (欧几里得)算法计算 a = b-1(mod (n))。 ⑤ B在目录中公开n和b作为他的公开密钥,保密p、q和a。 加密时,对每一明文m计算密文:c=mb(mod n) 解密时,对每一密文c计算明文: m=ca(mod n)

  43. 7.4 公钥密码算法 7.4.2 RSA加密系统 • RSA算法主要用于数据加密和数字签名。RSA算法用于数字签名时,公钥和私钥的角色可变换,即将消息用a加密签名,用b验证签名。 2.RSA算法实例(见例7.4)

  44. 7.4 公钥密码算法 • 例7. 4 假定用户B选择两个素数 p=3,q=11,则 n=pq=33, (n)=(3-1)(11-1)=20。取 b=3,显然 (b, (n))=(3, 20)=1, 再由Euclidean算法,对 a∈Z33={0,1,…,32},a=b-1(mod20), 在本例中求出 a=7 或 a=27。一般地,a的值不是唯一的,这里选 a=7,即B公开 n=33 和 b=3,保密 p=3,q=11 和 a=7。 现在用户A想把明文 m=19 发送给B。 A加密明文 m=19,得密文: c=Ek(m)≡mb(mod n)≡193(mod 33)=28 A在公开信道上将加密后的密文c=28发送给B,当B收到密文 c=28时,解密可得: m=ca(mod n)=287(mod 33)=19 从而B得到A发送的明文m=19。

  45. 7.4 公钥密码算法 7.4.2 RSA加密系统 • RSA算法的基本原理可归纳如下: 设p,q是两个不同的奇素数,n=pq,则(n)=(p-1)(q-1), 密钥 k ={(n, p, q, a, b)|ab≡1(mod (n)),a,b∈Zn , (b, (n))=1,0<b<(n)}, 对每一个 k=(n, p, q, a, b), 定义加密变换为:Ek(x)≡xb(modn),x∈Zn 定义解密变换为:Dk(y)≡ya(modn),y∈Zn • RSA密码体制是公开加密密钥n与b,保密解密密钥a以及辅助信息p与q。

  46. 7.4 公钥密码算法 7.4.2 RSA加密系统 3.RSA的安全性 • RSA算法的理论基础是一种特殊的可逆模指数运算,它的安全性是基于分解大整数n的困难性。 • 三种可能攻击RSA算法的方法是: ①强行攻击:这包含对所有的私有密钥都进行尝试; ②数学攻击:因子分解; ③定时攻击:这依赖于解密算法的运行时间。 • 要求:①不要随便提交;②不要随便共享n; ③利用随机信息。

  47. 7.5 数字签名技术 7.5.1 数字签名概述 • 数字签名就是防止他人对传输的文件进行破坏以及如 何确定发信人的身份的手段。 • 数字签名主要利用公钥密码技术。 • 数字签名经过长时间的研究,已经有了自己的研究体系,形成了自己的理论框架。 • 目前已有 RSA、椭圆曲线等经典签名,也有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等与具体应用环境密切相关的特殊签名。

  48. 7.5 数字签名技术 7.5.2 数字签名的概念和特点 1. 数字签名的特点 • 作用: 第一,信息是由签名者发送的; 第二,信息自签发后到收到为止未曾做过任何修改; 第三,如果 A 否认对信息的签名,可以通过仲裁解 决 A和 B 之间的争议。 • 数字签名特殊性:随文本的变化而变化;与文本信息是不可分割的。 • 完善的数字签名应具备签字方不能抵赖、他人不能伪造、在公证人面前能够验证真伪的能力。

  49. 7.5 数字签名技术 7.5.2 数字签名的概念和特点 2.数字签名的形式化定义 • 个签名方案由签署算法与验证算法两部分构成,可用五元关系组(P,A,K,S,V)进行形式化表示。 • 签名者收到(x, s)后,计算Verk(x, y),若y=Sigk(x),则Verk(x, y) =真;若 y≠Sigk(x),则Verk(x, y)=假。 3. 数字签名的功能 (1)身份认证 (2)保密 (3)完整性 (4)不可抵赖 4.电子签名的法律地位

  50. 7.5 数字签名技术 7.5.3 数字签名方案的分类 1.基于数学难题的分类 (1)基于离散对数问题的签名方案 (2)基于素因子分解问题的签名方案 (3)上述两种的结合签名方案 2.基于签名用户的分类 (1)单个用户签名的数字签名方案 (2)多个用户的数字签名方案。

More Related