现代密码学总结汇总
- 格式:doc
- 大小:1.56 MB
- 文档页数:25
密码学认识与总结专业班级信息112 学号201112030223 姓名李延召报告日期.在我们的生活中有许多的秘密和隐私,我们不想让其他人知道,更不想让他们去广泛传播或者使用。
对于我们来说,这些私密是至关重要的,它记载了我们个人的重要信息,其他人不需要知道,也没有必要知道。
为了防止秘密泄露,我们当然就会设置密码,保护我们的信息安全。
更有甚者去设置密保,以防密码丢失后能够及时找回。
密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。
现代的密码已经比古代有了长远的发展,并逐渐形成一门科学,吸引着越来越多的人们为之奋斗。
一、密码学的定义密码学是研究信息加密、解密和破密的科学,含密码编码学和密码分析学。
密码技术是信息安全的核心技术。
随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。
它是集数学、计算机科学、电子与通信等诸多学科于一身的交叉学科。
使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。
目前密码的核心课题主要是在结合具体的网络环境、提高运算效率的基础上,针对各种主动攻击行为,研究各种可证安全体制。
密码学的加密技术使得即使敏感信息被窃取,窃取者也无法获取信息的内容;认证性可以实体身份的验证。
以上思想是密码技术在信息安全方面所起作用的具体表现。
密码学是保障信息安全的核心;密码技术是保护信息安全的主要手段。
本文主要讲述了密码的基本原理,设计思路,分析方法以及密码学的最新研究进展等内容密码学主要包括两个分支,即密码编码学和密码分析学。
密码编码学对信息进行编码以实现信息隐藏,其主要目的是寻求保护信息保密性和认证性的方法;密码分析学是研究分析破译密码的学科,其主要目的是研究加密消息的破译和消息的伪造。
密码技术的基本思想是对消息做秘密变换,变换的算法即称为密码算法。
密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。
现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
•现代密码学分类:•对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 •非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学•代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26)(2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26)(3)单表代换、多表代换Hill密码:(多表代换的一种)——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵}——加密c = p * K mod 26 解密p = c * K-1 mod 26Vigenere密码:查表解答(4)转轮密码机:•置换密码•••:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换•密码分析:•统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法•重合指数法• 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065• 实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲 密码学基础第一部分 密码学的信息论基础• Shannon 的保密通信系统模型发送者接收者信源分析者加密解密安全信道无噪信道安全信道MM MCK K密钥源发送者接收者信源分析者加密解密无噪信道安全信道MM MC KK ’密钥源无噪信道•一个密码体制是一个六元组:(P, C, K 1, K 2, E, D )P--明文空间 C--密文空间 K 1 --加密密钥空间K2 --解密密钥空间E --加密变换D --解密变换对任一k∈K1,都能找到k’∈K2,使得D k’ (E k (m))=m,m M. •熵和无条件保密•)(1log)()(≥=∑i iaixpxpXH设随机变量X={xi | i=1,2,…,n}, xi出现的概率为Pr(xi) ≧0, 且, 则X的不确定性或熵定义为熵H(X)表示集X中出现一个事件平均所需的信息量(观察前);或集X中每出现一个事件平均所给出的信息量(观测后).•设X={x i|i=1,2,…,n}, x i出现的概率为p(x i)≥0,且∑i=1,…,n p(x i)=1;Y={y i|i=1,2,…,m}, y i出现的概率为p(y i)≥0,且∑i=1,…,m p(y i)=1;则集X 相对于集Y的条件熵定义为•X视为一个系统的输入空间,Y视为系统的输出空间,通常将条件熵H(X|Y)称作含糊度,X和Y之间的平均互信息定义为:I(X,Y)=H(X)-H(X|Y)表示X熵减少量。
现代密码学(第⼆版)重点概念整理第⼀章1.被动攻击获取消息的真实内容进⾏业务流分析2.主动攻击中断、篡改、伪造3.安全业务1、保密业务:保护数据以防被动攻击。
2、认证业务:⽤于保证通信的真实性。
3、完整性业务:防⽌对消息流的篡改和业务拒绝。
4、不可否认业务:⽤于防⽌通信双⽅中的某⼀⽅对所传输消息的否认。
5、访问控制:访问控制的⽬的是防⽌对⽹络资源的⾮授权访问,控制的实现⽅式是认证,即检查欲访问某⼀资源的⽤户是否具有访问权。
4.安全通信需考虑加密算法⽤于加密的秘密信息秘密信息的分布与共享安全服务所需的协议5.信息安全可分为系统安全、数据安全、内容安全,密码技术是保障数据安全的关键技术。
6.密码体制从原理上分为单钥体制和双钥体制,单钥体制包括对明⽂消息按字符逐位加密的流密码和将明⽂消息分组加密的分组密码。
双钥特点是将加密和解密能⼒分开。
7.密码攻击类型唯密⽂攻击、已知明⽂攻击、选择明⽂攻击、选择密⽂攻击8.加密算法是⽆条件安全的,仅当密钥⾄少和明⽂⼀样长时,才能达到⽆条件安全9.多表代换密码的计算问题,课后习题3、4第⼆章1.流密码的概念:利⽤密钥k产⽣⼀个密钥流z=z0z1…,并使⽤如下规则对明⽂串x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。
密钥流由密钥流发⽣器f产⽣:zi=f(k,σi),σi:加密器中的记忆元件(存储器)在时刻i的状态,f:由密钥k和σi产⽣的函数。
2.分组密码与流密码的区别: 有⽆记忆性3.密码设计者的最⼤愿望是设计出⼀个滚动密钥⽣成器,使得密钥经其扩展成的密钥流序列具有如下性质:极⼤的周期、良好的统计特性、抗线性分析、抗统计分析4.同步流密码的关键是密钥流产⽣器。
5.如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。
现代密码学概述现代密码学是研究保护信息安全的科学,它使用密码算法来加密和解密数据,以防止未经授权的访问和篡改。
密码学在现代社会中扮演着至关重要的角色,它保证了电子通信、互联网交易和数据存储的安全性。
一、密码学的基本概念和原理1.1 加密和解密在密码学中,加密是将明文转换为密文的过程,而解密则是将密文还原为明文的过程。
加密和解密的过程需要使用特定的密钥和密码算法。
1.2 对称密码和非对称密码对称密码算法使用相同的密钥进行加密和解密,加密和解密的速度较快,但密钥的分发和管理比较困难。
非对称密码算法使用一对密钥,分别用于加密和解密,密钥的管理更为灵活,但加密和解密的速度较慢。
1.3 数字签名和数字证书数字签名是在数字信息中添加的一种类似于手写签名的标识,用于验证数据的完整性和真实性。
数字证书则是由可信的第三方机构颁发的用于验证签名者身份的证书。
二、现代密码学的应用领域2.1 网络安全现代密码学在网络安全中扮演着重要的角色。
它通过对通信数据进行加密,保护用户的隐私和数据的安全,防止信息被窃听、篡改和伪造。
2.2 数据存储密码学被广泛应用于数据存储领域,如数据库加密、文件加密和磁盘加密等。
通过对数据进行加密,即使数据泄露也不会造成重大的损失。
2.3 电子支付现代密码学在电子支付领域也有广泛的应用。
它通过使用数字签名和加密技术,确保支付过程的安全性和可信度,防止支付信息被篡改和伪造。
三、常见的密码学算法3.1 对称密码算法常见的对称密码算法有DES(Data Encryption Standard)、AES (Advanced Encryption Standard)和RC4等。
这些算法在加密和解密的速度上都较快,但密钥的管理较为困难。
3.2 非对称密码算法常见的非对称密码算法有RSA、DSA和ECC等。
这些算法在密钥的管理上更为灵活,但加密和解密的速度较慢。
3.3 哈希函数算法哈希函数算法用于将任意长度的数据转换为固定长度的摘要值。
古典密码1.密码的基本概念○1作为数学的一个分支,是密码编码学和密码分析学的统称○2密码编码学:使消息的技术和科学研究容:1、序列密码算法的编码技术2、分组密码算法的编码技术3、公钥密码体制的编码技术○3密码分析学:破译密文的科学和技术研究容:1、密码算法的安全性分析和破译的理论、方法、技术和实践2、密码协议的安全性分析的理论与方法3、安全系统的安全性分析和攻击的理论、方法、技术和实践2.密码体制的5构成要素:○1M:明文消息空间,表示所有可能的明文组成的有限集。
○2C:密文消息空间,表示所有可能的密文组成的有限集。
○3K:密钥空间,表示所有可能的密钥组成的有限集。
○4E:加密算法集合。
○5D:解密算法集合3.密码体制的分类:○1对称密匙密码系统加密密钥=解密密钥钥匙是的依赖密钥选择○2非对称密匙密码系统加密密钥≠解密密钥加密密钥为公钥(Public Key)解密密钥为私钥(Private Key)4.古典密码体制的算法○1棋盘密码希腊作家Polybius提出密钥空间:25○2移位密码○3代换密码○4维吉尼亚密码○5仿射密码:仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作,而且使用了乘法运算例题:1-1mod26=13-1mod26=95-1mod26=21 7-1mod26=1511-1mod26=19 17-1mod26=23 25-1mod26=25○6置换密码○7 Hill密码例题:5.密码分析的Kerckhoffs原则:攻击者知道所用的加密算法的部机理,不知道的仅仅是加密算法所采用的加密密钥6.常用的密码分析攻击分为以下四类:惟密文攻击已知明文攻击选择明文攻击选择密文攻击7.衡量密码体制安全性的基本准则:计算安全的可证明安全的无条件安全的分组密码8.分组密码的设计准则○1概念:又称块密码。
是指对固定长度的一组明文进行加密的一种加密算法,这一固定长度称之为分组长度○2在分组加密中,要求填充是可逆的○3严格的雪崩准则SAC 位独立准则BIG 保证的雪崩准则GAC 非线性性和随机性9.Feistel分组密码的基本结构:Shannon 能够破坏对密码系统进行各种统计分析攻击的两个基本操作:扩散和混淆10.Feistel安全性取决于:○1明文消息和密文消息分组的大小○2子密钥的大小○3循环次数○4子密钥产生算法○5轮函数(核心——非线性)11.数据加密标准——DES(Data Encryption Standard)○1包含16个阶段的“替换--置换”的分组加密算法经过16轮加密得到64位密文序列○2密钥的长度56位12.DES共8个s盒——6位输入4位输出13.高级加密标准AES(Advanced Encryption Standard)128位分组/密钥—10轮 192位分组/密钥—12轮 256位分组/密钥—14轮14.IDEA(International Data Encryption Algorithm:国际数据加密标准)64位分组 128位密钥 8轮15.分组密码的4种常用工作模式为:“工作模式”是指以某个分组密码算法为基础,解决对任意长度的明文的加密问题的方法电码本模式(Electronic-Codebook Mode,ECB模式)密码反馈模式(Cipher- Feedback Mode,CFB模式)密码分组模式(Cipher-Block-Chaining,CBC模式)输出反馈模式(Output-Feedback Mode,OFB模式)模式(计数器Counter Mode,CTR模式)16.分组密码的分析技术主要有以下几种:穷尽搜索攻击;差分密码分析攻击;线性密码分析攻击;17.18.序列密码的主要原理:通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列。
现代密码学中的数学原理与方法现代密码学是信息安全领域的重要分支,它的发展离不开数学的支持。
密码学的研究内容包括密码体制、密码算法、密码协议等三个方面。
其中,密码算法是密码学中最重要的研究内容之一,而密码算法的设计和分析,离不开数学的帮助。
在本文中,我们将着重介绍现代密码学中的数学原理与方法。
1. 离散数学离散数学是密码学中的基础学科之一,它包括离散数学理论、集合论、图论、逻辑学等多个分支。
在密码学应用中,离散数学主要用于构造数字信号处理、信息编解码等技术。
其中,离散算法是密码学中常用的技术之一,常见的算法有欧几里得算法、扩展欧几里得算法、RSA算法等。
这些算法中,欧几里得算法是一种求最大公约数的算法,扩展欧几里得算法是欧几里得算法的改进版,RSA算法则是一种基于离散对数的加密算法。
2. 群论群论是一种抽象和形式化的数学理论,它是密码学中最重要的数学分支之一。
在密码学中,群论主要应用于对称加密算法的设计和分析。
对称加密算法是一种加密和解密使用相同密钥的加密算法。
在对称加密算法中,密钥的加密和解密可以看做是一种群运算,而群的性质和结构,可以帮助设计出更加高效的对称加密算法。
常见的对称加密算法有DES、AES等,这些算法的设计和分析,离不开群论的帮助。
3. 模论模论是密码学中用于设计和分析公钥密码算法的一种数学分支。
公钥密码算法是指加密和解密使用不同密钥的加密算法。
在公钥密码算法中,模论主要是用于求解离散对数和计算模反演等问题。
离散对数问题是指对于一个小于模数的底数、指数和模数,求解出离散对数的问题;模反演问题是指对于两个整数a和m,求解x 使得ax ≡1(mod m)。
在公钥密码算法的设计中,常用到的模论技术有RSA算法、D-H算法、ECC算法等。
4. 椭圆曲线密码学椭圆曲线密码学是一种新兴的公钥密码算法,它比传统的公钥密码算法更加安全和高效。
椭圆曲线密码学基于椭圆曲线上的数学问题,如求解离散对数和计算模反演等问题,这些问题的损害概率比传统的素数分解问题更小。
第一章基本概念1.密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易;(2)在不知解密密钥的情况下,不可能由密文c 推知明文3、密码分析者攻击密码体制的主要方法:(1)穷举攻击(解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样)(3)解密变换攻击(解决方法:选用足够复杂的加密算法)4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文(4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:以上攻击都建立在已知算法的基础之上;以上攻击器攻击强度依次增加;密码体制的安全性取决于选用的密钥的安全性】第二章古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*q k Z kZ q Z q qq(1)加法密码加密算法:kX m Z Z YX q q ;,;对任意,密文为:qk m m E c k mod )()(密钥量:q (2)乘法密码加密算法:kX m Z Z YX qq ;,;*对任意,密文为:qkm m E ck mod )(解密算法:qc k c D mk mod )(1密钥量:)(q (3)仿射密码加密算法:),(;},,|),{(;21*2121k k kX mZ k Z k k k Z YX qq q 对任意;密文qm k k m E ck mod )()(21解密算法:qk c k c D m k mod )()(112密钥量:)(q q (4)置换密码加密算法:kX mZ Z YX q q ;,;对任意上的全体置换的集合为,密文)()(m m E ck 密钥量:!q 仿射密码是置换密码的特例3.几种典型的单表古典密码体制(1)Caeser 体制:密钥k=3 (2)标准字头密码体制:4.单表古典密码的统计分析(1)26个英文字母出现的频率如下:频率约为0.120.06到0.09之间约为0.04约0.015到0.028之间小于0.01 字母et,a,o,i.n,s,h,rd,lc,u,m,w,f,g ,y,p,b v,k,j,x,q,z【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算(1)简单加法密码加密算法:),...,(,),...,(,,11n nn n qn qnnk k kX m m mZ Z YX对任意设,密文:),...,()(11n nk k m k m m E c密钥量:nq(2)简单乘法密码密钥量:nq)(1.简单仿射密码密钥量:nnq q)(2.简单置换密码密钥量:nq )!((3)换位密码密钥量:!n (4)广义置换密码密钥量:)!(nq (5)广义仿射密码密钥量:nnr q 3.几种典型的多表古典密码体制(1)Playfair体制:密钥为一个5X5的矩阵加密步骤: a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
密码学知识点总结密码学的发展可以追溯到古代,古希腊和罗马就有使用密码进行通信的记录。
而现代密码学的起源可以追溯到二战期间,当时的盟军和轴心国都使用密码学来保护其通信内容。
随着计算机技术的发展,密码学变得更加重要和复杂,研究和应用领域也日益广泛。
在密码学中,有许多重要的概念和技术,下面我们将简要介绍一些主要的知识点。
1. 对称加密和非对称加密对称加密是指加密和解密使用相同的密钥的加密方式。
例如,最简单的对称加密算法是凯撒密码,使用一个固定的偏移量将字母替换成其他字母来加密。
而非对称加密则使用不同的密钥进行加密和解密,公钥用于加密,私钥用于解密。
非对称加密算法有RSA、椭圆曲线加密等。
对称加密的速度通常更快,而非对称加密更安全,因为加密和解密的密钥是分离的。
2. 数字签名数字签名是一种确保信息完整性和真实性的技术,它用于验证信息的发送者是合法的。
数字签名通过使用发送者的私钥对信息进行签名,接收者通过使用发送者的公钥来验证签名的有效性。
数字签名在电子支付、电子合同和网上交易中发挥了重要作用。
3. 哈希函数哈希函数是将任意长度的输入数据转换成固定长度的输出数据的一种函数。
哈希函数具有单向性和抗碰撞的特性,即不能通过哈希值还原出原始数据,且不同的输入数据产生相同的哈希值的可能性极小。
哈希函数在密码学中用于密码存储、数字签名、消息摘要等方面。
4. 加密协议加密协议是一种用于保护通信数据安全的协议。
例如,SSL/TLS协议用于在互联网上安全地传输数据,IPsec协议用于在网络层保护通信数据。
加密协议通常包括密钥交换、加密算法和认证机制。
5. 公钥基础设施(PKI)公钥基础设施是一种用于管理公钥和数字证书的框架。
PKI包括数字证书颁发机构(CA)、注册机构(RA)和证书库。
数字证书是用于验证公钥和身份的一种凭证,它通常包括了公钥、持有者的身份信息和数字签名。
密码学是一门广泛的学科,涉及到数学、计算机科学、信息安全等多个领域。
混合离散对数及安全认证摘要:近二十年来,电子认证成为一个重要的研究领域。
其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。
对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。
虽然其具有很高的安全性,却导致高负荷运算。
最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。
本文研究混合系数的离散对数问题,也即信息不可识别性。
我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。
我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。
最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。
1.概述在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。
然而,效率一直就是一个难以实现的属性。
即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。
其原因就是零知识协议的广泛应用。
身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。
然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。
最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。
然而,其约减的代价太高,使得其不适用于现实中的问题。
几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。
说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。
具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。
第一章 根本概念1. 密钥体制组成局部:明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:〔1〕明文和加密密钥计算密文容易;在密文和解密密钥计算明文容易; 〔2〕在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: 〔1〕穷举攻击 〔解决方法:增大密钥量〕〔2〕统计分析攻击〔解决方法:使明文的统计特性与密文的统计特性不一样〕 〔3〕解密变换攻击〔解决方法:选用足够复杂的加密算法〕 4、四种常见攻击〔1〕唯密文攻击:仅知道一些密文〔2〕明文攻击:知道一些密文和相应的明文〔3〕选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 〔4〕选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:①以上攻击都建立在算法的根底之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、根本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q〔1〕加法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k mod )()(+==②密钥量:q (2)乘法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k mod )(==②解密算法:q c k c D m k mod )(1-== ③密钥量:)(q ϕ (3)仿射密码 ①加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文q m k k m E c k mod )()(21+==②解密算法:q k c k c D m k mod )()(112-==-③密钥量:)(q q ϕ (4)置换密码 ①加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文)()(m m E c k σ==②密钥量:!q③仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】 〔二〕多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同〔1〕简单加法密码 ①加密算法:κκ∈=∈====),...,(,),...,(,,11n n n nq n q n n k k k X m m m Z Z Y X 对任意设,密文:),...,()(11n n k k m k m m E c ++==②密钥量:nq 〔2〕简单乘法密码 ①密钥量:n q )(ϕ 1.简单仿射密码 ①密钥量:n nq q)(ϕ2.简单置换密码①密钥量:n q )!( 〔3〕换位密码 ①密钥量:!n〔4〕广义置换密码 ①密钥量:)!(n q 〔5〕广义仿射密码 ①密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵 ②21m m 对应的密文21c c 确实定:21m m 和同行或同列,如此1c 为1m 后的字符,2c 为2m 后的字符;假如21m m 和既不同行也不同列,如此21c c 在21m m 所确定的矩形的其他两个角上,1c 和1m 同行,2c 和2m 同行。
现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
•现代密码学分类:•对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 •非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学•代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26)(2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26)(3)单表代换、多表代换Hill密码:(多表代换的一种)——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵}——加密c = p * K mod 26 解密p = c * K-1 mod 26Vigenere密码:查表解答(4)转轮密码机:•置换密码•••:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换•密码分析:•统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法•重合指数法• 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065• 实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲 密码学基础第一部分 密码学的信息论基础• Shannon 的保密通信系统模型发送者接收者信源分析者加密解密安全信道无噪信道安全信道MM MCK K密钥源发送者接收者信源分析者加密解密无噪信道安全信道MM MC KK ’密钥源无噪信道•一个密码体制是一个六元组:(P, C, K 1, K 2, E, D )P--明文空间 C--密文空间 K 1 --加密密钥空间K2 --解密密钥空间E --加密变换D --解密变换对任一k∈K1,都能找到k’∈K2,使得D k’ (E k (m))=m,m M. •熵和无条件保密•)(1log)()(≥=∑i iaixpxpXH设随机变量X={xi | i=1,2,…,n}, xi出现的概率为Pr(xi) ≧0, 且, 则X的不确定性或熵定义为熵H(X)表示集X中出现一个事件平均所需的信息量(观察前);或集X中每出现一个事件平均所给出的信息量(观测后).•设X={x i|i=1,2,…,n}, x i出现的概率为p(x i)≥0,且∑i=1,…,n p(x i)=1;Y={y i|i=1,2,…,m}, y i出现的概率为p(y i)≥0,且∑i=1,…,m p(y i)=1;则集X 相对于集Y的条件熵定义为•X视为一个系统的输入空间,Y视为系统的输出空间,通常将条件熵H(X|Y)称作含糊度,X和Y之间的平均互信息定义为:I(X,Y)=H(X)-H(X|Y)表示X熵减少量。
•完善保密的(无条件保密的)密码系统(P,C,K,E,D)系统满足或第二部分复杂性理论•算法计算复杂性常常用两个变量来度量:时间复杂度(计算复杂度)T和空间复杂度S •假设一个算法的计算复杂度为O(n t),其中t为常数,n为输入问题的长度,则称这算法的复杂度是多项式的。
具有多项式时间复杂度的算法为多项式时间算法。
•如果一个算法的复杂度为O(t f(n)),t为大于1的常数,f(n)是以n为自变量的多项式函数,则称该算法的复杂度是指数的。
当f(n)是大于常数而小于线性函数时,称为亚指数时间算法。
•如果一个判定问题存在解它的多项式时间的算法,则称该问题属于P类.如果一个判定问题不存在解它的多项式时间的算法,且对于一个解答可以在多项式时间验证其是否正确,则称该问题属于NP类.第四讲分组密码•DES算法•整体结构:Feistel结构• 给定明文,通过一个固定初始置换IP 来重排输入明文块P 中的比特,得到比特串P0=IP(P)=L0R0,这里L0和R0分别是P0的前32比特和后32比特 • 16轮迭代,密钥生成),(L R 1-R L 1i i i i i i K R f -⊕==按下述规则进行16次迭代,即1≤i ≤16 ⊕这里 是对应比特的模2加,f 是一个函数(称为轮函数);16个长度为48比特的子密钥K i (1≤i ≤16)是由密钥k 经密钥编排函数计算出来的.• 对比特串R 16L 16使用逆置换IP -1得到密文C ,即C=IP -1 (R 16L 16) • 注意:第十六轮迭代左右两块不交换• 分组密码的轮函数(f)• 长度为32比特串R i-1作为第一输入,以长度为48比特串K i 作为第二个输入,产生长度为32比特的输出 • 扩展置换(E 盒):32位输入扩展为48位输出:按照8行6列次序排列,从32,1,2……排列,上一行的后两位一次在下一行的起始位置得到重用。
•1()i i E R K-⊕密钥加:按位异或加,计算 • S 盒代换:DES 中唯一的非线性部分8个S 盒。
每个S 盒输入均为6位,输出为4位。
Bj=b 1b 2b 3b 4b 5b 6, b1b6确定行r 的二进制表示, b2b3b4b5确定列c 的二进制表示,行列确定唯一长度为4的二进制数字• P 置换:根据固定置换P(*)进行置换•DES算法的密钥编排算法•64比特密钥K,根据固定置换PC-1来处理K得到PC-1(K)=C0D0,C0和D0分别由最前和最后28比特组成(去除8,16,24,32,40,48,56,64这8位奇偶校验位)•对1≤i≤16,DES的每一轮中使用K的56比特中的48个比特(压缩方法:删除C中的9,18,22,25位和D中的7,9,15,26位)•计算C i=LS i(C i-1)和D i=LS i(D i-1),且K i=PC-2(C i D i),LS i表示循环左移两个或一个位置, 具体地, 如果i=1,2,9,16就移一个位置,否则就移两个位置, PC-2是另一个固定的置换。
•DES的解密与加密使用一样的算法,以密文y作为输入,以相反顺序使用密钥编排K16,K15,…,K1,输出的是明文X•DES算法的扩散•两轮扩散:•三轮扩散:从LO的一块数据影响开始•AES算法•⊕128位(16个字)输入明文,128位密钥长度,第一次迭代前明文密钥•AES算法整体结构:•AES算法的轮函数——Rijndael轮函数1)字节代换(SubByte)2)行移位(ShiftRow)3)列混合(MixColumn)4)密钥加(AddRoundKey)①字节代换:字节代换是非线形变换,独立地对状态的每个字节进行,代换表(即S-盒)是可逆的S盒可以由以下两步运算得到:•求输入元素在m(x)=x8+x4+x3+x+1 上的逆元;•对上步中所求得的逆元进行如下运算②行移位:行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同;第0行不移动;第1行左移1字节;第2行左移2字节;第3行左移3字节•列混合:其中:(00000010)*(a7a6a5a4a3a2a1a0)=( a6a5a4a3a2a1a00) ,a7为0;⊕ =( aa5a4a3a2a1a00) (00011011),a7为16(00000001)*(a7a6a5a4a3a2a1a0)= (a7a6a5a4a3a2a1a0)⊕(00000011)*(aa6a5a4a3a2a1a0)= (00000010)*(a7a6a5a4a3a2a1a0) (a7a6a5a4a3a2a1a0)7•密钥加:密钥加是将轮密钥简单地与状态进行逐比特异或;轮密钥由种子密钥通过密钥编排算法得到注:结尾轮函数将列混合这一步骤去掉•AES算法的密钥编排算法•密钥编排指从种子密钥得到轮密钥的过程,AES的密钥编排由密钥扩展和轮密钥选取两部分组成,基本原则如下:——轮密钥的总比特数等于轮数加1再乘以分组长度;((10+1)*128=1408)——种子密钥被扩展成为扩展密钥——轮密钥从扩展密钥中取,第1轮轮密钥取扩展密钥的前N b个字,第2轮轮密钥取接下来的N b个字•密钥扩展:——每一列的4个字节组成一个字——>对w数组扩充40个新列,构成总共44列扩展密钥数组,如下产生⊕(1)如果i不是4的倍数,那么w[i]=w[i-4] w[i-1]⊕(2)若果i是4的倍数,那么w[i]=w[i-4] T(w[i-1]) T为一个复杂的函数T函数由三个部分组成:字循环,字节代换和轮常量异或•字循环:将1个字中的4个字节循环左移1个字节。
即[b0 ,b1,b2,b3]变换成[b1,b2,b3,b4]•字节代换:对自循环的结果使用S盒(书上P112表4-15)•将前两步的结果同轮常量Rcon[j]进行异或,其中j表示轮数•轮密钥的选取W0W1W2W3W4W5W6W7。
W40W41W42W43。
轮密钥0轮密钥1轮密钥10•AES的解密变换•ByteSub的逆变换由代换表的逆表做字节代换•行移位运算的逆变换是循环右移,位移量与左移时相同•列混合运算的逆运算是类似的,即每列都用一个特定的多项式d(x)相乘d(x)=‘0B’x3+‘0D’x2+‘09’x+‘0E’.•密钥加运算的逆运算是其自身•AES算法的扩散第一轮第二轮总体• • 128比特明文128比特密文X i+3X i+2X i+1X i X i+3F 函数X 35X 34X 33X 32初始化赋值反序变换R32轮运算F ’函数rk i+3rk i+2rk i+1rk iCK irk i+4MKFK初始化赋值32轮运算•128比特明文分为4个32比特字,分别赋值给四个寄存器A 、B ,C ,D (D 为最高). (,,,,)()i i F D C B A rk A T B C D rk =⊕⊕⊕⊕()432(D,C,B,)2Z A ∈32i 2rk Z ∈进行32轮F 运算,设每轮输入为寄存器当前状态值 和轮密钥为 ,则轮函数F 为:3534333232333435()()R X X X X X X X X =35343332()X X X X 将寄存器最右边字A 的值移出,高三个字顺次右移32位,F 函数的输出赋值给最左边的寄存器字D.32轮的输出 进行反序变换R ,然后输出密文.•4123321(,,,;)()i i i i i i i i i i i F X X X X T rk rk X X X X X +++++++==⊕⊕⊕⊕轮函数F以字为单位进行运算,输入寄存器值和轮密钥合成置换T :是一个可逆变换,由非线性变换τ和线性变换L 复合而成, 即T(.)=L(τ(.)) 32103210(,,,)()((),(),(),())Y Sbox Sbox Sbox Sbox y y y y z z z z τ∈=非线性变换τ由4个并行的S 盒构成()(2)(10)(18)(24)W L Y Y Y Y Y Y ==⊕<<<⊕<<<⊕<<<⊕<<<线性变换L :•密钥编排算法• 0131()rk rk rk ,,......,加密密钥长度为128比特MK • 轮密钥表示为 ,•0131CK=(......)CK CK CK ,,,0123FK=()FK FK FK FK ,,, 为系统参数, 为固定参数,用于密钥扩展算法 • 密钥扩展算法:012301230123(,,,)=(,,,)FK FK FK FK K K K K MK MK MK MK ⊕⊕⊕⊕123(A3B1BAC6),(56AA3350),=(677D9197), (B27022DC) .FKFK FK FK ===T’变换与加密算法轮函数中的T 基本相同,只将其中的线性变换L 修改为()(13)(23)L Y Y Y Y '=⊕<<<⊕<<<固定参数CKi 的取值方法为:设为 的第j 字节(i=0,1,…,31;j=0,1,2,3,即则• 分组密码的运行模式 • 为了能在各种场合使用DES ,定义了4中DES 运行模式:ECB,CBC ,CFB,OFBAES 的另外一种运行模式:CTR• ECB 模式最简单的一种分组密码工作方式。