第2章密码学基础分析解析ppt课件.ppt
《第2章密码学基础分析解析ppt课件.ppt》由会员分享,可在线阅读,更多相关《第2章密码学基础分析解析ppt课件.ppt(187页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息系统安全第2章 密码学基础 2.1 密码学基础知识 2.2 古典替换密码 2.3 对称密钥密码 2.4 公开密钥密码 2.5 消息认证信息系统安全密码的起源 古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。 古希腊的斯巴达人曾将军事情报刻在普通的木板上,用石蜡填平,收信的一方只要用火烤热木板,融化石蜡后,就可以看到密信。信息系统安全 密码学用于通信的另一个记录是斯巴达人于公元前400年应用锥形指挥棒在军官间传递秘密信息。信息系统安全我国古代的藏头诗、藏尾诗、漏格诗 水浒传 “吴用智赚玉麒麟”一回中的诗 卢花滩上有扁舟,俊杰黄昏独自游。 义到尽头原是命,反躬逃难必无忧。 明代
2、怪杰徐文长: 平湖一色万顷秋, 湖光渺渺水长流。 秋月圆圆世间少, 月好四时最宜秋。信息系统安全 王先生:来信收悉,你的盛情真是难以报答。我已在昨天抵达广州。秋雨连绵,每天需备伞一把方能上街,苦矣。大约本月中旬我才能返回,届时再见。 王先生:来信收悉,你的盛情真是难以报答。我已在昨天抵达广州。秋雨连绵,每天需备伞一把方能上街,苦矣。大约本月中旬我才能返回,届时再见。信息系统安全密码学应用例子 在1962年的古巴导弹危机中,苏美剑拔弩张,形势严峻。据悉,美国人心生一计,故意用能被苏联截收、破译的密码告知其军队,准备与苏联开战。这一手果然吓住了赫鲁晓夫。 1994年, 美国的情报机构通过截获国际电
3、讯得知,法国与沙特阿拉伯正在进行一笔数亿美元的军火交易,美国先行一步从法国人手中抢下了这笔大生意。信息系统安全2.1 密码学基础知识2.1.1 引言密码学(Cryptology)是研究密码编制、密码破译和密钥管理的一门综合性应用科学。+密码编码学(Cryptography)密码分析学(Cryptanalytics)信息系统安全 伪装信息,使未授权者不能理解它的真实含义。 所谓伪装就是对信息进行一组可逆的数学变换。伪装前的原始信息称为明文(Plain Text), 伪装后的信息称为密文(Cipher Text),伪装的过程称为加密(Encrypt)。去掉伪装还原明文的过程称为解密(Decrypt
4、)。加密在加密密钥(Key)的控制下进行。解密在解密密钥的控制下进行。用于对数据加密的一组数学变换称为加密算法。用于对密文解密的一组数学变换称为解密算法,而且解密算法是加密算法的逆。 密码的基本思想信息系统安全 明文(plaintext):信息的原始形式,一般是信息的基本单元(字母、数字或符号等)的有限排列; 密文(cipher):明文经过加密以后的结果形式 加密变换(encryption) :从明文到密文的变换过程 解密变换(decryption) :从密文还原成明文的过程 加密算法:对明文进行加密时采用的一组规则。 解密算法:对密文进行解密时采用的一组规则。 密钥(key):用于加解密变换
5、的关键信息,视其用于加解密而分别称为加密密钥与解密密钥;信息系统安全2.1.2 密码体制加密函数E作用于明文M得到密文C,用数学表示为: E(M)=C. 相反地,解密函数D作用于C产生M D(C)=M. 先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立: D(E(M)=M信息系统安全明文明文加密算法解密算法信道CMMC攻击者加密钥解密钥KeKd信息系统安全2.1.3 密码分类(1)古典密码v 密码学还不是科学,而是艺术v 出现一些密码算法和加密设备v 简单的密码分析手段出现v 主要特点:数据的安全基于算法的保密古典密码的加密方法一般是代换与置换,使用手工或机械变换的方式实现。信息系
6、统安全古典密码的代表密码体制主要有:单表代替密码:Caesar密码;多表代替密码:Playfair密码、Hill密码、Vigenere密码;转轮密码:著名的Enigma密码,第二次世界大战中使用过。(1)古典密码信息系统安全20世纪早期的密码机信息系统安全2.1.3 密码分类(2)对称密钥密码v传统密码/常规密码/私钥密码/单钥密码v发送方和接收方共享一个共同的密钥v所有的传统密码算法都是私钥密码v20世纪70年代以前私钥密码是唯一类型v至今仍广泛应用对称密钥密码指加密过程和解密过程使用同一个密钥来完成。信息系统安全对称密钥密码模型信息系统安全 按照加密方式不同,对称密钥密码体制被分为流密码(
7、Stream Cipher)(或称序列密码)分组密码(Block Cipher)区别是:流密码是将明文消息按字符逐位加密;分组密码是将明文消息先进行分组,再逐组加密。 信息系统安全常用的密码分析攻击种类 已知:C1=EK(P1),C2=EK(P2),CI=EK(Pi)推导出:P1,P2,Pi;K或找出一个算法从Ci+1= EK(Pi+1)推出Pi+1 (1)唯密文攻击 v密码分析者有一些都用同一加密算法加密的密文,密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密消息的密钥来,以便可采用相同的密钥解出其他被加密的消息。信息系统安全(2)已知明文攻击 v密码分析者不仅可得到一些消息的密
8、文,而且也知道这些消息的明文。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。已知:P1,C1=Ek(P1),P2,C2=Ek(P2),Pi,Ci=Ek(Pi)推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法。信息系统安全(3)选择明文攻击 v 分析者不仅可得到一些消息的密文和相应的明文,而且他们也可选择被加密的明文。这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去加密,那些块可能产生更多关于密钥的信息,分析者的任务是推出用来加密消息的密钥或导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。
9、已知:P1,C1=Ek(P1),P2,C2=Ek(P2),Pi,Ci=Ek(Pi)其中P1,P2,Pi是由密码分析者选择的。推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法。信息系统安全(4)自适应选择明文攻击 v 这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的明文,而且也能基于以前加密的结果修正这个选择。在选择明文攻击中,密码分析者还可以选择一大块被加了密的明文。而在自适应选择密文攻击中,他可选取较小的明文块,然后再基于第一块的结果选择另一明文块,以此类推。信息系统安全(5)选择密文攻击v 密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,例如密码分析
10、者存取一个防窜改的自动解密盒,密码分析者的任务是推出密钥。(6)选择密钥攻击v 这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间的关系的有关知识。这种方法有点奇特和晦涩,不是很实际 ,在此不作介绍。信息系统安全2.2 古典替换密码2.2.1 简单代替密码v代替密码就是明文中每一个字符被替换成密文中的另外一个字符。接收者对密文进行逆替换就恢复出明文来。v简单代替密码就是明文的一个字符用相应的一个密文字符代替。信息系统安全(1) 移位密码“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母
11、D,将字母B换作字母E。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。 假如有这样一条指令: RETURN TO ROME 用恺撒密码加密后就成为: UHWXUA WR URPH 信息系统安全 替代密码(substitution cipher)的原理可用一个例子来说明。 abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABCcaesar cipherFDHVDU FLSKHU明文密文明文a变成了密文D信息系统安全(2) 乘数密码乘数密码的加密变换为Ek(m)= k * m mod q ,gcd(k,q)=1这种密码也称
12、采样密码, 是将明文字母表按序号每隔k位取出一个字母排列而成密文(字母表首尾相连)。显然,当(k,q)=1, 即k与q互素时才是一一对应的。信息系统安全为什么必须互素?v 素数也叫质数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数。v 若N个整数的最大公因数是1,则称这N个整数互质。例如8,10的最大公因数是2,不是1,因此不是整数互质。7,10,13的最大公因数是1,因此这是整数互质,也称为互素。信息系统安全v Ek(m)= k * m mod q ,gcd(k,q)=1v 以英文字母为例q为26,假设 k=13 v 0= 13*2 mod 26=13*4 mod 26
13、=v m可以为任何2的倍数,导致无法解密为什么必须互素?信息系统安全选k=9,则由明文密文字母对应表明文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文:A J S B K T C L U D M V E N W F O X G P Y H Q Z I R 于是对明文:Multiplicativer cipher有密文: EYVPUFVUSAPUHK SUFLKX。 信息系统安全(3) 仿射密码加法和乘法相结合,移位密码和乘数密码的结合。Ek(m)=(k1m+k2) mod q 其中, (k1, q)=1, 以k1, k2表示密钥。当
14、k2=0时就得到乘数密码,当k1=1时就得到位移密码,q=26时可能的密钥数为2612-1=311个。k1取值范围 (1,3,5,7,9,11,15,17,19,21,23,25)信息系统安全(4) 基于统计的密码分析v简单代替密码由于使用从明文到密文的单一映射,所以明文字母的单字母出现频率分布与密文中相同,可以很容易地通过使用字母频率分析法进行只有密文的攻击。信息系统安全2.2.2 多表代替密码v 多表代替密码是一系列(两个以上)代换表依次对明文信息的字母进行代换的加密方法。 v 令明文字母表为Zq,令=(1, 2, )为代换序列,明文字母序列为m=m1,m2, , 则相应的密文字母序列为c
15、=Ek(m)=(m)=1(m), 2(m), ,若为非周期的无限序列,则相应的密码为非周期多表代换密码,否则,为周期多表代换密码。 v 一次一密密码信息系统安全v维吉尼亚是法国的密码专家,以他的名字命名的维吉尼亚密码加密算法是多表密码的典型代表。代表:维吉尼亚密码 加密方式一:数学公式计算 设明文 P = p1p2pn,密钥 k = k1k2kn,密文C = c1c2cn 加密:ci= pi+ki (mod 26),=1,2,n; 说明:若明文长度大于n,则k重复使用。信息系统安全 加密方式二:查表法 (密钥k,明文P)密文C34信息系统安全 加密过程:P“encode and decode”
16、,k“mykey”字母序号字母序号encodeanddecode明文编码明文编码P =4132143401333421434密钥编码密钥编码k =122410424122410424122410424加密加密C =1637121827162423727162624728模运算模运算111102密文密文C =QLMSBQYXHBQAYHC35信息系统安全 解密过程: C“QLMSBQYXHBQAYHC”,k“mykey”字母序号字母序号123456789101112131415密文编码密文编码C=161112181162423711602472密钥编码密钥编码k=1224104241224104
17、24122410424加密加密C=4-13214-2340133-234-24143-22模运算模运算133324密文解码密文解码C=encodeanddecode36信息系统安全v 强度在于:每个明文字母对应着多个密文字母,明、密文字母不是一一对应关系v 字母的统计规律进一步降低本人建议:密钥与明文一样长Caesar密码37信息系统安全攻击:首先作单表代换假设,用频率分析方法然后猜测Vigenre密钥关键字长度 密钥: deceptivedeceptivedeceptive 明文: wearediscoveredsaveyourself 密文: Z I CVTWQNGRZGVTWAVZHCQ
18、YGLMGJ反攻击:用与消息一样长的非周期性的密钥。相应的攻击:密钥和明文有相同的字母频率分布对抗技术:选择与明文一样长而且没有统计关系的密钥。技术的关键:密钥构造方法。Vernam密码:用循环的带子构造密钥。(最终密钥还是重复)信息系统安全2.2.3 换位密码在换位密码中,明文的字母保持相同,但顺序被打乱了。Plaintext:COMPUTERGRAPHICSMAYBESLOWBUTATLEASTITSEXPENSIVECOMPUTERGRAPHICSMAYBESLOWBUTATLEASTITSEXPENSIVECiphertext:CAELPOPSEEMHLANPIOSSUCWTITSBI
19、VEMUTERATSGYAERBTX信息系统安全换位加密法(1)Skytail Skytail 示例示例给定消息THIS IS FUNNY S T F H U I N S N I YTHISISFUNNY信息系统安全换位加密法(2) Double ColumnDouble Column示例示例CTARMRILISNPNOHEYOGTHONPNNHONPCMRATTGOYEETGOYMRATCSILIRRSILITIYPRIGORIGOMSTHCRENALONMSTHCRENTIYPALON信息系统安全换位加密法(3)RAIL-FENCE RAIL-FENCE 加密法加密法明文: this is
20、 a test密文: tiehsstsiat按按zigzag模式模式填写;密文填写;密文按行提取按行提取thtisitasse信息系统安全Turning Grilles 旋转方格:德军在一战中使用过的方法n = 4v2 构造方形棋盘 (2v 行和列)V=3123456789987654321987654321987654321234567891Result:换位加密法(4)信息系统安全 加密htisisatehtisisatestofthemestofthemethodokyouthodokyouaredonenoaredonenoThisisatestofthemethodokyouared
21、onenon信息系统安全解密:对密文旋转格子,即可读出明文htisisatestofthemethodokyouaredonenoThisisatestofthemethodokyouaredonenon信息系统安全2.3 对称密钥密码v对称密钥密码又称单密钥密码,建立在通信双方共享密钥的基础上,是加密密钥和解密密钥为同一个密钥的密码系统。v 现代密码系统依赖于具体用户的一个或多个密钥 ,而不依赖其算法的保密性 。v 在确定密码系统强度和加密无法通过密码分析技术破解的可能性中,密钥的长度始终是一个非常重要的因素。 信息系统安全信息系统安全2.3.1 对称密钥密码加密模式(1)流密码(序列密码)
22、原理:对输入的明文串按比特进行连续变换,产生连续的密文输出。算法计算流程是对明文消息按一定长度进行分组划分,利用密钥k通过有限状态机产生伪随机序列,使用该序列作为加密分组明文消息的系列密钥,对各分组用系列不同的密钥逐比特进行加密得到密文序列。信息系统安全v 流密码算法 Stream Cipher 每次可以加密一个比特 适合比如远程终端输入等应用v 流密码可用伪随机数发生器实现 密钥做为随机数种子,产生密钥流keystream (不重复,或极大周期) XOR (plaintext,key-stream )v One-time Pad信息系统安全专题:XOR异或也叫半加运算,其运算法则相当于不带进
23、位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:00=0,10=1,01=1,11=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。z=x yz=xxoryv 异或运算,英文为exclusive OR。它应用于逻辑运算,异或的数学符号为“”,计算机符号为“xor”。其运算法则为:ab = (a b) (a b)两个值不相同,则异或结果为真。反之,为假。 不同为1,相同为0。异或,就是“看看你们到底一样不一样。不一样就为1,一样就为0。”信息系统安全若x是二进制数0101,y是二进制数1011 则xy=1110部分计算机语言用1表示真,用0表示假,所以两个字节按位异
24、或如下 00000000 xor 00000000-00000000 下面是两个二进制数值进行异或计算: 11111111xor00000000-11111111信息系统安全1.进行异或计算前会把数值都转换为二进制的:5和2转为二进制分别为:0101 、0010 0101 xor 0010 - 0111 2.再把结果 0111 转换为十进制的:73.所以 5 2 = 75 2 = ?信息系统安全v 流密码的思想起源密钥流生成器种子密钥明文m1k1c1m2k2c2加密过程信息系统安全密钥流生成器种子密钥密文c1k1m1c2k2m2解密过程v 流密码的思想起源信息系统安全 设明文为m=m1m2 m
25、iGF(2), i0 设密钥为k=k1k2 kiGF(2), i0 设密文为c=c1c2 ciGF(2), i0 则加密变换为ci mi + ki (mod 2) i0 则解密变换为mi ci+ ki (mod 2) i0v 流密码的思想起源信息系统安全 思想起源:20世纪20年代的Vernam体制, 即“一次一密”密码体制。香农利用信息论证明“一次一密”密码体制在理论上不可破译 由有限的种子密钥生成无限长的随机密钥序列 流密码研究内容设计安全高效的伪随机伪随机序列发生器密钥流生成、存储和分发困难随机序列计算机无法实现评测标准:线性复杂度高;周期大v 流密码的思想起源信息系统安全什么是伪随机序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 基础 分析 解析 ppt 课件
限制150内