密码的加密与解密模型.ppt

上传人:dealItalian200 文档编号:385044 上传时间:2018-10-10 格式:PPT 页数:32 大小:386.50KB
下载 相关 举报
密码的加密与解密模型.ppt_第1页
第1页 / 共32页
密码的加密与解密模型.ppt_第2页
第2页 / 共32页
密码的加密与解密模型.ppt_第3页
第3页 / 共32页
密码的加密与解密模型.ppt_第4页
第4页 / 共32页
密码的加密与解密模型.ppt_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、密码的加密与解密的 数学模型,Author: C. Z. Niu Office: #1-403 Email: ,密码学的基本概念,密码学基本模型,加密:,解密:,先加密后再解密消息,原始的明文将恢复出来,D(E(M)=M.,密文用C(Cipher)表示,也是二进制数据,有时和M一样大,有时稍大.通过压缩和加密的结合,C有可能比P小些.,明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位图、数字化的语音流或数字化的视频图像等.,加密函数E作用于M得到密文C,用数学公式表示为:E(M)=C.,解密函数D作用于C产生M,用数据公式表示为:D(C)=M.

2、,置换密码,Caesar 密码,ABCDEFGHIJKLMNOPQRSTUVWXYZ,DEFGHIGKLMNOPQRSTUVWXYZABC,Caesar was a great soldier,密码本,密文,Fdhvdu zdv d juhdw vroglhu,明文,密文,CAESAR 密码 : c=( m+ 3) Mod 26,仿射变换密码,上面移位置换密码的一个简单变种就是仿射变换密码, 其数学表示为,在上面例子移位置换密码下,明文中相邻的字母对应的 密文字母也是相邻的,如A和B对应的密文字母分别为D和E, 但在仿射变换下, 对应的密文字母分别为F(3*0+5)mod26=5=F)和I,它

3、们有3个字母的间隔(a=3),例,假设下面是仿射变换加密的,试破译此文 FSFPR EDLFS HRLER KFXRS KTDMM PRRKF SFUXA FSDHK FSPVM RDSKA RLVUU RRIFE FKKAN EHOFZ FUKRE SVVS,假设此问题由26个英文字母组成,取m=26.由于与26互素,a有12种 不同的取法,b有26种不同的取法,所以放射变换有12*26=321种。 可采取穷举法来破译。可以用频率法,即密文中出现次数最多的字母与英文中最常见的字母 对应。在密文中 在平常统计中 F:出现12次 E:出现频率 13.04% R:出现12次 T:出现频率 13.0

4、4% S:出现9次 Z:出现频率 0.08% K:出现8次,GTGAE RCSGT KESRE RKLGU GXDER TMMT,利用上述解密公式对密文进行解密得到:,这是一串没有意义的字符串,解密失败!,最后破译文为 ANAME RICAN SECRE TAGEN TWILL MEETA NAFGH ANIST ANMOL EINTH ECOFF EEBAR ATTHU RSDAY AFTER NOON 即AN AMERICAN SECRET AGENT WILL MEET AN AFGHANISTAN MOLE IN THE COFFEE BAR AT THURSDAY AFTERNOON

5、 破译成功,HILL密码,Hill2密码中所用的数学手段是矩阵运算。,加密过程:,1)将英文的26个字母与0到25之间的整数建立一一对应关系,称为字母的表值,然后根据明文字母的表值,将明文信息用数字表示。设明文信息只用26个大写字母表示,通讯双方给出这26个字母的表值如下:,2)选择一个二阶可逆整数方阵A,称为Hill2密码的加密矩阵,它是加密体制的“密钥”,是加密的关键,仅通讯双方掌握。,3)将明文字母分组。 Hill2 使用的是二阶矩阵,所以将明文字母每2个一组(可以推广至Hilln密码),若最后仅有一个字母,则补充一个没有实际意义的哑字母。这样使得每组都有2个字母,查出每个字母的表值,构

6、成一个二维列向量 。,4)令 ,由 的两个分量反查字母表值得到的两个字母即为密文字母。,解密过程:加密过程的逆过程。,字母(明文),表值,一组数,分组,向量,A,左乘,向量,反查表值,密文,ILL密码的数学模型,例:设明文为“MEET”, 求这段明文的 Hill2 密文。,将明文分为: ME ET,对应密文 UUQR,对应的列向量为,左乘矩阵A后的向量为,关于26取模,设方阵 满足命题1的条件 容易验证,对上面例子,det(A)=5,它与26互素,所以满足 命题1的条件,故A关于模26的逆为,对密文UUQR进行解密得到,即明文MEET,Hill密码的加密与解密过程类似于在n维向量空间中进行线性

7、变换及其逆变换。每个明文向量是一个Zm上的n维向量,乘以加密矩阵并对m取余,仍为Zm上的一个n维向量。由于加密矩阵A为模m的可逆矩阵,所以如果知道了n个线性无关的n维明文向量及其对应的密文向量,就可以求出它的加密矩阵A及其模m的逆矩阵A-1(mod),公开密钥系统,Hill密码的加密和解密都只需要加密矩阵这个密钥就可以了。 这种系统称为单密钥系统。如果加密和解密使用两个不同的 密钥,则称为双密钥系统,也称为公开密钥系统。密钥的拥 有者将其中一个密钥公开,另一个保密。双密钥系统(1)W.Diffie 和 M.Hellman最早提出(2)R.L.Rivest, A.Shamir和 L.Adlema

8、n提出第一个方法双密钥系统的程序是这样的 收方先告诉发方如何把情报制成密码(敌人也听到) 发方依法发出情报的密文(敌人也可能收到密文) 收方将密码还原成原文(敌人却解不开密文),公钥密码系统的加密原理,每个通信实体有一对密钥(公钥,私钥)。公钥公开,用于加密,私钥保密,用作解密 A向B 发送消息,用B的公钥加密 B收到密文后,用自己的私钥解密,任何人向B发送信息都可以使用同一个密钥(B的公钥)加密 没有其他人可以得到B 的私钥,所以只有B可以解密,公钥密码系统的签名原理,A向B 发送消息,用A的私钥加密(签名) B收到密文后,用A的公钥解密(验证),PlainText,加密 算法,解密 算法,

9、cipher,PlainText,A,B,A的私钥,A的公钥,3.3.2 RSA算法简介,Ron Rivest, Adi Shamir , Leonard Adleman(麻省理工学院) RSA的安全性基于大数分解的难度,数论基础,a与b的最大公因数:gcd (a, b) gcd(20, 24)=4 , gcd (15, 16)=1 如果gcd(a, b)=1 ,称a与b 互素 模运算 mod a= q n +r 0rn ; q=a/n ;x 表示小于或等于x的最大整数 a=a/nn + (a mod n) , r = a mod n 如果 (a mod n )= (b mod n) ,则称a

10、 与b 模n同余,记为 a b mod n 例如, 23 8 mod 5 , 8 1 mod 7,数论基础(续),模运算是可交换的、可结合的、可分配的,(a+b) mod n = (a mod n ) + (b mod n) ) mod n (a-b) mod n = ( (a mod n) (b mod n) ) mod n (ab) mod n = ( (a mod n ) (b mod n) ) mod n (a (b+c) ) mod n = (( a b) mod n + (a c) mod n) mod n,幂,模运算 ma mod n,m2 mod n = (mm) mod n

11、= (m mod n ) 2 mod n m4 mod n = (m2 mod n ) 2 mod nm8 mod n = ( (m2 mod n )2 mod n )2 mod n m25 mod n = (m m8 m16) mod n,数论基础(续),欧拉函数(n) n是正整数,(n) 是比n小且与n 互素的正整数的个数 (3)=|1, 2| =2 (4)=|1, 3| =2 (5)=|1, 2, 3, 4 | =4 (6)=|1, 5| =4 (7)=|1, 2, 3, 4, 5, 6| =6 (10)=|1, 3, 7, 9| =4 (11)=|1, 2,3,4,5,6, 7,8,

12、9,10| =10 如果p是素数,则(p)=p-1, 比如(2), (5), (11) 如果p,q 是素数,则(pq)=(p)*(q)(p-1)*(q-1) 。比如,(10)= (2*5)=(2)(5)=1*4=4,数论基础(续),例如:m=3, n=10; (10)=4m(n)=34=81 ; 81 mod 10 = 1即 81 1 mod 1034+1 = 243 3 mod 10,欧拉定理若整数m 和n 互素,则,等价形式,数论基础(续),推论:给定两个素数p, q , 两个正整数 n, m ,使得n=pq, 0mn ; 则对于任意正整数k ,下列关系成立:m k(n)+1 m mod

13、n,RSA算法,密钥产生 1. 取两个大素数 p, q , 保密; 2. 计算n=pq,公开n; 3. 计算欧拉函数(n) =(p-1)(q-1); 4. 任意取一个与(n) 互素的小整数e, 即 gcd (e, (n) )=1; 1e (n)e作为公钥公开; 5. 寻找d, 使得 de 1 mod (n) , ed =k (n) +1 d 作为私钥保密。,p=7,q=17,n=119,(n)=96,选择e=5,5d=k961,令 k=4, 得到 求得d=77,RSA 算法加密/解密过程,密钥对(KU, KR): KU=e, n , KR=d, n 加密过程 C= Me mod n 解密过程

14、M = Cd mod n,5,119,77,119,c=m5 mod 119,m=c77 mod 119,上述算法需要满足以下条件: (1) 能够找到e,d,n,使得Mde mod n = M, 对所有Mn (2) 计算Me和Cd相对容易 (3) 从e和n得到d是在计算上不可行的,RSA加密过程举例,p=7,q=17, n=7*17=119 (n)=(7-1)(17-1)=96 选 e=5, gcd (e, (n) = gcd (5, 96)=1; 寻找 d,使得 ed 1 mod 96 , 即 ed= k*96+1, 取 d= 77 公开(e,n)=(5, 119) 将d 保密,丢弃p, q; 加密:m=19 19 5 66 mod 119 , c= 66 解密 6677 mod 119 =?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1