信息安全与密码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专题八、信息安全与密码
数论在信息安全与密码学中有重要的应用.在历史上早就将密码作为军事斗争和政治斗争的一种手段.在当今信息化社会中,密码学不仅与军事、政治领域的信息通讯安全有关,而且在经济领域的商业信息往来中也需要保密。人们通过电报、电话、电子网络等公共渠道传递信息时,要求信息不能被窃取或修改,安全地传送给指定的接收者,就需要将信息以密文的形式传送。
一、通讯安全中的基本概念
1.明文、密文、密钥
甲方通过公共渠道向乙方传递信息,为使信息不被窃取或篡改,就需要将信息先改变为秘密形式再发送.我们把原信息称为明文,明文的秘密形式称为密文.将明文变为密文的过程称为加密.通过已知密码将密文译为明文的过程称为解密.密码中的关键信息称为密钥.密钥在保密通讯中具有至关重要的意义与作用.
一切密码系统都由两部分构成:(1)一套组成基本密码的通讯方法或程序的规则。称为通用系统;(2)一个可变换的密钥。它由数字、单词、词组或句子构成。在对明文加密时,密钥控制通用系统的,并决定密文的组成形式,解密时,密钥同样控制着解密系统。虽然密码的外部形式和内部构成可以有着千差万别,但总括起来只有两种基本形式:(1)位移式。即只重新排列或调整明文中的字母顺序,而不改变字母本身;(2)置换式。即用其他字母代替明文中的字母而顺序保持不变。有时也可以同时使用这两种密码系统来构成一套密码系统。
20世纪40年代以来广泛使用着各种电密码机。许多电密码机都有类似打字机的键盘,并使用一种电转子装置产生一系列不同的混合字母。另外一种类似的机器也研制出来,它可以对大量电码进行加密和解密。
二、传统的密码系统
下面我们介绍在历史上曾经用过的密码系统.
1.位移式密码
位移式即只重新排列或调整明文中的字母顺序,而不改变字母本身的密码系统。
例1. 明文good morning →密文mgoo rondgin .明文中第1,5,(2,6)个字母为密文中第1,2(3,4)个字母,依此类推。
2. 置换密码
所谓置换密码,就是将明文中的每一个字母或数字换为另一个字母或数字,明文经代换后
即构成密文.代换规则(即密钥)可以是系统的,也可以是随机的.
例如,在公元前高卢战争期间,罗马大将恺撒就使用了一种系统置换的密码,置换的密钥
(规律)为:按英文26个字母的顺序,将明文中的字母后移三格,即用它以后的第三个字母来代
替.
A←D,B←E,C←F,……,X←A,Y←B,Z←C。
例2:明文:good morning,则在上述密码下,密文为:irrg pruqlqj。如果不知密码,
则窃收到密文也不知所云。
根据数论中的同余理论,我们可以解释恺撒密码。将26个字母按顺序依次编号为:
A=01,B=02,C=03,……,Y=25。Z=26。
设p表示明文中的字母编号,s表示密文中的字母编号,则恺撒密码就可以用同余式表示:
s≡p+3 (mod 26)
同余式中的数字3即密钥,它是解密的关键。只要知道了此密钥,则只要通过解同余式
p≡s-3≡s+23 (mod 26)
就容易由密文s得出明文p(单个字母)。
置换密码的一般形式可以用同余式
s≡p+k (mod 26)
表示。
有时为了迷惑企图破译的一方,通常将密文分为五个字母一组的形式。如例2可改写为
irrgp ruqlq j。
这种置换密码或它的变种在第二次世界大战之前使用了很长一段时期,但是它有严重缺点.它的加密原理是把26 个字母作一个置换,每个字母用另一个字母去替换(故名置换密码体制),例如,明文中所有出现的字母a ,在密文中均换成字母d 。因此,使用数学和统计技术(计算机)就可以破译这种置换密码。破译置换密码的关键在于确定数字k 的值(密钥)。破译的方法有两种:(1)穷举法。即对k 的可能值逐一进行尝试(关于模n ,k 的值有n 种),直到出现有明确意义的明文;(2)根据英文字母出现的频率进行解密。因为在英文的日常书面语言中,各个字母使用的频率不同,例如e 的频率最高,约为13.04%,其次是t,a,o,I,n,h,r,而字母v,k,j,x,q,z出现最少。通过找出密文中出现最多的字母,使之对应于e,去尝试求解,把密文中出现最少的字母分别用v,k,j,x,q,z去进行尝试性求解,再考虑英文词组出现的频率并联系上下文,运用统计分析方法破译置换密码,已不是十分困难的事情。
3.仿射变换密码
仿射变换密码是比置换密码更复杂的一种密码,它将明文p 变为密文s 的变换由同余式 s ≡b ap +(mod 26) (1) 确定。其中(a ,26)=1。因为小于26并且与26互素的正整数有12个,按模26同余,b 有26种可供选择,所以由(1)式确定的仿射变换共有12×26=312种,可见仿射变换比置换密码要复杂,从而破译它也就更困难。
在仿射密码中,密码的收发双方均使用同一把密钥。发送者用这把密钥加密,接受者也用它解密。
注:因26=2×13,故小于26并且与26互素的正整数有 26()13
11)(21
1--=12 个。 4.序列加密密码
第二次世界大战以后,密码体制发生了巨大的变化.由于电子通讯和计算机的发展,信息传输多采用二进制形式.下表是目前国际上通用的国际电码,它把26个英文字母和6个打字机功能符号共32个对象分别表示成二进制下的32个五位数。
还有一种传统的密码编译法,称为序列加密密码体制。即密文= 明文+ 约定数。例如,我们设明文用0、1这两个数字编码,收发双方约定一个数列,明文加上这个数列则得到密文。
例3. 如果发送信息“good”,按照国际电码表,“good”被编成一个长为20的二元序列(明文),设约定数(密钥)为由一个长为15的序列000100110101111不断重复得到的周期数列,则按模2的加法得到密文的过程如下:
明文0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0
+) 约定数0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 密文0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 将密文用国际电码表翻成字母,就成为Lcie。注意这里明文“good”中两个相同字母“o”被加密成两个不同的字母“c、i”,所以这不是置换加密。其中密文由明文+ 约定数,按模2的加法(即1+1=0,1+0=0+1=1,0+0=0)得到。这个约定数即密钥。用同余式表示即为:
密文(数)≡明文(数)+ 约定数。(mod 2)
对方收到密文后,同样用密钥相加(由于模2的减法等于加法,因此一台机器既可用来加密又可解密),即
明文(数)≡密文(数)+ 约定数。(mod 2)
这个约定数(周期数列)应是伪随机数列。它可以按某种规则随机改变,使得破译更加困难。在二战期间,德国人用这种方法编译密码,数学家图灵利用数学原理,发明了一种破