密码学理论基础Foundations of Cryptography
- 格式:ppt
- 大小:108.00 KB
- 文档页数:19
密码学基本介绍转自:鹏越网络空间安全研究院密码系统原理及数学背景下图是一个典型的密码系统,展示了密码技术的应用场景:明文:P 密文:C 加密密钥:K1 解密密钥:K2 加密方法:E 解密方法:D加密与解密的关系可以用公式简洁地表示:C = EK1(P)表示用加密密钥K1通过加密方法E对明文P进行加密得到密文C。
P = DK2(C)表示用解密密钥K2通过解密方法D对密文C进行解密得到明文P。
DK2(EK1(P))=P 由上面两个式子可以得到这个式子。
由此可见,实际上,密码算法E和D都是数学函数。
关于密码学,有两个基本原则:1) 消息必须包含一定的冗余度。
2) 必须采取措施对抗重放攻击。
另外,关于密码系统的设计,还有一个原则叫做Kerckhoff原则:“密码算法必须公开,只有密钥需要保密。
”这个原则体现了一个思想:让入侵者知道密码算法没有关系,所有的秘密都隐藏在密钥中。
对密码算法保密是不明智的,因为密码算法的设计很困难,一旦算法原理泄露了,必须得花费大量精力重新设计。
但密钥可以随时更换。
每个密码算法,都有其数学背景,依赖某一种数学理论。
下面是一些常见密码算法的数学理论依据:1)信息论由香农(Claude Elmwood Shannon)于1948年创立的现代信息论为安全的密码系统定义了一个精确的数学模型。
2)复杂性理论复杂性理论提供了分析密码算法的“计算复杂性”的方法。
它通过对密码算法进行比较,来确定一个密码算法的安全性。
密码算法的“计算复杂性”通常用时间复杂度和空间复杂度两个变量来度量。
3)数论数论中的模运算、素数、最大公因子、求模逆元、费尔马定理、中国剩余定理、迦罗瓦域理论等等,是很多密码学算法的数学基础。
4)因子分解对一个数进行因子分解就是找出它的素数因子。
因子分解是数论中最古老的问题,分解一个数很简单,却是一个耗时的过程。
一些经典的因子分解算法有:数域筛选法、二次筛选法、椭圆曲线法等。
5)计算有限域中的离散对数计算离散对数是数学中公认的难题。
公钥密码学的理论基础公钥密码学的理论基础—单向函数1976年,Diffie W.和Hellman M.E.在他们的《密码学的新方向》一文中提出了公钥密码的概念。
随后,在1978年,Rivest R.L.,Shamir A.和Adleman L.M.在其文《实现数字签名和公钥密码体制的一种方法》中最先提出了一种可行的实现方法,这就是我们现在广泛使用的RSA 体制。
RSA体制的提出真正使得互不相识的通信双方在一个不安全的信道上进行安全通信最终成为可能,也是我们今天CA服务的源泉。
然而,人们很少关心当前幸福生活的背后有一位默默的奉献者—单向函数。
单向和陷门单向函数的概念是公钥密码学的核心,可以说公钥密码体制的设计就是陷门单向函数的设计。
那么什么是单向函数?什么是陷门单向函数?他们的密码学意义何在?本文试图作一个初浅的介绍。
1 单向函数给定任意两个集合X和Y。
函数f:X Y 称为单向的,如果对每一个x属于X,很容易计算出函数f(x)的值,而对大多数y属于Y,要确定满足y=f(x)的x是计算上困难的(假设至少有这样一个x存在)。
注意,不能将单向函数的概念与数学意义上的不可逆函数的概念混同,因为单向函数可能是一个数学意义上可逆或者一对一的函数,而一个不可逆函数却不一定是单向函数。
目前,还没有人能够从理论上证明单向函数是存在的。
单向函数存在性的证明将意味着计算机科学中一个最具挑战性的猜想P=NP,即NP完全问题的解决,而关于NP完全性的理论却不足以证明单向函数的存在。
有幸的是,现实中却存在几个单向函数的“候选”。
说他们是“候选”,是因为他们表现出了单向函数的性质,但还没有办法从理论上证明它们一定是单向函数。
一个最简单的、大家熟知的“侯选”单向函数就是整数相乘。
众所周知,不管给定两个多大的整数,我们很容易计算出它们的乘积,而对于一个300位左右的十进制整数,即使已知它是两个大小差不多(150位左右的十进制数)的素数之积,用世界上计算能力最强的计算机,也没有办法在一个合理的时间内分解出构成这个整数的两个素数因子来。
《密码学基础》课程教学大纲(Fundamentals of Cryptography)课程编号: 1223527课程性质:专业课适用专业:计算机科学与技术先修课程:线性代数、概率论与数理统计、离散数学后续课程:总学分:2学分一、教学目的与要求1. 教学目的密码学包含两个密切相关的方面,其一是密码编码学,研究编写出好的密码系统的方法;其二是密码分析学,研究攻破一个密码系统的途径,恢复被隐蔽信息的本来面目。
通过本课程的学习使学生初步掌握密码编码学的知识、了解密码分析学的基本概念和方法。
2. 教学要求通过本课程的学习,要求学生能初步掌握密码学的主要内容,包括:公钥密码,分组密码,伪随机序列发生器,序列密码,数字签名等等。
要求重点掌握各种密码算法和密码协议及其设计原理,掌握密钥管理、数字签名、身份认证、散列函数等核心技术。
二、课时安排三、教学内容1. 密码学的基本概念(2学时)(1)教学基本要求了解:信息安全模型;信息安全与密码学的关系;密码学的发展方向。
理解:密码学的发展与分类;密码学的基本概念;现代密码学的理论基础。
(2)教学内容①对安全威胁的被动攻击(截获)与主动攻击(中断、篡改、伪造);②信息安全的三个特性(保密性Confidentiality、完整性Integrity、可用性Availability);③密码学的分类(密码编码学、密码分析学、密码密钥学);④密码编码学的分类(对称密码与非对称密码);⑤密码分析及对密码系统攻击能力等级。
2. 分组密码(4学时)(1)教学基本要求了解:DES;对DES的攻击方法;分组密码设计的一般原理;IDEA;Double-DES,Triple-DES;AES的产生背景。
理解:DES算法;分组密码(DES)的使用模式;IDEA的总体结构;AES算法;逆元的计算;分组密码的工作模式。
(2)教学内容①DES算法的整体结构(重点);②初始置换、逆初始置换、乘积变换、16轮迭代、函数f、S-盒、P置换;③子密钥的生成及DES的解密过程;④DES的雪崩效应、DES的弱密钥及半弱密钥、对DES的攻击;⑤Double-DES与Triple-DES;⑥分组密码设计的一般原理及分组密码的工作模式(ECB、CBC、CFB、OFB);⑦IDEA的总体结构,8轮迭代、输出变换、密钥调度、乘积运算;⑧逆元的计算;⑨DES,Double-DES,Triple-DES,IDEA的安全性;⑩AES分组密码算法(轮变换、加轮密钥、密钥调度、密钥扩展等)。
法国数学家密码学基础
密码学是一门旨在保障信息安全的学科,它研究如何设计和使用密码来保护通信、计算机系统、电子商务和数字身份等方面的信息。
密码学的基本原理涉及加密算法、密钥管理、认证和数字签名等。
其中,加密算法是保障信息机密性的核心,它将原始信息转换为密文,使得未经授权的人员无法读取原始信息。
密码学常用的加密算法包括对称密钥加密和非对称密钥加密。
对称密钥加密使用同一个密钥进行加密和解密,而非对称密钥加密则使用不同的公钥和私钥进行加密和解密。
对称密钥加密的速度快,但需要在通信双方之间安全地共享密钥;非对称密钥加密则不需要共享密钥,但加密解密速度较慢。
因此,在实际应用中,常常将两种加密方法结合使用,以达到更好的保密效果。
密码学在现代社会中扮演着十分重要的角色,它不仅应用于军事、政府等领域,也广泛运用于商业、金融、医疗、互联网等各个领域。
- 1 -。