《课件03信息安全技术第三讲_密码学概论27985.pptx》由会员分享,可在线阅读,更多相关《课件03信息安全技术第三讲_密码学概论27985.pptx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信信 息息 安安 全全 技技 术术万万 涛涛华东交通大学信息工程学院华东交通大学信息工程学院E-mail:Tel:13807097997 QQ:471387802第第3讲讲 密码学概论密码学概论3.1 密码学的基本概念密码学的基本概念3.2 代替密码代替密码3.3 换位密码换位密码3.4 一次一密方案一次一密方案3.5 密码分析密码分析加密通信的模型加密通信的模型加密通信的模型加密通信的模型:AliceAliceAliceAlice加密机加密机加密机加密机解密机解密机解密机解密机BobBobBobBob安全信道安全信道安全信道安全信道密钥源密钥源密钥源密钥源窃听者窃听者窃听者窃听者x x x
2、xy y y yx x x xk1k1k1k1密钥源密钥源密钥源密钥源k2k2k2k2不安全信道不安全信道不安全信道不安全信道密码分析密码分析密码分析密码分析3.1 3.1 密码学的基本概念密码学的基本概念2023/5/133 3离散数学离散数学密码体制密码体制密码体制密码体制定义定义定义定义:它是一个五元组(它是一个五元组(它是一个五元组(它是一个五元组(P,C,K,E,D)P,C,K,E,D)满足条件:满足条件:满足条件:满足条件:(1 1)P P是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)(2 2)C C
3、是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)(3 3)KK是一切可能密钥构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)是一切可能密钥构成的有限集;(密钥空间)(4 4)任意)任意)任意)任意 ,有一个加密算法,有一个加密算法,有一个加密算法,有一个加密算法 和相应的解密和相应的解密和相应的解密和相应的解密 算法算法算法算法 ,使,使,使,使 和和和和 分别为加密、分别为加密、分别为加密、分别为加密、解密函数,且满足解密函数,且满足解密函数,且满足解密函
4、数,且满足 。3.1 3.1 密码学的基本概念密码学的基本概念2023/5/134 4离散数学离散数学注:注:注:注:1 1、AliceAlice要将明文在不安全信道上发给要将明文在不安全信道上发给要将明文在不安全信道上发给要将明文在不安全信道上发给BobBob,设设设设X=xX=x1 1 x x2 2 x xn n,其中其中其中其中 ,AliceAlice用加密算法用加密算法用加密算法用加密算法e ek k作作作作 y yi i=e=ek k(x(xi i)(1 in)(1 in),结果的密文是结果的密文是结果的密文是结果的密文是 Y=yY=y1 1y y2 2.y.yn n 在信道上发送,
5、在信道上发送,在信道上发送,在信道上发送,BobBob收到后解密:收到后解密:收到后解密:收到后解密:x xi i=d=dk k(y(yi i)得到明文得到明文得到明文得到明文X=xX=x1 1 x x2 2 x xn n。2 2、加密函数加密函数加密函数加密函数e ek k必须是单射函数,就是一对一的函数。必须是单射函数,就是一对一的函数。必须是单射函数,就是一对一的函数。必须是单射函数,就是一对一的函数。3 3、若若若若P=CP=C,则则则则e ek k为一个置换。为一个置换。为一个置换。为一个置换。4 4、好的密钥算法是唯密钥而保密的。好的密钥算法是唯密钥而保密的。好的密钥算法是唯密钥而
6、保密的。好的密钥算法是唯密钥而保密的。5 5、若若若若AliceAlice和和和和BobBob在一次通信中使用相同的密钥,则这个在一次通信中使用相同的密钥,则这个在一次通信中使用相同的密钥,则这个在一次通信中使用相同的密钥,则这个 加密体制为对称的,否则称为非对称的。加密体制为对称的,否则称为非对称的。加密体制为对称的,否则称为非对称的。加密体制为对称的,否则称为非对称的。3.1 3.1 密码学的基本概念密码学的基本概念2023/5/135 5离散数学离散数学 消息被称为消息被称为消息被称为消息被称为明文明文明文明文,用某种方法伪装消息以隐藏它的内容的,用某种方法伪装消息以隐藏它的内容的,用某
7、种方法伪装消息以隐藏它的内容的,用某种方法伪装消息以隐藏它的内容的过程称为过程称为过程称为过程称为加密加密加密加密(EncryptionEncryption),),),),被加密的消息称为被加密的消息称为被加密的消息称为被加密的消息称为密文密文密文密文,而把,而把,而把,而把密文转变为明文的过程称为密文转变为明文的过程称为密文转变为明文的过程称为密文转变为明文的过程称为解密解密解密解密(DecryptionDecryption)。)。)。)。使消息保密的技术和科学叫做使消息保密的技术和科学叫做使消息保密的技术和科学叫做使消息保密的技术和科学叫做密码编码学密码编码学密码编码学密码编码学(Cryp
8、tography)Cryptography),从事此行的叫从事此行的叫从事此行的叫从事此行的叫密码编码者密码编码者密码编码者密码编码者(CryptographerCryptographer),),),),密码分析者密码分析者密码分析者密码分析者是是是是从事密码分析的专业人员,从事密码分析的专业人员,从事密码分析的专业人员,从事密码分析的专业人员,密码分析学密码分析学密码分析学密码分析学(CryptanalysisCryptanalysis)就是破译密文的科学和技术,即揭穿伪装。就是破译密文的科学和技术,即揭穿伪装。就是破译密文的科学和技术,即揭穿伪装。就是破译密文的科学和技术,即揭穿伪装。密码
9、学密码学密码学密码学(CryptologyCryptology)作为数学的一个分支,包括密码编码作为数学的一个分支,包括密码编码作为数学的一个分支,包括密码编码作为数学的一个分支,包括密码编码学和密码分析学两部分,密码编码技术和密码分析技术是相互学和密码分析学两部分,密码编码技术和密码分析技术是相互学和密码分析学两部分,密码编码技术和密码分析技术是相互学和密码分析学两部分,密码编码技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。依存、相互支持、密不可分的两个方面。依存、相互支持、密不可分的两个方面。依存、相互支持、密不可分的两个方面。3.1 3.1 密码学的基本概念密码学的基本概念
10、2023/5/136 6离散数学离散数学 密码学除了提供机密性外,还有以下作用:密码学除了提供机密性外,还有以下作用:密码学除了提供机密性外,还有以下作用:密码学除了提供机密性外,还有以下作用:1 1、鉴别鉴别鉴别鉴别:消息的接收者能够确认消息的来源,入侵者不可能:消息的接收者能够确认消息的来源,入侵者不可能:消息的接收者能够确认消息的来源,入侵者不可能:消息的接收者能够确认消息的来源,入侵者不可能伪装成他人。伪装成他人。伪装成他人。伪装成他人。2 2、完整性完整性完整性完整性:消息的接收者能够验证在传送过程中消息没有被:消息的接收者能够验证在传送过程中消息没有被:消息的接收者能够验证在传送过
11、程中消息没有被:消息的接收者能够验证在传送过程中消息没有被修改,入侵者不可能用假消息代替合法消息。修改,入侵者不可能用假消息代替合法消息。修改,入侵者不可能用假消息代替合法消息。修改,入侵者不可能用假消息代替合法消息。3 3、抗抵赖抗抵赖抗抵赖抗抵赖:发送者事后不可能虚假地否认他发送的消息。:发送者事后不可能虚假地否认他发送的消息。:发送者事后不可能虚假地否认他发送的消息。:发送者事后不可能虚假地否认他发送的消息。密码算法(密码算法(密码算法(密码算法(AlgorithmAlgorithm)也叫密码(也叫密码(也叫密码(也叫密码(CipherCipher),),),),是用于是用于是用于是用于
12、加密和解密的数学函数。通常情况下,有两个相关的函数,加密和解密的数学函数。通常情况下,有两个相关的函数,加密和解密的数学函数。通常情况下,有两个相关的函数,加密和解密的数学函数。通常情况下,有两个相关的函数,一个用作加密,另一个用作解密。一个用作加密,另一个用作解密。一个用作加密,另一个用作解密。一个用作加密,另一个用作解密。密钥用密钥用密钥用密钥用KK表示。表示。表示。表示。KK可以是很多数值里的任意值。密钥可以是很多数值里的任意值。密钥可以是很多数值里的任意值。密钥可以是很多数值里的任意值。密钥 KK的的的的可能值的范围叫做密钥空间。加密和解密运算都用它。可能值的范围叫做密钥空间。加密和解
13、密运算都用它。可能值的范围叫做密钥空间。加密和解密运算都用它。可能值的范围叫做密钥空间。加密和解密运算都用它。3.1 3.1 密码学的基本概念密码学的基本概念2023/5/137 7离散数学离散数学 密码体制在原理上分两类:密码体制在原理上分两类:密码体制在原理上分两类:密码体制在原理上分两类:单钥体制单钥体制单钥体制单钥体制和和和和双钥(公钥)体制双钥(公钥)体制双钥(公钥)体制双钥(公钥)体制。单钥密码体制中,收发双方使用同一密钥,系统的保密性单钥密码体制中,收发双方使用同一密钥,系统的保密性单钥密码体制中,收发双方使用同一密钥,系统的保密性单钥密码体制中,收发双方使用同一密钥,系统的保密
14、性主要主要主要主要取决于密钥的安全性取决于密钥的安全性取决于密钥的安全性取决于密钥的安全性。系统的密钥管理、传输和分配是一。系统的密钥管理、传输和分配是一。系统的密钥管理、传输和分配是一。系统的密钥管理、传输和分配是一个重要且十分复杂的问题。单钥密码算法个重要且十分复杂的问题。单钥密码算法个重要且十分复杂的问题。单钥密码算法个重要且十分复杂的问题。单钥密码算法按照对明文的处理方按照对明文的处理方按照对明文的处理方按照对明文的处理方式分为:分组密码算法和序列密码算法。式分为:分组密码算法和序列密码算法。式分为:分组密码算法和序列密码算法。式分为:分组密码算法和序列密码算法。体制的缺点:密钥数体制
15、的缺点:密钥数体制的缺点:密钥数体制的缺点:密钥数目大,目大,目大,目大,密钥分配困难密钥分配困难密钥分配困难密钥分配困难,无法实现不可否认无法实现不可否认无法实现不可否认无法实现不可否认服务。服务。服务。服务。公钥密码体制中,加密密钥公钥密码体制中,加密密钥公钥密码体制中,加密密钥公钥密码体制中,加密密钥KKe e是公开的,解密密钥是公开的,解密密钥是公开的,解密密钥是公开的,解密密钥KKd d必须保密。公钥体制的密钥产生、分配和管理相对简单,尤必须保密。公钥体制的密钥产生、分配和管理相对简单,尤必须保密。公钥体制的密钥产生、分配和管理相对简单,尤必须保密。公钥体制的密钥产生、分配和管理相对
16、简单,尤适用于计算机网络系统中。公钥体制的特点:实现信息公开适用于计算机网络系统中。公钥体制的特点:实现信息公开适用于计算机网络系统中。公钥体制的特点:实现信息公开适用于计算机网络系统中。公钥体制的特点:实现信息公开加密,实现不可否认服务。体制的缺点:加解密运算复杂其加密,实现不可否认服务。体制的缺点:加解密运算复杂其加密,实现不可否认服务。体制的缺点:加解密运算复杂其加密,实现不可否认服务。体制的缺点:加解密运算复杂其速度较慢速度较慢速度较慢速度较慢。3.1 3.1 密码学的基本概念密码学的基本概念2023/5/138 8离散数学离散数学 代替密码也称替换密码,代替密码也称替换密码,代替密码
17、也称替换密码,代替密码也称替换密码,是使用替是使用替是使用替是使用替换换换换法进行加密所产生的法进行加密所产生的法进行加密所产生的法进行加密所产生的密码。替密码。替密码。替密码。替换密码换密码换密码换密码就是明文中每一个字符被替就是明文中每一个字符被替就是明文中每一个字符被替就是明文中每一个字符被替换换换换成密文中的另外成密文中的另外成密文中的另外成密文中的另外一个字符,替一个字符,替一个字符,替一个字符,替换换换换后的各字母保持原来位置。接收者对密文进行后的各字母保持原来位置。接收者对密文进行后的各字母保持原来位置。接收者对密文进行后的各字母保持原来位置。接收者对密文进行逆替逆替逆替逆替换换
18、换换就恢复出明文来。就恢复出明文来。就恢复出明文来。就恢复出明文来。在在在在替换密码替换密码替换密码替换密码加密体制中,使用了密钥字母表。它可以由加密体制中,使用了密钥字母表。它可以由加密体制中,使用了密钥字母表。它可以由加密体制中,使用了密钥字母表。它可以由明文字母表构成,也可以由多个字母表构成。明文字母表构成,也可以由多个字母表构成。明文字母表构成,也可以由多个字母表构成。明文字母表构成,也可以由多个字母表构成。在传统密码学中,有四种类型的代替密码:在传统密码学中,有四种类型的代替密码:在传统密码学中,有四种类型的代替密码:在传统密码学中,有四种类型的代替密码:1 1、单表(简单)、单表(
19、简单)、单表(简单)、单表(简单)替换替换替换替换密码:就是明文的一个字符用相应的密码:就是明文的一个字符用相应的密码:就是明文的一个字符用相应的密码:就是明文的一个字符用相应的一个密文字符一个密文字符一个密文字符一个密文字符替代替代替代替代。加密过程中是从明文字母表到密文字母表。加密过程中是从明文字母表到密文字母表。加密过程中是从明文字母表到密文字母表。加密过程中是从明文字母表到密文字母表的一一映射。例:恺撒(的一一映射。例:恺撒(的一一映射。例:恺撒(的一一映射。例:恺撒(Caesar)Caesar)密码。密码。密码。密码。3.2 3.2 代替密码代替密码2023/5/139 9离散数学离
20、散数学2 2、同音(多名码)、同音(多名码)、同音(多名码)、同音(多名码)替换替换替换替换密码:它与简单密码:它与简单密码:它与简单密码:它与简单替代替代替代替代密码系统相似,密码系统相似,密码系统相似,密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一,唯一的不同是单个字符明文可以映射成密文的几个字符之一,唯一的不同是单个字符明文可以映射成密文的几个字符之一,唯一的不同是单个字符明文可以映射成密文的几个字符之一,同音同音同音同音替代替代替代替代的密文并不唯一。的密文并不唯一。的密文并不唯一。的密文并不唯一。3 3、多字母组、多字母组、多字母组、多字母组替换替换替换替换密码:
21、字符块被成组加密,例如密码:字符块被成组加密,例如密码:字符块被成组加密,例如密码:字符块被成组加密,例如“ABA”ABA”可能可能可能可能对应对应对应对应“RTQ”RTQ”,ABBABB可能对应可能对应可能对应可能对应“SLL”SLL”等。例:等。例:等。例:等。例:PlayfairPlayfair密码。密码。密码。密码。4 4、多表、多表、多表、多表替换替换替换替换密码:由多个单字母密码构成,每个密钥加密密码:由多个单字母密码构成,每个密钥加密密码:由多个单字母密码构成,每个密钥加密密码:由多个单字母密码构成,每个密钥加密对应位置的明文。对应位置的明文。对应位置的明文。对应位置的明文。例:
22、维吉尼亚密码。例:维吉尼亚密码。例:维吉尼亚密码。例:维吉尼亚密码。3.2 3.2 代替密码代替密码2023/5/131010离散数学离散数学一、单表一、单表一、单表一、单表替换替换替换替换密码密码密码密码1 1、恺撒(、恺撒(、恺撒(、恺撒(Caesar)Caesar)密码密码密码密码 凯撒密码,又叫循环移位密码。它的加密方法就是把明文凯撒密码,又叫循环移位密码。它的加密方法就是把明文凯撒密码,又叫循环移位密码。它的加密方法就是把明文凯撒密码,又叫循环移位密码。它的加密方法就是把明文中所有字母都用它右边的第中所有字母都用它右边的第中所有字母都用它右边的第中所有字母都用它右边的第k k个字母替
23、代,并认为个字母替代,并认为个字母替代,并认为个字母替代,并认为Z Z后边后边后边后边又是又是又是又是A A。这种映射关系表示为如下函数:这种映射关系表示为如下函数:这种映射关系表示为如下函数:这种映射关系表示为如下函数:F(a)=(a+k)mod 26 F(a)=(a+k)mod 26其中:其中:其中:其中:a a表示明文字母;表示明文字母;表示明文字母;表示明文字母;k k为密钥。为密钥。为密钥。为密钥。3.2 3.2 代替密码代替密码2023/5/131111离散数学离散数学设设设设k k3 3,则有,则有,则有,则有 明文:明文:明文:明文:a b c d e f g h i j k
24、l m n o p q r s t u v w x y za 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 密文:密文:密文:密文:d e f g h i j k l m n o p q r s t u v w x y z 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 b c 对于明文对于明文对于明文对于明文P Pcomputer systemscomputer systems 有密文有密文有密文有密文C Cfrpsxwhu vbvwhpvfrpsxwhu vbvwhpv 显然,
25、由密文显然,由密文显然,由密文显然,由密文C C恢复明文非常容易,只要知道密钥恢复明文非常容易,只要知道密钥恢复明文非常容易,只要知道密钥恢复明文非常容易,只要知道密钥KK,就可就可就可就可构造一张映射表。其加密和解密均可根据此映射表进行。构造一张映射表。其加密和解密均可根据此映射表进行。构造一张映射表。其加密和解密均可根据此映射表进行。构造一张映射表。其加密和解密均可根据此映射表进行。凯撤密码的优点是凯撤密码的优点是凯撤密码的优点是凯撤密码的优点是密钥简单易记密钥简单易记密钥简单易记密钥简单易记。但它的密文与明文的对应。但它的密文与明文的对应。但它的密文与明文的对应。但它的密文与明文的对应关
26、系过于简单,故安全性很差。关系过于简单,故安全性很差。关系过于简单,故安全性很差。关系过于简单,故安全性很差。3.2 3.2 代替密码代替密码2023/5/131212离散数学离散数学2 2、密钥短语密码、密钥短语密码、密钥短语密码、密钥短语密码 选择一组有助于记忆的英文字符串作为密钥,从中筛选选择一组有助于记忆的英文字符串作为密钥,从中筛选选择一组有助于记忆的英文字符串作为密钥,从中筛选选择一组有助于记忆的英文字符串作为密钥,从中筛选无无无无重复重复重复重复的字符按原顺序记下字符串,写在明文字母表下,然后将的字符按原顺序记下字符串,写在明文字母表下,然后将的字符按原顺序记下字符串,写在明文字
27、母表下,然后将的字符按原顺序记下字符串,写在明文字母表下,然后将未出现未出现未出现未出现在字符串的字母按顺序依次写在密钥短语后。在字符串的字母按顺序依次写在密钥短语后。在字符串的字母按顺序依次写在密钥短语后。在字符串的字母按顺序依次写在密钥短语后。如选择密钥短语如选择密钥短语如选择密钥短语如选择密钥短语network securitynetwork security则有明文:则有明文:则有明文:则有明文: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 za b c d e f g h i j k l m n o p q r s t u v w
28、 x y z 密文:密文:密文:密文:n e t w o r k s c u i y a b d f g h j l m p q v x zn e t w o r k s c u i y a b d f g h j l m p q v x z若明文为若明文为若明文为若明文为data accessdata access则密文为则密文为则密文为则密文为wnln nttojjwnln nttojj3.2 3.2 代替密码代替密码2023/5/131313离散数学离散数学二、多表替换密码二、多表替换密码二、多表替换密码二、多表替换密码 多表替换密码是一种用多组替换表依次对明文消息的字母多表替换密码是一
29、种用多组替换表依次对明文消息的字母多表替换密码是一种用多组替换表依次对明文消息的字母多表替换密码是一种用多组替换表依次对明文消息的字母进行替换的加密方法。进行替换的加密方法。进行替换的加密方法。进行替换的加密方法。维吉尼亚(维吉尼亚(维吉尼亚(维吉尼亚(VigenereVigenere)密码是一种常用的多表替换密码。密码是一种常用的多表替换密码。密码是一种常用的多表替换密码。密码是一种常用的多表替换密码。这种替换法是循环的使用有限个字母来实现替换的一种方法。这种替换法是循环的使用有限个字母来实现替换的一种方法。这种替换法是循环的使用有限个字母来实现替换的一种方法。这种替换法是循环的使用有限个字
30、母来实现替换的一种方法。这种加密的加密表是以字母表移位为基础把这种加密的加密表是以字母表移位为基础把这种加密的加密表是以字母表移位为基础把这种加密的加密表是以字母表移位为基础把2626个英文字母个英文字母个英文字母个英文字母进行循环移位,排列在一起,形成进行循环移位,排列在一起,形成进行循环移位,排列在一起,形成进行循环移位,排列在一起,形成26262626的方阵。该方阵的方阵。该方阵的方阵。该方阵的方阵。该方阵被称为维吉尼亚表。采用的算法为被称为维吉尼亚表。采用的算法为被称为维吉尼亚表。采用的算法为被称为维吉尼亚表。采用的算法为 f(p f(pi i)=(p)=(pi i+k+ki i)mo
31、d 26)mod 26优点:能抵抗简单的字母频率分析攻击。优点:能抵抗简单的字母频率分析攻击。优点:能抵抗简单的字母频率分析攻击。优点:能抵抗简单的字母频率分析攻击。3.2 3.2 代替密码代替密码2023/5/131414离散数学离散数学VigenereVigenere密码表密码表密码表密码表 ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ A ABCDEFGHIJKLMNOPQRSTUVWXYZ A ABCDEFGHIJKLMNOPQRSTUVWXYZ B BCDEFGHIJKLMNOPQRSTUVWXYZA B BCDEFGHI
32、JKLMNOPQRSTUVWXYZA C CDEFGHIJKLMNOPQRSTUVWXYZAB C CDEFGHIJKLMNOPQRSTUVWXYZAB O OPQRSTUVWXYZABCDEFGHIJKLMN O OPQRSTUVWXYZABCDEFGHIJKLMN Y YZABCDEFGHIJKLMNOPQRSTUVWXY YZABCDEFGHIJKLMNOPQRSTUVWX Z ZABCDEFGHIJKLMNOPQRSTUVWXY Z ZABCDEFGHIJKLMNOPQRSTUVWXY3.2 3.2 代替密码代替密码2023/5/131515离散数学离散数学加密过程:加密过程:加密过程
33、:加密过程:以明文字母选择列,以密钥字母选择行,两者的交点就是以明文字母选择列,以密钥字母选择行,两者的交点就是以明文字母选择列,以密钥字母选择行,两者的交点就是以明文字母选择列,以密钥字母选择行,两者的交点就是加密生成的密文。加密生成的密文。加密生成的密文。加密生成的密文。解密过程:解密过程:解密过程:解密过程:以密钥字母选择行,从中找到密文字母,密文字母所在列以密钥字母选择行,从中找到密文字母,密文字母所在列以密钥字母选择行,从中找到密文字母,密文字母所在列以密钥字母选择行,从中找到密文字母,密文字母所在列的列名即为明文字母。的列名即为明文字母。的列名即为明文字母。的列名即为明文字母。例:
34、例:例:例:以以以以youryour为密钥,加密明文为密钥,加密明文为密钥,加密明文为密钥,加密明文how are youhow are you 明文明文明文明文P=h o w a r e y o uP=h o w a r e y o u 密钥密钥密钥密钥K=y o u r y o u r yK=y o u r y o u r y 密文密文密文密文C=f c q r p s s f sC=f c q r p s s f s3.2 3.2 代替密码代替密码2023/5/131616离散数学离散数学三、多表替换密码三、多表替换密码三、多表替换密码三、多表替换密码 多字母替换密码每次加密一组(两个以
35、上)字母串。多字母替换密码每次加密一组(两个以上)字母串。多字母替换密码每次加密一组(两个以上)字母串。多字母替换密码每次加密一组(两个以上)字母串。Playfair Playfair密码为此类密码,密钥由密码为此类密码,密钥由密码为此类密码,密钥由密码为此类密码,密钥由2525个英文字母(个英文字母(个英文字母(个英文字母(j j与与与与i i相同)相同)相同)相同)组成的组成的组成的组成的5 5阶方阵。密钥方阵阶方阵。密钥方阵阶方阵。密钥方阵阶方阵。密钥方阵P P导出取决于给定密钥,重复不写,导出取决于给定密钥,重复不写,导出取决于给定密钥,重复不写,导出取决于给定密钥,重复不写,余下按字
36、母顺序填充。余下按字母顺序填充。余下按字母顺序填充。余下按字母顺序填充。明文划分如下:将明文字母串按两个字母一组进行分组,明文划分如下:将明文字母串按两个字母一组进行分组,明文划分如下:将明文字母串按两个字母一组进行分组,明文划分如下:将明文字母串按两个字母一组进行分组,每组中的两个字母不同。每一对明文字母每组中的两个字母不同。每一对明文字母每组中的两个字母不同。每一对明文字母每组中的两个字母不同。每一对明文字母 mm1 1和和和和mm2 2,对应的对应的对应的对应的密文为密文为密文为密文为c c1 1和和和和c c2 2。3.2 3.2 代替密码代替密码2023/5/131717离散数学离散
37、数学每一对明文字母每一对明文字母每一对明文字母每一对明文字母 mm1 1和和和和mm2 2,按下面的规则进行加密。按下面的规则进行加密。按下面的规则进行加密。按下面的规则进行加密。(1 1)若)若)若)若mm1 1和和和和mm2 2在在在在P P的同一行,则密文的同一行,则密文的同一行,则密文的同一行,则密文c c1 1和和和和c c2 2分别是分别是分别是分别是mm1 1和和和和mm2 2右边的字母。第一列看作最后一列的右边。右边的字母。第一列看作最后一列的右边。右边的字母。第一列看作最后一列的右边。右边的字母。第一列看作最后一列的右边。(2 2)若)若)若)若mm1 1和和和和mm2 2在
38、在在在P P的同一列,则密文的同一列,则密文的同一列,则密文的同一列,则密文c c1 1和和和和c c2 2分别是分别是分别是分别是mm1 1和和和和mm2 2下边的字母。第一行看作最后一行的下边。下边的字母。第一行看作最后一行的下边。下边的字母。第一行看作最后一行的下边。下边的字母。第一行看作最后一行的下边。(3 3)若)若)若)若mm1 1和和和和mm2 2在在在在P P的不同行、不同列,则密文的不同行、不同列,则密文的不同行、不同列,则密文的不同行、不同列,则密文c c1 1和和和和c c2 2是是是是mm1 1和和和和mm2 2确定的长方形的另两个顶点的字母。其中确定的长方形的另两个顶
39、点的字母。其中确定的长方形的另两个顶点的字母。其中确定的长方形的另两个顶点的字母。其中c c1 1与与与与mm1 1同行,同行,同行,同行,c c2 2与与与与mm2 2同行。同行。同行。同行。(4 4)若)若)若)若mm1 1mm2 2,则在,则在,则在,则在mm1 1和和和和mm2 2之间加一个无效字母(如之间加一个无效字母(如之间加一个无效字母(如之间加一个无效字母(如x x)。)。)。)。(5 5)若明文字母为奇数个,则在末尾加一个无效字母。)若明文字母为奇数个,则在末尾加一个无效字母。)若明文字母为奇数个,则在末尾加一个无效字母。)若明文字母为奇数个,则在末尾加一个无效字母。3.2
40、3.2 代替密码代替密码2023/5/131818离散数学离散数学例:以例:以例:以例:以firewall securityfirewall security为密钥为密钥为密钥为密钥,加密明文加密明文加密明文加密明文how are youhow are you。由密钥导出密钥矩阵为由密钥导出密钥矩阵为由密钥导出密钥矩阵为由密钥导出密钥矩阵为明文分组处理明文分组处理明文分组处理明文分组处理ho wa re yo uxho wa re yo ux密文密文密文密文kh fu ew gk czkh fu ew gk cz3.2 3.2 代替密码代替密码2023/5/131919离散数学离散数学 换位密
41、码是采用换位法进行加密的。它把明文中的字母换位密码是采用换位法进行加密的。它把明文中的字母换位密码是采用换位法进行加密的。它把明文中的字母换位密码是采用换位法进行加密的。它把明文中的字母重新排列,本身不变,但位置变了,换位密码是靠重新安排重新排列,本身不变,但位置变了,换位密码是靠重新安排重新排列,本身不变,但位置变了,换位密码是靠重新安排重新排列,本身不变,但位置变了,换位密码是靠重新安排字母的次序,而不是隐藏他们。字母的次序,而不是隐藏他们。字母的次序,而不是隐藏他们。字母的次序,而不是隐藏他们。常见的换位密码主要有倒置法、列换位法、矩阵换位法。常见的换位密码主要有倒置法、列换位法、矩阵换
42、位法。常见的换位密码主要有倒置法、列换位法、矩阵换位法。常见的换位密码主要有倒置法、列换位法、矩阵换位法。3.3 3.3 换位密码换位密码2023/5/132020离散数学离散数学倒置法倒置法倒置法倒置法(1 1)完全倒置法)完全倒置法)完全倒置法)完全倒置法 把明文中的字母按顺序倒过来写,然后以固定长度的字母组把明文中的字母按顺序倒过来写,然后以固定长度的字母组把明文中的字母按顺序倒过来写,然后以固定长度的字母组把明文中的字母按顺序倒过来写,然后以固定长度的字母组 发送或记录。发送或记录。发送或记录。发送或记录。明文:明文:明文:明文:computer systemscomputer sys
43、tems密文:密文:密文:密文:smet sysr etup mocsmet sysr etup moc(2 2)分组倒置法)分组倒置法)分组倒置法)分组倒置法 把明文中的字母按固定长度分组后,每组字母串倒过来写。把明文中的字母按固定长度分组后,每组字母串倒过来写。把明文中的字母按固定长度分组后,每组字母串倒过来写。把明文中的字母按固定长度分组后,每组字母串倒过来写。明文:明文:明文:明文:computer systemscomputer systems 分组:分组:分组:分组:comp uter syst emscomp uter syst ems密文:密文:密文:密文:pmoc retu
44、tsys smepmoc retu tsys sme3.3 3.3 换位密码换位密码2023/5/132121离散数学离散数学换位法换位法换位法换位法(1 1)列换位法)列换位法)列换位法)列换位法(2 2)矩阵换位法)矩阵换位法)矩阵换位法)矩阵换位法3.3 3.3 换位密码换位密码2023/5/132222离散数学离散数学换位法换位法换位法换位法(1 1)列换位法)列换位法)列换位法)列换位法 将明文字符分割成为若干个(例如将明文字符分割成为若干个(例如将明文字符分割成为若干个(例如将明文字符分割成为若干个(例如5 5个)一行的分组,并按个)一行的分组,并按个)一行的分组,并按个)一行的分
45、组,并按 一组后面跟着另一组的形式排好,形式如下:一组后面跟着另一组的形式排好,形式如下:一组后面跟着另一组的形式排好,形式如下:一组后面跟着另一组的形式排好,形式如下:c1 c2 c3 c4 c5 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10c6 c7 c8 c9 c10 最后,不全的组可以用不常使用的字符或最后,不全的组可以用不常使用的字符或最后,不全的组可以用不常使用的字符或最后,不全的组可以用不常使用的字符或a,b,ca,b,c填满。填满。填满。填满。密文是取各列来产生的:密文是取各列来产生的:密文是取各列来产生的:密文是取各列来产生的:c1c6c2c7c3c8.c4c
46、9.c5c10.c1c6c2c7c3c8.c4c9.c5c10.3.3 3.3 换位密码换位密码2023/5/132323离散数学离散数学例:明文:例:明文:例:明文:例:明文:WHAT YOU CAN LEARN FROM THIS BOOKWHAT YOU CAN LEARN FROM THIS BOOK取密钥为取密钥为取密钥为取密钥为5 5,进行排列:进行排列:进行排列:进行排列:W H A T YW H A T Y O U C A N O U C A N L E A R N L E A R N F R O M T F R O M T H I S B O H I S B O O K X
47、X X O K X X X则密文为:则密文为:则密文为:则密文为:WOLFHOHUERIKACAOSXTARMBXYNNTOXWOLFHOHUERIKACAOSXTARMBXYNNTOX3.3 3.3 换位密码换位密码2023/5/132424离散数学离散数学(2 2)矩阵换位法)矩阵换位法)矩阵换位法)矩阵换位法 把明文中的字母按给定的顺序安排在一矩阵中,然后用把明文中的字母按给定的顺序安排在一矩阵中,然后用把明文中的字母按给定的顺序安排在一矩阵中,然后用把明文中的字母按给定的顺序安排在一矩阵中,然后用 另一种顺序选出矩阵的字母来产生密文。另一种顺序选出矩阵的字母来产生密文。另一种顺序选出矩
48、阵的字母来产生密文。另一种顺序选出矩阵的字母来产生密文。例:明文例:明文例:明文例:明文ENGINEERINGENGINEERING按行排在按行排在按行排在按行排在3 43 4矩阵中,最后一行矩阵中,最后一行矩阵中,最后一行矩阵中,最后一行 不全用不全用不全用不全用ABCABC填充,如下所示。填充,如下所示。填充,如下所示。填充,如下所示。给定置换给定置换给定置换给定置换1234ENGINEERINGA3.3 3.3 换位密码换位密码2023/5/132525离散数学离散数学 在这个加密方案中,密钥就是矩阵的行数在这个加密方案中,密钥就是矩阵的行数在这个加密方案中,密钥就是矩阵的行数在这个加密
49、方案中,密钥就是矩阵的行数mm和列数和列数和列数和列数n n,即即即即m*nm*n3*43*4,以及给定的置换矩阵以及给定的置换矩阵以及给定的置换矩阵以及给定的置换矩阵 。也就是:也就是:也就是:也就是:k=k=(m*nm*n,f f)根据给定置换,按第根据给定置换,按第根据给定置换,按第根据给定置换,按第2 2、4 4、1 1、3 3列的次序排列,列的次序排列,列的次序排列,列的次序排列,得到密文:得到密文:得到密文:得到密文:NIEGERNENAIGNIEGERNENAIG2413NIEGERNENAIG1234ENGINEERINGA3.3 3.3 换位密码换位密码2023/5/1326
50、26离散数学离散数学 其解密过程是将密文根据其解密过程是将密文根据其解密过程是将密文根据其解密过程是将密文根据3*43*4矩阵,按行、列的顺序写出,矩阵,按行、列的顺序写出,矩阵,按行、列的顺序写出,矩阵,按行、列的顺序写出,再根据给定置换产生新的矩阵,恢复明文为:再根据给定置换产生新的矩阵,恢复明文为:再根据给定置换产生新的矩阵,恢复明文为:再根据给定置换产生新的矩阵,恢复明文为:ENGINEERINGENGINEERING1234ENGINEERINGA2413NIEGERNENAIG3.3 3.3 换位密码换位密码2023/5/132727离散数学离散数学 一次一密方案是一种理想的加密方