信息安全原理与应用-密码学基础课件.ppt
《信息安全原理与应用-密码学基础课件.ppt》由会员分享,可在线阅读,更多相关《信息安全原理与应用-密码学基础课件.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 信息安全原理与应用信息安全原理与应用第二章第二章 密码学基础密码学基础本章由王昭主写本章由王昭主写2内容提要内容提要基本概念和术语基本概念和术语密码学的历史密码学的历史古典密码古典密码3基本概念基本概念密码学密码学(Cryptology):是研究信息系统安全保是研究信息系统安全保密的科学密的科学。密码编码学密码编码学(Cryptography):主要研究对信息主要研究对信息进行编码,实现对信息的隐蔽进行编码,实现对信息的隐蔽。密码分析学密码分析学(Cryptanalytics):主要研究加密消主要研究加密消息的破译或消息的伪造息的破译或消息的伪造。4基本术语基本术语消息被称为消息被称为明文
2、明文(Plaintext)。用某种方法伪装消息以隐。用某种方法伪装消息以隐藏它的内容的过程称为藏它的内容的过程称为加密加密(Encrtption),被加密的消,被加密的消息称为息称为密文密文(Ciphertext),而把密文转变为明文的过程,而把密文转变为明文的过程称为称为解密解密(Decryption)。对明文进行加密操作的人员称作对明文进行加密操作的人员称作加密员加密员或或密码员密码员(Cryptographer)。密码算法密码算法(Cryptography Algorithm):是用于加密和解密是用于加密和解密的数学函数。的数学函数。密码员对明文进行加密操作时所采用的一组规则称作密码员对
3、明文进行加密操作时所采用的一组规则称作加密算法加密算法(Encryption Algorithm)。所传送消息的预定对象称为所传送消息的预定对象称为接收者接收者(Receiver)。接收者对密文解密所采用的一组规则称为接收者对密文解密所采用的一组规则称为解密算法解密算法(Decryption Algorithm)。5凯撒密表凯撒密表公元前公元前54年,古罗马长官凯撒年,古罗马长官凯撒明文字母明文字母 abcdefghijklmnopqrstuvwxyz密文字母密文字母 DEFGHIJKLMNOPQRSTUVWXYZABC有一个拉丁文句子有一个拉丁文句子omnia gallia est divi
4、sa in partes tres (高卢全境分为三个部分)高卢全境分为三个部分)RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV把明文的拉丁字母逐个代之以相应的希腊字母把明文的拉丁字母逐个代之以相应的希腊字母6 加解密过程示意图加解密过程示意图加密和解密算法的操作通常都是在一组密钥的加密和解密算法的操作通常都是在一组密钥的控制下进行的控制下进行的,分别称为分别称为加密密钥加密密钥(Encryption Key)和和解密密钥解密密钥(Decryption Key)。7 密码学的目的密码学的目的:A和和B两个人在不安全的信道上进行两个人在不安全的信道上进行通信,而攻击
5、者通信,而攻击者O不能理解他们通信的内容。不能理解他们通信的内容。加密通信的模型加密通信的模型8密码体制密码体制密码体制密码体制:它是一个五元组(:它是一个五元组(P,C,K,E,D)满足条件:满足条件:(1)P是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)(3)K是一切可能密钥构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)(4)任意)任意k K,有一个加密算法有一个加密算法 和相应的解密算和相应的解密算法法 ,使得,使得 和和 分别为加密解密分别为加密解密函数,满足函数,满足dk(e
6、k(x)=x,这里这里 x P。9密码算法分类密码算法分类-i按照保密的内容分按照保密的内容分:受限制的(受限制的(restricted)算法算法:算法的保密性基于保持算法的保密性基于保持算法的秘密。算法的秘密。基于密钥(基于密钥(key-based)的算法的算法:算法的保密性基于对算法的保密性基于对密钥的保密。密钥的保密。10密码算法分类密码算法分类-ii基于密钥的算法,按照密钥的特点分类:基于密钥的算法,按照密钥的特点分类:对称密码算法(对称密码算法(symmetric cipher):又称:又称传统密码算法传统密码算法(conventional cipher),就是加密密钥和解密密钥相同
7、,就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称或实质上等同,即从一个易于推出另一个。又称秘密秘密密钥算法密钥算法或或单密钥算法单密钥算法。非对称密钥算法(非对称密钥算法(asymmetric cipher):加密密钥和解加密密钥和解密密钥不相同,从一个很难推出另一个。又称密密钥不相同,从一个很难推出另一个。又称公开密公开密钥算法(钥算法(public-key cipher)。公开密钥算法用一个密钥进行加密公开密钥算法用一个密钥进行加密,而用另一个进行解而用另一个进行解密密.其中的加密密钥可以公开其中的加密密钥可以公开,又称又称公开密钥(公开密钥(public key)
8、,简称,简称公钥公钥。解密密钥必须保密解密密钥必须保密,又称又称私人密钥私人密钥(private key)私钥私钥,简称简称私钥私钥。11密码算法分类密码算法分类-iii按照明文的处理方法:按照明文的处理方法:分组密码(分组密码(block cipher):将明文分成固定长度的组,将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度用同一密钥和算法对每一块加密,输出也是固定长度的密文。的密文。流密码(流密码(stream cipher):又称又称序列密码序列密码。序列密码每序列密码每次加密一位或一字节的明文,也可以称为流密码。次加密一位或一字节的明文,也可以称为流密码。序列密
9、码是手工和机械密码时代的主流序列密码是手工和机械密码时代的主流12密码算法分类密码算法分类-iv对称密钥密码又可分为:对称密钥密码又可分为:分组密码分组密码 每次对一块数据加密每次对一块数据加密 多数网络加密应用多数网络加密应用 DES、IDEA、RC6、Rijndael流密码流密码 每次对一位或一字节加密每次对一位或一字节加密 手机手机 One-time padding、Vigenre、Vernam13密码算法分类密码算法分类-v公开密钥密码公开密钥密码:大部分是分组密码,只有概率密码体制属于流密码大部分是分组密码,只有概率密码体制属于流密码 每次对一块数据加密每次对一块数据加密 数字签名数
10、字签名,身份鉴别身份鉴别 RSA、ECC、ElGamal 加密解密速度慢加密解密速度慢14Kerckhoff原则原则1883年年Kerchoffs第一次明确提出了编码的原则:加密第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全的算法应建立在算法的公开不影响明文和密钥的安全的基础上。基础上。这一原则已得到普遍承认,成为判定密码强度的衡量这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和现代密码的分界线。标准,实际上也成为古典密码和现代密码的分界线。15密码分析密码分析假设破译者假设破译者O是在已知密码体制的前提下来破译正在是在已知密码体制的前提
11、下来破译正在使用的密钥,这个假设称为使用的密钥,这个假设称为Kerckhoff原则。最常见的原则。最常见的破解类型如下:破解类型如下:唯密文攻击:唯密文攻击:O具有密文串具有密文串y。已知明文攻击已知明文攻击:O具有明文串具有明文串x和相应的密文和相应的密文y。选择明文攻击:选择明文攻击:O可获得对加密机的暂时访问,可获得对加密机的暂时访问,因此因此他能选择明文串他能选择明文串x并构造出相应的密文串并构造出相应的密文串y。选择密文攻击选择密文攻击:O可暂时接近密码机可暂时接近密码机,可选择密文串可选择密文串y,并构造出相应的明文,并构造出相应的明文x。这一切的目的在于这一切的目的在于破译出密钥
12、或密文破译出密钥或密文16 内容提要内容提要基本概念和术语基本概念和术语密码学的历史密码学的历史古典密码古典密码17密码学的起源和发展密码学的起源和发展-i三个阶段:三个阶段:1949年之前年之前 密码学是一门艺术密码学是一门艺术19491975年年 密码学成为科学密码学成为科学1976年以后年以后 密码学的新方向密码学的新方向公钥密码学公钥密码学18密码学的起源和发展密码学的起源和发展-ii1949年之前年之前:古典密码(古典密码(classical cryptography)密码学还不是科学密码学还不是科学,而是艺术而是艺术 出现一些密码算法和加密设备出现一些密码算法和加密设备 密码算法的
13、基本手段密码算法的基本手段代替代替&置换置换(substitution&permutation)出现出现,针对的是字符,针对的是字符 简单的密码分析手段出现简单的密码分析手段出现19密码学的起源和发展密码学的起源和发展-iii19491975年年:计算机使得基于复杂计算的密码成为可能计算机使得基于复杂计算的密码成为可能1949年年Shannon的的“The Communication Theory of Secret Systems”1967年年David Kahn的的The Codebreakers1971-73年年IBM Watson实验室实验室的的Horst Feistel等的几篇等的几
14、篇技术报告技术报告 数据的安全基于密钥而不是算法的保密数据的安全基于密钥而不是算法的保密20密码学的起源和发展密码学的起源和发展-iv1976年以后年以后:1976年年Diffie&Hellman的的“New Directions in Cryptography”提出了不对称密钥密码提出了不对称密钥密码1977年年Rivest,Shamir&Adleman提出了提出了RSA公钥算法公钥算法90年代逐步出现椭圆曲线等其他公钥算法年代逐步出现椭圆曲线等其他公钥算法 公钥密码使得发送端和接收端无密钥传输的保密通信成公钥密码使得发送端和接收端无密钥传输的保密通信成为可能为可能!21密码学的起源和发展密
15、码学的起源和发展-v1976年以后年以后:对称密钥密码算法进一步发展对称密钥密码算法进一步发展1977年年DES正式成为标准正式成为标准80年代出现年代出现“过渡性过渡性”的的“post DES”算法算法,如如IDEA,RCx,CAST等等90年代对称密钥密码进一步成熟年代对称密钥密码进一步成熟 Rijndael,RC6,MARS,Twofish,Serpent等出现等出现2001年年Rijndael成为成为DES的替代者的替代者22 内容提要内容提要基本概念和术语基本概念和术语密码学的历史密码学的历史古典密码古典密码23密码算法的安全性密码算法的安全性无条件安全(无条件安全(Uncondit
16、ionally secure)无论破译者有多少密文无论破译者有多少密文,他也无法解出对应的他也无法解出对应的明文明文,即使他解出了即使他解出了,他也无法验证结果的正他也无法验证结果的正确性确性。One-time pad计算上安全(计算上安全(Computationally secure)破译的代价超出信息本身的价值。破译的代价超出信息本身的价值。破译的时间超出了信息的有效期破译的时间超出了信息的有效期。24古典密码古典密码基于字符的密码基于字符的密码代替密码(代替密码(substitution cipher):就是明文中的:就是明文中的每一个字符被替换成密文中的另一个字符。接每一个字符被替换成
17、密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。收者对密文做反向替换就可以恢复出明文。(代替规则、密文所用字符、明文中被代替的基本单位)(代替规则、密文所用字符、明文中被代替的基本单位)置换密码置换密码(permutation cipher),又称,又称换位密换位密码(码(transposition cipher):明文的字母保持相:明文的字母保持相同,但顺序被打乱了。同,但顺序被打乱了。古典密码古典密码代替密码代替密码置换密码置换密码2526代替密码代替密码简单代替密码(简单代替密码(simple substitution cipher),又称又称单字母密码(单字母密码(mono
18、alphabetic cipher):明文的一个字符用相应的一个密文字符代替,明文的一个字符用相应的一个密文字符代替,而且密文所用的字符与一般的明文所用字符属而且密文所用的字符与一般的明文所用字符属同一语言系统。同一语言系统。多字母密码(多字母密码(ployalphabetic cipher):明文中:明文中的字符映射到密文空间的字符还依赖于它在上的字符映射到密文空间的字符还依赖于它在上下文中的位置。下文中的位置。27单字母密码单字母密码单表代换密码单表代换密码 移位(移位(shift)密码、乘数()密码、乘数(multiplicative)密码密码 仿射(仿射(affine)密码、多项式(密
19、码、多项式(Polynomial)密码密码 密钥短语(密钥短语(Key Word)密码密码多表代换密码多表代换密码 维吉尼亚(维吉尼亚(Vigenere)密码密码 博福特(博福特(Beaufort)密码)密码 滚动密钥滚动密钥(running-key)密码密码 弗纳姆弗纳姆(Vernam)密码密码 转轮密码机转轮密码机(rotor machine)28多字母代换密码多字母代换密码可以用矩阵变换方便地描述可以用矩阵变换方便地描述多字母代换密码多字母代换密码,有时又称起为有时又称起为矩阵变换密码矩阵变换密码。Hill cipher Playfair cipher29模运算模运算-i定义集合为定义集
20、合为Zq为小于为小于q的所有非负整数集合:的所有非负整数集合:Zq=0,1,2,,q-1,该集合也可看作模该集合也可看作模q的余数集合。在该的余数集合。在该集合上可以进行算术运算,就是所谓的集合上可以进行算术运算,就是所谓的模运算模运算。定义加法和乘法运算如下定义加法和乘法运算如下:加法加法:(a mod q)+(b mod q)mod q=(a+b)mod q 减法:减法:(a mod q)-(b mod q)mod q=(a-b)mod q 乘法乘法:(a mod q)(b mod q)mod q=(a b)mod q模运算有下述性质:模运算有下述性质:(1)若)若q|(a-b),则,则a
21、 b(mod q)(2)(a mod q)=(b mod q)意味意味a b mod q(3)对称性对称性,a b mod q等价于等价于b a mod q(4)传递性)传递性,若若a b mod q且且b c mod q,则,则a c mod q30模运算模运算-ii类似普通的加法,在模运算中的每个数也存在类似普通的加法,在模运算中的每个数也存在加法逆加法逆元元,或者称为,或者称为相反数相反数。一个数一个数x的加法逆元的加法逆元y是满足是满足x+y 0 mod q的数。的数。对每一个对每一个 ,存在存在z,使得使得w+z 0 mod q。在通常的乘法中,每个数存在在通常的乘法中,每个数存在乘
22、法逆元乘法逆元,或称为,或称为倒数倒数。在模在模q的运算中的运算中,一个数一个数x的乘法逆元的乘法逆元y是满足是满足x y 1 mod q 的数。但是并不是所有的数在模的数。但是并不是所有的数在模q下都存在乘法下都存在乘法逆元。逆元。如果如果(a b)mod q=(a c)mod q,b c mod q,如果如果a与与q互素。互素。如果如果q是一个素数,是一个素数,对每一个对每一个 ,都存在都存在z,使得使得w z 1 mod q,z称作称作w的乘法逆元的乘法逆元w-1。31模运算模运算-iii模模26的最小非负完全剩余系,即模的最小非负完全剩余系,即模26的余数集合为的余数集合为0,1,2,
23、25。可以把字母表与模可以把字母表与模26的余数集合等同,的余数集合等同,26个英文字母个英文字母与模与模26余数集合余数集合0,.,25建立一一对应,在此基础上建立一一对应,在此基础上对字符进行运算。对字符进行运算。32单字母密码单字母密码单表代换密码单表代换密码移位(移位(shift)密码)密码乘数(乘数(multiplicative)密码密码仿射(仿射(affine)密码密码密钥短语(密钥短语(Key Word)密码密码任意的单表代替密码任意的单表代替密码33移位密码算法移位密码算法设设P=C=K=Z26,对对k K,定义定义ek(x)=x+k(mod 26)=y C 同时同时dk(y)
24、=y-k(mod 26)当当k=3时,为时,为Caesar密码密码 abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC 例子例子:cipher=FLSKHU 实际算法为:实际算法为:有有 同时有,同时有,d3(y)=y-3(mod 26)34移位密码分析移位密码分析给定加密的消息给定加密的消息:PHHW PH DIWHU WKH WRJD SDUWB由于(由于(1)加解密算法已知)加解密算法已知(2)可能尝试的密钥只有)可能尝试的密钥只有25个个(不包括不包括0)通过强力攻击得到明文:通过强力攻击得到明文:meet me after th
25、e toga party.移位密码很容易受到唯密文攻击。移位密码很容易受到唯密文攻击。35单字母密码单字母密码单表代换密码单表代换密码移位(移位(shift)密码)密码乘数(乘数(multiplicative)密码密码仿射(仿射(affine)密码密码密钥短语(密钥短语(Key Word)密码密码任意的单表代替密码任意的单表代替密码36乘数密码算法乘数密码算法加密函数取形式为加密函数取形式为 e(x)=ax(mod 26),aZ26 要求唯一解的充要条件是要求唯一解的充要条件是gcd(a,26)=1 该算法描述为:该算法描述为:设设P=C=Z26,K=a Z26|gcd(a,26)=1,对对k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 原理 应用 密码学 基础 课件
限制150内