02第二章 密码技术基础
每一对明文字母m1和m2,都根据以下5条规则进行加密: (1)若ml和m2在密钥方阵中的同一行,则密文字母C1和C2分别是ml和 m2右边字母(第一行看作在第五行的下边)。 (2)若ml和m2在同一列,则C1和C2分别是m1和m2右边的字母(第一行看 作为第五行的下边)。 (3)若m1和m2在密钥方阵中的不同行和列,密文字母C1和C2分别是以 m1和m2为顶点组成的长方形中的另两个顶点,其中C1和m1、 C2和m2 分别在同一行。 (4)若m1=m2,则在ml和m2之间插进一个无效字母,例如x。 (5)若明文信息共有奇数个字母,则在明文末尾附加一个无效字母。
2.1 密码技术概述
简单加密、解密过程
第三方
发送方
明文
加密
密文
解密
原来的明文
接受方
图2—1 简单加密、解密过程
发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方 在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取, 他只能得到无法理解的密文,从而对信息起到保密作用。
2.2 传统密码技术
使用一次一密乱码本需要注意
密钥字母必须随机产生。对这种方案的攻击主要是针对用来产生密 钥序列的方法。伪随机数发生器通常只有非随机性,所以不能用于 产生随机密钥序列。采用真随机源,它才是安全的。 0NETIMEPAD 密钥序列不能重复使用。如果密码分析家有多个密钥重叠的密文, 那么即使你用多兆字节的乱码本,他也能重构明文。他可以把每排 密文移来移去,并计算每个位置的适配量。如果他们排列正确,则 适配的比例会突然升高(准确的百分比与明文的语种有关)。从这一 点来说,密码分析是容易的,它类似于重合指数法.只不过用两个 “周期”。所以千万别重复使用密钥序列。
2.1 密码技术概述
密文(Ciphertext)
被加密以后的消息称为密文
密文空间
所有密文的集合称为密文空间
解密(Decryption)
把密文转变成明文的过程称为解密
密钥
加密体制中的加密运算是由一个算法类组成,这些算法类的不同运算可用 不同的参数表示,不同的参数分别代表不同的算法,被称作密钥
64比特明文 初始换位 初始变换 逆初始变换 64比特密文
图2-2 DES加密的数据流程
64比特密钥
子密钥生成 K1.加密处理 a 初始换位:加密处理首先要对64比特的明文按表2—3所示的初 始换位表1P进行换位。 表2-3
表中的数值表示输入比特被置换后的新比特位置。例如,输入的第 58比特,在输出时被置换到第l比特的位置;输入的第2比特,在输 出时被置换到第8比特的位置;输入的第l比特,在输出时被置换到 第40比特的位置;输入的第7比特,在输出时被置换到第64比特的 位置上。
第二章 密码技术基础
密码技术概述
传统密码技术
现代密码技术 网络加密技术
2.1 密码技术概述
2.1.1 密码基本概念
安全问题包含两个主要内容: 数据的保密性 数据的完整性 密码学 密码学是研究密码分析和密码编制的一门科学,它涉及数学、物理、 计算机科学、电子学、系统工程、语言学等学科内容。 加密(Encryption) 用某种方法伪装消息并隐藏它的内容的方法称作加密 明文(Plaintext) 待加密的消息被称作明文 明文空间 所有明文的集合称为明文空间
加密变换可表示为:ek(m)=(k+m)mod q=c,解密变换为;dk(c)=(mk)mod q=m,其中q为字母表M的长度,m为明文字符在字母表M中的位置, c为密文字母在字母表C中的位置。移位密码就是对英文26个字母进行移 位代替的密码 。
2.乘数密码
加密过程可表示为: ek(m)=km mod q=c, 其中k和q为互素的,这样 字母表中的字母会产生一个复杂的剩余集合。
2.2 传统密码技术
2.2.1 换位密码
换位密码根据一定的规则重新安排明文字母,使之成为密文。常用的 换位密码有两种,一种是列换位密码,另一种是周期换位密码。 例1 假定有一个密钥是type的列换位密码,我们把明文can you believe her写成4行4列矩阵,如表2-1所示。
表2-1
密钥 type
2.2 传统密码技术
例6 用Playfair密码加密明文bookstore,我们有 明文 M=bo xo ks to re 密文 C=ID RG LP QD HG
H A R P S I C O D B E F G K L
M N Q T U
V W X Y Z
2.2 传统密码技术
2.2.3 转轮机
2.2 传统密码技术
例5 假定一个游动钥密码的密钥是美国1776年7月4日发布的独立宣 言,从第一段开始,因此,明文the object of … 明文: M=t h e o b j e c t o f … 密钥: K=w h e n I n t h e c o … 密文: C=P O I B J W X J X Q T … 多字母代替密码(polygram substitution cipher)
轮转机有一个键盘和一系列转轮,每个转轮是字母的任意组合, 有26个位置,并且完成一种简单代替。例如,一个转轮可能被用线连 起来以完成用K代替A,月W代替D,用L代替T等,而且转轮的输出栓 连接到相邻的输入栓。 例如,有一个密码机,有4个转轮,第一个转轮可能用G代替B,第二 个转轮可能内N代替G,第二个转轮可能用S代替N。第四个转轮可能 用C替S,C应该是输出密文。当转轮移动后,下一次代替将不同。为 使机器更加安全,可以把几种转轮和移动的齿轮结合起来。因为所有 的转轮以不同的速度移动,n个转轮的机器周期为26n。为进一步阻止 密码分析,有些转轮机在每个转轮上还有不同的位置号。
2.2 传统密码技术
2.2.4 一次一密密码
每个密钥仅对一个消息使用—次。发方对所发的消息加密,然后销毁 乱码本中用过的一页或用过的磁带部分。收方有一个同样的乱码本, 并依次使用乱码本上的每个密钥去解密密文的每个字符。收方在解密 消息后销毁乱码本中用过的一页或用过的磁带部分。新的消息则用乱 码本中新的密钥加密。 例如, 密钥序列也可能是:
2.1 密码技术概述
2.1.2 密码技术的分类
密码体制一般可分为传统密码和现代密码,从不同的角度根据不同的标 准,可以把密码分成若干类: 按应用技术或历史发展阶段划分 1.手工密码 2.机械密码 3.电子机内乱密码 4.计算机密码 按保密程度划分 1.理论上保密的密码 2.实际上保密的密码 3.不保密的密码 按密钥方式划分 1.对称式密码 2.非对称式密码 按明文形态分 1.模拟型密码 2.数字型密码 按编制原理划分 1.移位 2.代替 3.置换 4.组合形式 与电子商务密切相关的安全理论主要有以下三大类: 1.分组密码 2.公开密钥密码 3.非密码的安全理论和技术
2.2 传统密码技术
多表代替密码(polyalphabetic substitution cipher) 在Vigenere密码中,用户钥是一个有限序列k=(kl,k2,k3,…kd), 我们可以通过周期性(周期为d)将k扩展为无限序列,得到工作钥 K =(Kl,K2,K3,…),其中 Ki=K(i mod d),l≤i<∞,如果我们用Ф 和θ分别表示密文和明文字母,则Vigenere密码的变换公式为: Ф≡(θ+ki)(mod n) 例4 在用户钥为cat的Vigenere密码(周期为3)中,加密明 文 Vigenere cipher的过程如下(n=26): 明 文 M=vig ene rec iph er 工作钥 K=cat cat cat cat ca, 密 文 C=XIZ GNX TEV KPA GR. 在这个例子中,每个三字母组中的第一个、第二个和第三个字母分 别移动(mod 26)2个、0个和19个位置。 游动钥密码是一种非周期性的Vigenere密码,它的密钥和明文 信息一样长,而且不重复。
2.3 现代密码技术
2.3.1 对称密码技术
对称密钥密码系统使用的加密密钥和解密密钥是相同的,或者可以简 单地相互推导出来。典型的对称密钥密码系统是数据加密标准(DESdata encryption standard) , 此 外 还 有 IDEA(international data encryption algorithm)、AES(advanced encryption standard)等。 数据加密标准(DES)
消息 0NETIMEPAD 乱码本的密钥序列 TBFRGFARFM 密文 POYYAEAAZX 解密出来是: SALMONEGGS 或密钥序列为: BXFGBMTMXM 解密出来的明文为: GREENFLUID
因为 O+T mod26=I N+B mod26=P IPKLPSFHGQ, E+F mod26=K
2.2 传统密码技术
2.2.2 代替密码
密码体制一般可分为传统密码和现代密码,从不同的角度根据不同的标 准,可以把密码分成若干类: 简单代替密码(simple substitution cipher) 简单代替密码就是将明文字母表M中的每个字母用密文字母表c中 的相应字母来代替。 1.移位密码
3.仿射密码
加密的形式为:ek(m)=(k1m+k2)mod q=c,其中要求k1和q是互素的。
2.2 传统密码技术
多名或同音代替密码(homophonic substitution cipher)
在同音代替中,一个明文字母表的字母a,可以变换为若干个密文字母f(a), 称为同音字母,因此,从明文到密文的映射f的形式是f:A→2C,其中A, C分别为明文和密文的字母表。 例3 假定一个同音代替密码的密钥是一段短文,该文及其其中各个单词的编 号,如下所示: (1) Canada’s large land mass and (6) Scattered population make efficient communication (11) a necessity.Extensive railway,road (16) and other transportation systems,as (21) well as telephone,telegraph,and (26) cable networks,have helped to (31) link communities and have played (36) a vital part in the (41) country’s development for future 在上表中,每一个单词的首字母都和一个数字对应,例如字母C与数字 1,10,26,32,41对应;字母M和数字4,8对应等,加密时可以用与字母 对应的任何一个数字代替字母,例如,如果明文为I Love her forever的密 文可能是39 2 17 37 9 28 9 14 43 17 14 13 37 13 14