3密码的加密与解密

上传人:豆浆 文档编号:48991033 上传时间:2018-07-22 格式:PPT 页数:32 大小:282.50KB
返回 下载 相关 举报
3密码的加密与解密_第1页
第1页 / 共32页
3密码的加密与解密_第2页
第2页 / 共32页
3密码的加密与解密_第3页
第3页 / 共32页
3密码的加密与解密_第4页
第4页 / 共32页
3密码的加密与解密_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《3密码的加密与解密》由会员分享,可在线阅读,更多相关《3密码的加密与解密(32页珍藏版)》请在金锄头文库上搜索。

1、密码的加密与解密的数学模型密码学的基本概念 密码学基本模型发送方接收方Encryption 加密Decryption 解密加密:c= EK (m)解密:m= DK (c)不安全信道密码分析(Cryptanalysis)Plaintext 明文Key 解密密匙Key 加密密匙Plaintext 明文Ciphertext 密 文 明文用M(Message,消息)或P(Plaintext,明文 )表示,它可能是比特流、文本文件、位图、数字 化的语音流或者数字化的视频图像等。 密文用C(Cipher)表示,也是二进制数据,有时和 M一样大,有时稍大。通过压缩和加密的结合,C有 可能比P小些。 加密函数

2、E作用于M得到密文C,用数学公式表示为: E(M)=C。解密函数D作用于C产生M,用数据公式表 示为:D(C)=M。先加密后再解密消息,原始的明 文将恢复出来,D(E(M)=M必须成立。置换密码Caesar 密码 ABCDEFGHIGKLMNOPQRSTUVWXYZDEFGHIGKLMNOPQRSTUVWXYZABCCaesar was a great soldier密码本密文Fdhvdu zdv d juhdw vroglhu明文密文CAESAR 密码 : c=( m+ 3) Mod 26A B C D E F J H I J K 0 1 2 3 4 5 6 7 8 9 10仿射变换密码上面

3、移位置换密码的一个简单变种就是仿射变换密码, 其数学表示为在上面例子移位置换密码下,明文中相邻的字母对应的 密文字母也是相邻的,如A和B对应的密文字母分别为D和E, 但在仿射变换下, 对应的密文字母分别为 F(3*0+5)mod26=5=F)和I,它们有3个字母的间隔(a=3)例8.3假设下面是仿射变换加密的,试破译此文 FSFPR EDLFS HRLER KFXRS KTDMM PRRKF SFUXA FSDHK FSPVM RDSKA RLVUU RRIFE FKKAN EHOFZ FUKRE SVVS假设此问题由26个英文字母组成,取m=26.由于与26互素,a有12种 不同的取法,b有

4、26种不同的取法,所以放射变换有12*26=321种。 可采取穷举法来破译。可以用频率法,即密文中出现次数最多的字母与英文中最常见的字母 对应。在密文中 在平常统计中 F:出现12次 E:出现频率 13.04% R:出现12次 T:出现频率 13.04% S:出现9次 Z:出现频率 0.08% K:出现8次 GTGAE RCSGT KESRE RKLGU GXDER TMMT利用上述解密公式对密文进行解密得到:这是一串没有意义的字符串,解密失败最后破译文为 ANAME RICAN SECRE TAGEN TWILL MEETA NAFGH ANIST ANMOL EINTH ECOFF EEB

5、AR ATTHU RSDAY AFTER NOON 即AN AMERICAN SECRET AGENT WILL MEET AN AFGHANISTAN MOLE IN THE COFFEE BAR AT THURSDAY AFTERNOON 破译成功HILL密码q Hill2密码中所用的数学手段是矩阵运算。q 加密过程:1)将英文的26个字母与0到25之间的整数建立一一对应 关系,称为字母的表值,然后根据明文字母的表值,将 明文信息用数字表示。设明文信息只用26个大写字母表 示,通讯双方给出这26个字母的表值如下: ABCDEFGHIJKLM 2345678910 11 12NOPQRSTU

6、VW XYZ 13 14 15 16 17 18 19 20 21 22 23 24 252)选择一个二阶可逆整数方阵A,称为Hill2密码的加密矩阵,它是加密体制的“密钥”,是加密的关键,仅 通讯双方掌握。3)将明文字母分组。 Hill2 使用的是二阶矩阵,所以 将明文字母每2个一组(可以推广至Hilln密码),若最 后仅有一个字母,则补充一个没有实际意义的哑字母。 这样使得每组都有2个字母,查出每个字母的表值,构 成一个二维列向量 。4)令 ,由 的两个分量反查字母表值得到的 两个字母即为密文字母。q 解密过程:加密过程的逆过程。字母(明文)表值一组数分组向量A左 乘向量反查表值密文ILL

7、密码的数学模型例:设明文为“MEET求这段明文的 Hill2 密文。将明文分为: ME ET对应密文 UUQR设方阵 满足命题8.1的条件 容易验证对上面例子,det(A)=5,它与26互素,所以满足 8.1的条件,故A关于模26的逆为对密文UUQR进行解密得到即明文MEETHill密码的加密与解密过程类似于在n维向 量空间中进行线性变换及其逆变换。每个 明文向量是一个Zm上的n维向量,乘以加 密矩阵并对m取余,仍为Zm上的一个n维向 量。由于加密矩阵A为模m的可逆矩阵,所 以如果知道了n个线性无关的n维明文向量 及其对应的密文向量,就可以求出它的加 密矩阵A及其模m的逆矩阵A-1(mod)

8、例子详见P88,例8.5公开密钥系统Hill密码的加密和解密都只需要加密矩阵这个密钥就可以了。 这种系统称为单密钥系统。如果加密和解密使用两个不同的 密钥,则称为双密钥系统,也称为公开密钥系统。密钥的拥 有者将其中一个密钥公开,另一个保密。双密钥系统(1)W.Diffie 和 M.Hellman最早提出(2)R.L.Rivest, A.Shamir和 L.Adleman提出第一个方法双密钥系统的程序是这样的 收方先告诉发方如何把情报制成密码(敌人也听到) 发方依法发出情报的密文(敌人也可能收到密文) 收方将密码还原成原文(敌人却解不开密文)公钥密码系统的加密原理 每个通信实体有一对密钥(公钥,

9、私钥)。公钥公开, 用于加密,私钥保密,用作解密 A向B 发送消息,用B的公钥加密 B收到密文后,用自己的私钥解密PlainText加密 算法解密 算法ABcipherPlainTextB的私钥C的公钥B的公钥任何人向B发送信息都可以使用同一个密钥(B的公钥)加密没有其他人可以得到B 的私钥,所以只有B可以解密公钥密码系统的签名原理 A向B 发送消息,用A的私钥加密(签名) B收到密文后,用A的公钥解密(验证)PlainText加密 算法解密 算法cipherPlainTextABA的私钥A的公钥3.3.2 RSA算法简介 Ron Rivest, Adi Shamir , Leonard Ad

10、leman RSA的安全性基于大数分解的难度 RSA在美国申请了专利(已经过期),在 其他国家没有 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 = m mod n 如果 (a mod n )= (b mod n) ,则称a 与b 模n同 余,记为 a b mod n 例如, 23 8 mod 5

11、, 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 = (m mod n ) 2 mod n m4 mod n = (m2 mod n

12、 ) 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, 9,10| =10 如果p是素数,则(p)=p-1, 比如(2), (5),

13、(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 nRSA算法操作过程 密钥产生 1. 取两个大素数 p, q , 保密; 2

14、. 计算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=17n=119(n)=96选择e=55d=k961令 k=4, 得到 求得d=77RSA 算法加密/解密过程 密钥对(KU, KR): KU=e, n , KR=d, n 加密过程 把待加密的内容分成k比特的分组,k log2n,并写成数字,设为M,则: C= Me mod n 解密过程 M = Cd mod n 5,11977,119c=m5 mod 119m=c77 mod 119RSA加密过程举例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 =?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号