公开密钥的诞生标志着现代密码学的诞生,它开拓出许多密码学新的研究领域比如签名、认证、密钥分配等。加密只是其应用之一。本章主要研究公钥加密方在保密与数字签名方面的应用。...

Preview:

DESCRIPTION

第 3 章 公开密钥与数字签名. 公开密钥的诞生标志着现代密码学的诞生,它开拓出许多密码学新的研究领域比如签名、认证、密钥分配等。加密只是其应用之一。本章主要研究公钥加密方在保密与数字签名方面的应用。. 本章内容. 第 1 节 数学基础  第 2 节 公开密钥加密算法 RSA  第 3 节 数字签名算法  第 4 节 密钥分配算法  第 5 节 混合加密算法  第 6 节 密码学研究的若干前沿 . 小结. - PowerPoint PPT Presentation

Citation preview

公开密钥的诞生标志着现代密码学的诞生,它开拓出许多密码学新的研究领域比如签名、认证、密钥分配等。加密只是其应用之一。本章主要研究公钥加密方在保密与数字签名方面的应用。

第第 33章 公开密钥与数字签章 公开密钥与数字签名名

本章内容本章内容

第 1 节 数学基础 第 2 节 公开密钥加密算法 RSA 第 3 节 数字签名算法第 4 节 密钥分配算法第 5 节 混合加密算法第 6 节 密码学研究的若干前沿

小结小结

本章讲述了公开密钥加密算法所用的数学基础与 RSA 公开密钥加密算法, DSA数字签名算法。所讲述的数学基础虽然在本章中只有 RSA 和 DSA 两处用到,但这些基础是现代密码学的基础,在有关的密码学研究中非常重要,处处都能见到,所以必须认证掌握。简单介绍了 Diffie-Hellman 密钥交换算法、用 RSA 实现密钥交换,最后介绍了混合密码系统。

作业题作业题1. 请你编一个因子分解的程序,程序要有计时功能。用这个程序对下列三个数进行因子分解,并记录分解三个数所用的时间。 46631 ,7836601 , 1981835783 。

2. 选择 n =3337, 加密密钥 e =1019, 将陕西师范大学用 RSA 公钥加密算法加密。 ( 提示:将“陕西师范大学”中的每个汉字都用区位码表示,并加密相应的区位码 )

3. 试证明 DSA 验证等式的正确性。

1 1 数学基础数学基础

(1) Module operation

(2) Prime number

(3) Great Common Divisor

(4) Inversing module operation

数学基础数学基础

(5) Fermat’s little theorem and Euclid

Function

(6) Factoring

(7) Discrete Logarithm

(8) Two Basic Assumptions BACK

2. 2. 公开密钥密码学公开密钥密码学

2.1 公开密钥密码学的历史与分类

2.2 RSA 算法

2.3 公开密钥算法进行通信

2.4 公开密钥密码学的优势 BACK

RSARSA 公开密钥算法公开密钥算法

RSA (Ron Rivest, Adi Shamir, Leonard

Adleman) 公开密钥算法是公开密钥算法的概念提出以后出现的第一个公开密钥算法,它既能用于加密也能用于数字签名。在已经提出的公开密钥算法中 RSA 算法是最容易理解和实现的。 RSA 算法的数学基础是因子分解假设。

RSARSA 算法算法 RSA 算法的原理非常简单,非常易于理解。但计算起来却非常困难。通过三个精心选择的自然数 e 、 d 和 n 进行加密和解密。加密过程为:

解密过程为:

下面主要研究如何选择自然数 e 、 d 和 n 。

BACK

BACKBACK

模运算

BACK

Prime NumberPrime Number

素数是这样一种数:大于 1 ;它的因子只有 1 和它本身。 2 是唯一的偶素数,其他素数均为奇数;素数是无限的。 2365347734339 和2756839-1 都是素数。 判断一个数是不是素数是困难的。

BACK

最大公因数最大公因数

(1) 两个数的公因(约)数;(2) 两个数的最大公因数;(3) 两个数互素:除了 1 以外没有共

同的因子。(4) 素数与它的倍数以外的任何数都

是互素的。BACK

求模逆元求模逆元

BACK

费马小定理与欧拉函数费马小定理与欧拉函数

BACK

BACK

因子分解因子分解 对一个数进行因子分解就是将这个数分解成若干素数的乘积。因子分解是一个非常古老的问题,这个问题到目前为止尚没有多项式时间算法。 目前的因子分解算法有:数域筛选法;二次筛选法;椭圆曲线法;连分式算法;试除法。

BACK

离散对数离散对数

BACK

两个基本假设两个基本假设

BACK

3. 3. 数字签名算法数字签名算法

在文件上签名长期以来一直被用作身份的证明,或者同意文件的内容。签名有如下特征: (1 )签名是可信的;( 2 )签名不可伪造;( 3 )签名不可重用;( 4 )签名文件是不可改变的;( 5 )签名是不可抵赖的。主要的数字签名算法有RSA 数字签名和 DSA 数字签名。

用用 RSARSA 进行数字进行数字签名签名

(1) Alice 用她的私人密钥对文件加密,从而对文件签名。

(2) Alice 将签名与文件发送给 Bob 。(3) Bob 用 Alice 公钥解密,如果解密的结果与传过来的文件完全相同,就表示Alice 确实对该文件进行过签名。

DSADSA 算法算法 DSA 算法是美国 Digital Signature Standard - DSS 中所规定的算法,这个算法与相比有所不同: DSA 只能用于签名,不能用于加密与密钥分配; DSA 比RSA速度慢; DSA 的密钥长度太短;DSA 选择过程没有公开等。但是最大的优势在于 DSA 没有专利。美国政府不想为数字签名算法支付专利费。

关于关于 DSADSA

DSA 是 DSS 选定的一个标准算法,选择这个算法的主要要求与考虑因素包括:确保以最低的成本实现最有效的安全性和保密性;软件与硬件实现应当比较容易;应该不受专利的约束;签名函数与验证函数的效率应当比较高,应该能够在智能卡应用中有效地实现签名操作。在这些应用中签名操作应在计算能力适中的智能卡环境中进行,而验证过程可以在计算能力较强的环境中实现。

算法所用到的参数算法所用到的参数

AliceAlice 对消息的签名过程对消息的签名过程

BobBob 对签名的验证过程对签名的验证过程BobBob 进行下面的计算来验证签名进行下面的计算来验证签名

DSADSA 的数学基础的数学基础

DSADSA 的数学基础的数学基础

数字签名的研究热点数字签名的研究热点盲签名群签名 ( 团体签名 )不可抵赖的数字签名代理数字签名失败终止签名指定的确认人签名

BACK

密钥分配算法密钥分配算法

前面我们在使用对称加密算法时,都假设Alice 和 Bob 有一个共享的密钥,但我们回避了这样一个问题:如何使 Alice 和 Bob 共享一个密钥?这个问题不解决所有的对称密码算法都是空谈。这正是密钥分配要解决的问题。最初,密钥分配是通过面对面的协商来完成的、后来发展到由专人护送密钥。而这一切在以前都是可行的,在信息社会则远不能适应信息社会的需要。这就出现了密钥分配的研究课题。

Diffie-HellmanDiffie-Hellman 密钥交换算法密钥交换算法

Diffie-Hellman 密钥交换算法是第一个专门为密钥分配而设计的密码算法,在信息安全领域有重要的影响。该算法的数学基础就是离散对数假设。首先 Alice和 Bob 通过公开信道协商一个的素数 n和一个 g. 其中 g 是模 n 的生成元。这两个整数不需要保密。 Diffie-Hellman 密钥交换协议如下:

Diffie-HellmanDiffie-Hellman 交换协议交换协议

RSARSA 算法实现的密钥交换算法实现的密钥交换 因为在公开密钥算法中, Alice 的公钥是公开的,任何人都可以得到,所以当 Bob需要和Alice协商密钥时可以采用下面的协议:(1) Bob从公钥数据库中找到 Alice 的公钥。(2) Bob 用 Alice 公钥加密选择的密钥 k 。(3) Bob 将经过加密的 k发送给 Alice 。(4) Alice 用她自己的私有密钥解密 k 。 这样 Alice 和 Bob 就得到一个共享的密钥k. BACK

用公开密码学加密通信用公开密码学加密通信(1) Alice 和 Bob 选用一个公开密码系统;(2) Bob 将她的公开密钥传送给 Alice ;(3) Alice 用 Bob 的公开密钥加密她的消息,然后发送给 Bob ;

(4) Bob 用他的私人密钥解密 Alice 的消息,然后阅读消息。 BACK

公开密码学的优势与问题公开密码学的优势与问题

优势:公开密钥算法很好地解决了密钥分配问题;公开密钥算法既可以用于加密也可以用于数字签名。 问题:公开密钥算法速度很低;公开密钥算法对选择明文攻击很敏感。 BACK

密码学研究的若干前沿密码学研究的若干前沿Zero-knowledge proof

Bit commitment

Oblivious transfer

Secure multiparty computation

BACK

多方保密计算多方保密计算

数字世界的解决方案数字世界的解决方案

数字世界的解决方案数字世界的解决方案

混合密码系统混合密码系统

所谓混合密码系统就是利用公开密钥算法进行密钥交换,用对称密码算法进行实际数据的加密。这种系统克服了两者的缺点,发挥了两者的优势。这是实际构建加密通信系统时普遍被采用的方法。由此还诞生了 Public Key Infra-structure- PKI. PKI 已经成为国家的信息基础设施。

BACK

Recommended