版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第
二
章信
息
保
密
技
术2.1信息安全与密码技术密码学的起源和发展■密码学作为信息安全理论与技术的基石,在信息
安全领域发挥着中流砥柱的作用。密码学理论的
应用,成为现代信息网络得以生存和不断发展的
基本前提。■
Cryptography=crypto
+
graphy密码
隐藏或秘密
写一般来讲,人们通常认为密码学是一种将信息表
述为不可读内容的方式(加
密
)
,并且可以采用
一种秘密方法将信息恢复出来(解
密
)
。2026/1/7密码学的起源和发展■
自人类社会出现战争便产生了密码·
Julius
Caesar发明了凯撒密码·
二战时德国使用Enigma
机器加密·
美国军事部门使用纳瓦霍语(Navaho)
通
信员■
密码由军事走向生活·
电子邮件·
自动提款机
202619
电话卡1949~1975年密码学成为科学
—现代密码学1976年以后密码学的新方向——
公钥密码学2026/1/7
Copyright密码学的起源和发展密码学发展阶段1
9
4
9
年
之
前密码学是一门艺术—
—古典密码学4密码学起源■密码是通信双方按约定的法则进行信息特殊
变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明
文,称为解密变换。■17
世
纪,英国著名的哲学家弗朗西斯
·培根在他所著的《学问的发展》一书中最早给密码下了定义,他说,“所谓密码应具备三个必要的条件,即易于翻译、第三者无法理解、在一定场合下不易引人生疑。”密文解密明文加密原始明文密码学起源■
谋成于密,败于泄
——明揭暄《兵经百言》■
古典密码学包含两个互相对立的分支,即密码编码学(Cryptography)
和密码分析学
(Cryptanalytic
s)。前者编制密码以保护秘密信息,而后者则研究加密消息的破译以获取信息。二者相反相成,共处于密码学的统一体中。■
现代密码学除了包括密码编码学和密码分析学外,还包括安全
管理、安全协议设计、散列函数等内容。■大约在4000年以前,在古埃及的尼罗河畔,一位擅长书写者在贵族的基碑上书写铭文时有意用加以变形的象形文字而不是普通的象形文字来写铭文,从而揭开了有文字记
载的密码史。这篇颇具神秘感的碑文,已具备了密码的基本特征:把一种符号(明文)用另一种符号(密文)代替。二
=
平
三
业
三
缝
=」二1八=
二一二密码学起源Phaistos
圆盘,一种直径约为160mm的Cretan-Mnoan
粘土圆盘,始于公
元前17世纪。表面有明显字间空格
的字母,至今还没有破解。■1000
BC:姜
子
牙
阴
阳
符■500-600BC:
天
书■
100-44BC:Caesarcipher■
公元前1世纪古罗马凯撒大帝时代曾使用过一种“代替式密码”,
在
这种密码中,每个字母都由其后的第三个字母(按字母顺序)所代替,
即凯撒密码。这种代替式密码直到第二次大战时还被日本海军使用。■
公元前4世纪前后,希腊著名作家艾奈阿斯在其著作《城市防卫论》
中就曾提到一种被称为“艾奈阿斯绳结”的密码。它的作法是从绳子
的一端开始,每隔一段距离打一个绳结,而绳结之间距离不等,不同的距离表达不同的字母。密码学起源■
公元前5世纪,古斯巴达人使用了一种叫做
“天书”的器械,这是
人类历史上最早使用的密码器械。“天书”是一根用草纸条、皮
条或羊皮纸条紧紧缠绕的木棍。密信自上而下写在羊皮纸条上。然后把羊皮纸条解开送出。把羊皮纸条重新缠在一根直径和原木棍相同的木棍上,这样字就一圈圈跳出来。密码学起源■
在古代还出现过一种被称为
“叠痕法”的密码,使用时先把信纸折叠几下
(上下及左右),然后铺平信纸,将传递的信息按顺序一个个分开,写在
折痕的交叉点上,每一个交叉点写一个字。然后再在空白位置上填上公开
的普通信文,普通信文与秘密信文的文字通顺地连贯在一起。为了防止被
敌人察觉,使用这种密码需要在编公开信文上下些功夫。如果在秘密信文
上再用些暗语式密码,那么敌人就更难看出破绽了。■
宋曾公亮、丁度等编撰《武经总要》“字验”记载,北宋前期,在作战中曾用一首五言律诗的40个汉字,分别代表40种情况或要求,这种方式已具有了密码本体制的特点。■
暗号
。简单地说,暗号就是通过用物件的状态或人的行为来传达事先约定的信息.如窗台上的花瓶、手中拿着的报纸、口中昨着的曲子,可分别代表“现在安全”、“我是你要找的人”、
“我在找自己人”等明确的信息.隐
语。暗号是把信息变换为物件或动作,隐语则是把信息变换成与此信息完全无关的(但有意义的)语言.据说,1941年,日本偷袭珍珠港前两
星期,美国情报人员曾截获一次重要的电话对话.那是两名分别在东京
和华盛顿的日本高级官员之间的通话.这段对话里“小孩出生”的真正
意思是“发动战争”
.·在华盛顿的日本人:是不是真的有个小孩要出生了?·在东京的日本人:是的.而且看来马上就要出生了.·在华盛顿的日本人:这个小孩真的要生了吗?是在哪个方向呢?■隐
语。暗号是把信息变换为物件或动作,隐语则是把信息变换成与此信息完全无关的(但有意义的)语言.据说,1941年,日本偷袭珍珠港前两星期,美国情报人员曾截获一次重要的
电话对话.那是两名分别在东京和华盛顿的日本高级官员之
间的通话.这段对话里“小孩出生”的真正意思是“发动战
争”
.·在华盛顿的日本人:是不是真的有个小孩要出生了?·在东京的日本人:是的.而且看来马上就要出生了.·在华盛顿的日本人:这个小孩真的要生了吗?是在哪个方向呢?·
【暗语笑话】有个女的翻看老公手机,发现有条老公发给她
闺蜜的短信,很平淡也很正常:
“近来股市向好,建议持仓,
002291,000524,002467,002582”。平时也炒股的老婆,好奇便查了一下股票的名称。居然是:
“星期六”,
“东方
宾馆”,
“二六三”,“好想你”!
尼玛,这日子没法过了!防火防盗!
还得懂股票!密码学起源密码学起源■
16世纪意大利数学家卡尔达诺发明的一种保密通信方法,史称“卡尔达诺漏格板”.漏格板是一张用硬质材料(如硬纸、羊皮、金属等)做成的板,上面挖了一些长方形的孔,即漏格.大风渐起,寒流攻击着我们的肌体,雪花从天空中落下,预示明天5点的活动,开始村会有困难0攻击1
7I从明天5点1开始密码学起源王先生:来信收悉,你的盛情稚以
作天抵达广州。
秋
连绵,每天需备
大约下月旬即可返回,再谈。弟:李
明2016年9月30日情报在雨伞把中密码学起源■
传说,古时候有一对夫妻,男的名叫李石匠,女的叫张小花。李石匠靠手艺赚钱,张小花在家纺纱织布。
一年,李石匠参加修建石桥,因工程紧张,十一个月也没回家一次。张小花
独自在家只有纺车做伴。一天石匠工地回来一个工友路过她
家,她托这个工友给丈夫带去一封书信。卢花滩上有扁舟,俊杰黄昏独自游。义到尽头原是命,
反躬逃难必无忧。■
第六十回吴用智赚玉麒麟
梁山泊义军头领宋江久慕卢俊义的威名,一心想招取卢俊义上山坐第一把交椅,共图大业,替天行道。智多星吴用扮成一个算命先生,利用卢俊义正为躲避“血光之灾”的惶恐心里,口
占四句卦歌,并让他端书在家宅的墙壁上。■
这四句诗写出后,被官府拿到了证据,大兴问罪之师,到处捉拿卢俊义,终于把他逼上梁山。密码学起源■不识字老婆给老公写的信,老公竟立马回家了!你看懂了吗?你能破解李石匠和张小花的
密文吗?译文如下:树龟树龟(速归速归)鱼果布龟(如果不归)虫枣男人(重找男人)■近代密码时期近代密码时期是指二十世纪初到二十世纪50
年代左右。从1919
年以后的几十年中,密码研究人员设计出了各种各
样采用机电技术的转轮密码机(简称转轮机,
Rotor)来取代
手工编码加密方法,实现保密通信的自动编解码。随着转轮
机的出现,使得几千年以来主要通过手工作业实现加密/解
密的密码技术有了很大进展。近代密码时期可以看作是科学密码学的前夜,这阶段的密码技术可以说是一种艺术,是一种技巧和经验的综合体,但还不是一种科学,密码专
家常常是凭直觉和信念来进行密码设计和分析,而不是推理和证明。图1.4
(a)ENIGMA
密码机图1.4
(b)TYPEX
密码机■
现代密码时期1949
年香农
(ClaudeShannon)的奠基性论文“保密系统的通
信理论”
(Communication
Theory
of
Secrecy
System)在《贝尔系统技术杂志》上发表,首次将信息论引入密码技术的研究,用统计的观点对信源、密码源、密文进行数学描述和定量分析,引入了不确定性、多余度、唯一解距离等安全性测度概念和计算方法,为现代密码学研究与发展奠定了坚实的理论基础,把已有
数千年历史的密码技术推向了科学的轨道,使密码学(Cryptology)
成为一门真正的科学。√从1949
年到1967
年,密码学文献近乎空白。√
19(
,C
d
B·r
er()
David
Kahn)
出版了一本专著《破译者》√1977
年,美国国家标准局NBS
(
现NIST
)正式公布实施美国的
数据加密标准DES√1976年11月,美国斯坦福大学的著名密码学家迪菲(W.Diffie)和赫尔曼(M.Hellman)发表了“密码学新方向”(NewDirection
in
Cryptography)一文,首次提出了公钥密码体制的概念和设计思想,开辟了公开密钥密码学的新领域,掀起了公钥密码研究的
序
幕
。ea卡e维e年Th67■现代密码时期(续)√1997
年4月美国国家标准和技术研究所(NIST)发起征集高级数据加密标准(AES,Advanced
Encryption
Standard)算法的活动。√2000年10月,比利时密码学家Joan
Daemen
和
Vincent
Rijmen
提出的“
Rijndael
数据加密算法”被确定为AES
算法,作为新一代数据加密标准。√
二十世纪末的AES算法征集活动使密码学界又掀起了一次分组密码研究的高潮。同时,在公钥密码领域,椭圆曲线密码体制由于其安全性高、计算速
度快等优点引起了人们的普遍关注和研究,并在公钥密码技术中取得重大进
展。√在密码应用方面,各种有实用价值的密码体制的快速实现受到高度重视,许多密码标准、应用软件和产品被开发和应用,美国、德国、日本和我国等许
多国家已经颁布了数字签名法,使数字签名在电子商务和电子政务等领域得
到了法律的认可,推动了密码学研究和应用的发展。√
新的密码技术不断涌现。例如,混沌密码、量子密码、
DNA
密码等等。这些新的密码技术正在逐步
地走向实用化。人们甚至预测,当量子计算机成为现实时,经典密码体制将无安全可言,而量子密码可能是未来光通信时代保障网络通信安全的可靠技术。密码学的发展■
第一个阶段:1949年以前·
古典加密·
计算机技术出现以前·
密码学作为一种技艺,而不是一门科学■
第二个阶段:1949年到1976年·
标志:Shannon
发表”Communication
Theory
ofSecrecy
System”·
密码学进入了科学的轨道·
主要技术:单密钥的对称密钥加密算法■
第三个阶段:1976年以后·
一种新的密码体制:公开密钥体制标志:Diffie,Hellman发表”NewDircetionsin
Cryptography”现代密码学(1949~)计算机使得基于复杂计算的密码成为可能,技术发展:1
9
4
9
年Shannon
的
“The
Communication
Theory
ofSecret
Systems”1967年David
Kahn的《The
Codebreakers》1971-1973年IBM
Watson实验室的Horst
Feistel等几
篇技术报告主要特点:数据的安全基于密钥而不是算法的保密。加
密运算是基于二进制bit的计算机运算。数据加密算法:DES,AES
,
IDEA,RC5
等■1
97
6年
:Diffie&Hellman
的“New
Directions
in
Cryptography”
提出了不对称密钥;■1977年Rivest,Shamir
&Adleman提出了RSA公钥算法■90年代逐步出现椭圆曲线等其他公钥算法■
主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能2026/1/7Copyright
19密码学基础security■密码学是
一门与数学密切相关的科学(统计学、数论、概率论和代数)■
密码技术涉及密码设计、密码分析等内容。■密码设计的目的是保证信息的机密性,基本手
段是将信息加以伪装,使其在存储和传输过程
中不会泄密。■
加密技术分为常规加密技术和公钥加密技术。■
本章在给出常规加密模型的基础上,对常规加
密
的经典技术和现代技术进行讨论。密码系统的概念■密码系统经历了手工阶段、机械阶段、电子阶
段并进入了计算机阶段。■
密码
学是研究如何通过编码来保证信息的机密
性和如何对密码进行破译的科学。
密
码学由密
码编码学和密码
分
析
学两部分所构成。一
个密码系统通常可以完成信息的加密变换和
解密变换。加密变换是采用一
种算法将原信息变为一
种不
可理解的形式,
从而起到保密的作用。■
解密变换是加密变换相反的过程,利用与加密
变换算法相关的算法将不可理解的信息还原为
原信息。■明文(plaintext);
密文(ciphertext);加密
算法;解密
算法。加密算法和解密算法是相关的,而且解密算
法是加密算法的逆过程。■加密解密算法:特点是相对稳定,公开。■
密
钥(key):
必须在加密和解密时引入两个相同或
两个不同但相关的参数。该参数被称为密钥(加密
时使用的密钥为加密密钥;解密时使用的密钥为
解密密钥)。密钥经常改变。■
密
钥直接关系到被加密信息的安全性。■
明
文、密文、加密算法、解密算法、加密密钥和
解密密钥构成了一个密码系统的基本元素。因此,
一个密
码系统CS
可以用
一
个六元组来描
述:CS=(P,C,E,D,K,K)■
对于
一
个给定的明文p和密钥ke,若有C=E(p,ke),则p=D(c,ka)。若
用E-1表
示E
的逆函数,用D-1表示D的逆函数,则
有D=E-1
且
E=D-1■
威胁密码系统安全的是攻击者。攻击者首先通
过监听等手段截获密
文。然后试图通过对密文
的
分
析来得到明文。由于通常加密解密算法是
对外公开的,攻击者往往对密钥更感兴趣。
一
旦攻击者获得密钥,
他就可以在系统更新密钥之前,利用该密钥解密一
系列的密文。加密明文P攻击明文P解密算法D密钥K。明文P加密密钥Ke加密
算法E图2.1
加密模型示意图解密密钥Kd解密
算法D密码
分析攻击者密文C明文P密码体制■
密
码体
制通常指加密/解密过程中采用的方法
的种
类。1.
按照加密解密过程中使用的加密密钥和解密密
钥是否相同将密码体制分为对称密码体制和非
对称密码体制。·
对称密码体制又
称
为常规密钥密码体制、
单
密钥密码体制、
秘密密钥密码体制。
对
称
密
码体制的加密算法和解密算法使用相同的密钥,该密钥必须对外保密。特
点:
加密效率较高,但密钥的分配难
以
满
足开放式系统的需求。·非对称密码体制又
称
为公开密钥密码体
制、双密钥密码体制。非对称密码体制
的加密算法和解密算法使用不
同
但
相
关
的一对密钥,加密密钥对外公开,解密
密钥对外保密,
而且由加密密钥推导出解密密钥在计算上是不可行的。特
点:
密
钥
分
配较方便,能够用于鉴
别
和数
字
签
名,
能
较
好
地满足开放式系统
的
需
求,但由于非对称密码体制
一般采
用较复杂的数学方法进行加密解密,因
此,算法的开销
比
较大,
不
适合
进
行大量数据的加密处理。2
.
根据密文数据段是否与明文数据段在整个
明
文
中
的
位
置
有
关,可以将密码体制分为
分组密码体制和序列密码体制。·分组密码体制
的密文仅与加密算法和密
钥
有
关,而与被加密的明文分组在整个
明文中的位
置
无
关。分组密码将固
定
长
度的明文分组加密为
相同长度的密文分组。
分组密码的分组大小
一
般为64比特,但有增加到128比特的趋势。相
同
的明文分组在相同的密钥作用下将
产生相同的密文分组。·序
列
密
码
体
制的
密
文
不
仅与
给
定
的
加
密
算法和密钥有关,而且与当前正被加密的明文部分在整个明文中的位
置
有
关。序列密码体制每次对较
小
的
明文
单位进
行
处
理,通常以比特(或字节)为加密单位。加
密
时
以流
的
形式进
行
处理,将明
文流
与密钥流结合,形成密文流。
密钥
流
是与明文流等长的伪随机序列,加密后的
密文流也是伪随机序列。
序
列
密码
最
吸
引人的地方是它的一
次一
密特性。■
分
组密码的某些操作模式可以被转换为密钥
流产
生器,从而将分组密码用于序列密码
。随机序列Kn…K₃K₂K₁K₁K₂K₃…K。随机序列密文序列0O明文序列Pn…P₃P₂P₁P…P₃P₂P₁明文序列图2.2一次一密密码的原理■
序
列
密
码3.根
据加密变换是否可逆,可以将密码体制
分
为单向函数密码体制和双向变换密码体
制。·
单
向函数可以将明文加密成密文,但却
不能将密文转换为明文(或在计算上不
可
行)。单向函数用于不需要解密的场合。
单向函数的
目的不在于加密,单向函数
主要用于密钥管理和鉴别。·
通常的加密解密都属于双
向
变
换密
码
体
制。4.根据在加密过程中是否引入客观随机因素,
可
以将加密体制分为确定型密码体制和
概率密码
体
制。·
确定型密码体制是指:
一
旦明文和密钥确定
后
,
也就确定了惟
一
的密文。·
若对于给定的明文和密钥,总存在着
一
个较大的密文集合与之对应,最终的密文根据客
观随机因素在密文集中随机选取,则称这种
密码体制为概率密码体制。Return常规加密模型常规加密是出现最早而且当前仍在广泛使用的
加密体制。在使用常规加密的通信系统中,安全通信的
双
方共
享同
一
个密钥K。
加密和解密算法公开,
密钥保密。常规加密的密钥通常称为秘密密钥
(secret
key)。由于加密密钥和解密密钥相同,此时的密码系
统CS
可以表示为:CS=(P,C,E,D,K)对于
一
个给定的明文P和密钥Kk,若有C=E(,k),
则
p=D(c,k),
可简记为C=Ek(p)
和
p=D(C)。密钥K安全通道(a)
通信的一方产生密钥密钥K明文P明文P信宿常规加密模型密钥K密钥产生源密码分析解密
算法D攻击者密文C加密算法E明文P信源密钥产生源共同信赖的第三方(b)
共同信赖的第三方产生密钥图2.3
常规加密模型示意图攻击者密文C安全通道密钥K明文P明文P信宿密码
分析解密
算法D密钥
K常规加密模型加密
算法E密
钥
K明文P信源1、密码编码系统■
常规密码体制的安全性取决于加密算法和
密
钥。·
算法的强度必须足够高·密
钥的长度必须足够长;密钥更新的频度必须足够高■
算法的强度通
常
采
用两种方法保证:
扩散
(diffusion)
和扰
乱(confusion)。■
C
laude
Shannon早在1949年发表的“秘密
系统的通信理论”一文中就提出了扩散和
扰乱的概念。后来扩散和扰乱被用来作为
常规密码系统的两个基本组成模块。
扩散
和扰乱已成为现代分组密码设计的基础。■扩散和扰乱主要用于对付基于统计分析的密码破
译。■
扩
散的基本方法是让明文和密钥的每个字母影响
尽可能多的密文字母的取值(等价于每个密文字母
被尽可能多的明文和密钥字母影响),从而使
得
明
文和密钥的统计特征被扩散,
明文和密钥中原有
的统计特征不再反映在密文中。■
扰
乱机制是使密文的统计特征与明文和加密密钥
的关系尽可能复杂化,使得攻击者即使掌握了密
文的某些统计特征,也很难从中推测出密钥和明文
。■
扩散是使每个密文字母与尽可能多的明文和密钥
字母相关,扰乱是使这种相关的等价数学函数足
够复杂。2、密码分析密
码
分
析:
试图由密文获得明文、密钥或这两者的过程。■
常
见的密码分析方
法:强行攻击、基于统计的
分
析、差分密码分析。·强行攻击是利用每个可能的密钥进行测试,直
到找到可以解密的密钥。强行攻击只适合于密
钥空间不太大的场合。·基于统计的分析是利用明文、密钥和密文的统
计特征破译出明文或密钥。·
差分密码分析使用循环过程来分析密码。从具
有给定差异的两个报文开始,跟踪每次循环后
的差值模式,以便产生可能的密文差值模式。通常密码攻击者可能获得的信息有:·加密/解密算法(A)·待破译的密文(B)·由密钥形成的一个或多个明文-密文对(C)·由密码破译者选择的明文消息,连同它对应的由其密
钥生成的密文(D)·
由密码破译者选择的猜测性的密文,连同它对应的由
密钥生成的已破译的明文(E)■根据攻击者所获得的信息量,
密码分析攻击的类型如下:密码攻击者所知道的信息A+BA+B+CA+B+DA+B+EA+B+D+E密码攻击类型仅有密文攻击
已知明文攻击
选择明文攻击
选择密文攻击
选择文本攻
击▲算法安全性问题:■
如果
一
个算法无法抵御仅有密文攻击,则该算法
就不是一个好的算法。加密算法应能够抵御已知
明文的攻击。■如果攻击者无论拥有多少由某一
算法所产生的密
文,都无法由这些密文中所包含的信息惟
一
地决
定对应的明文,则称此算法是无条件安全的。
无
条件安全的加密算法通常是不存在的。人们要求
算法应保证在计算上是安全的。■
如果
一
个加密算法能够满足下列条件中的一个或
两个,则称此算法在计算上是安全的:·
1)破译该密码的成
本超过被加密信息的价值。·
2)破译该密码的所需的时
间超过该信息的有效生命周期
。Return经典加密技术■本章提示·2.1
古典密码·2.2
分组加密技术·2.3公钥加密技术·2.4
流密码技术·2.5
信息隐藏技术2.1
古典密码■
代换密码·
单表代换密码■
移位密码■
替换密码■
仿射密码·
多表代换密码■
Vigenere
(维吉尼亚)密码■置换密码代换密码■
令日表示明文字母表,内有q
个“字母”或“字
符”,可以将日抽象地表示为一个整数集■在加密时通常将明文消息划分成长为L的消息单元,称为明文组,以m表示,如■L=1
为单字母报(1-gram),L=2为双字母报
(digrams),L=3为三字母报(
trigrams)
。这时明文空间为m=(m₀,m₁,…,mL-1),m₁∈Z₄,0≤l≤L-1m
也称作L一报文,它可以看作是定义在
上的随机变量代换密码(续)■
令ξ表示q个“字母”或“字符”的密文字母表,抽象地可用整数集={0.1,…,q-1}表示■密文单元或组为c=(Co,C₁
,…,C₁_)(L个),c,∈Z,0≤1≤L-1c
是定义在
Z上的随机变量。密文空间■一般地,明文和密文由同一字母表构成,即⊙=ξ单表代换密码■单表代换密码是对明文的所有字母都用一个固定
的明文字母表到密文字母表的映射,即f:Z₄→Z
。
令明文m=mm
…
,则相应地密文为C=e(m)=C₀C₁…=f(m₀)f(m)…■
几类常见的单表代换密码·
移位密码·
替换密码·
仿射密码■
单表代换密码不能非常有效地抵抗密码攻击,因为语言的特征仍能从密文中提取出来移位密码■由于英文字符有26个字母,可以建立英文字母和模26的剩余之间的对应关系:OPQRSTUVWXYZ141516171819202122232425ABCDEFGHIJKLMN012345678910111213移位密码(续)■
对于英文文本,则明文、密文空间都可定义
为Z₂6(很容易推广到n个字母的情况)。容易看出移位满足我们密码系统的定义,
即d(e(x))=x,
对每个x∈Z₂6设
P=C=K=Z₂6,对0≤k≤25,定义e(x)=(x+k)mod
26
,
且d(y)=(y-k)mod
26
(x,y∈Z26)凯撒密码历史上最著名的移位密码就是凯撒密码。凯撒密码(Caesar
cipher)(1)原理(明密对照表)明文:ab
c
d
e
f
ghljkImnopqrstu
v
w
x
y
z密文:
DE
FG
HIJ
K
L
MNOPQ
R
S
T
U
V
WXY
Z
A
B
C(2)算法描述(数学描述)假设明文字母用P表示,密文字母用C表示,密钥用K表示,
加密变换用E表示,解密变换用D表示,并设a=0,b=1,c=2,d=3,…x=23,y=24,z=25,
则有:C=Ek(p)=(p+3)mod(26)p=Dk(C)=(C-3)mod(26)
——--C不够减时可向前借位凯撒密码是最早使用的替
代密
码。凯撒密码将字母表
视为
一
个循
环
的
表,把明文中的字母用表中该字母后
面第3个字母进行替代。
凯撒密码的明文字母和密文字
母的对应关系如下:明文字母:abcdefghijk1mnopqr
s
tuv
wxy
z密文字母:DEFGHI
J
KLMNOPQRSTUVWXYZABC明文:MEETME
AFTER
THE
TOGAPARTY密文:
PHHWPHDIWHUWKH
WRJD
SDUWB若让每个字母对应一个数值(a=0,b=1,...,Z=25),
则
该
算
法
表
示
的
明
文
字
母p和
密
文
字
母C可以
表
示为
:C=E(p)=(p+3)mod(26)■
将上述算法一
般
化,密文字母与明文字母的偏
移可以是任意值k,
则算法可以表示为:C=E(p)=(p+k)mod(26)k就是加密算法的密钥,可以在1到25之间取
值
。解密算法可以表示为:p=D(C)=(c-k)mod(26)由于k的取值范围的限制,凯撒密码的密钥空
间很小,难以抵御强行攻击密码分析。攻击者
最多尝试25次,
就一定能够破译密码。移位密码破解【例1】移位密码加密的密文
C
=ytgj
tw
styytgj,ymfynxymjvzjxynts,
求明文P。钥未知,k=?解:∵密钥未知。∴使用暴力破解方法(穷举法)破解密文。依次查找
k=1
、2
、
……
、25
、26
时对应字符替代
表得出对应明文。key=1,p=xs
fi
sv
rsx
xs
fi,xlex
mw
xli
uyiwxmsr;key=2,
p=wr
eh
ru
qrw
wr
eh,wkdw
lv
wkh
txhvwlrq;key=3,
p=vq
dg
qt
pqv
vq
dg,vjcv
kpub
vijg
swguvkqp;
key=4,
p=up
cf
ps
opu
up
cf,uibu
jt
uif
rvftujpor;key=5,
p=to
be
or
not
to
be,that
is
the
question;网络安全
50移位密码破解key=6,p=sn
ad
nq
mns
sn
ad,sgzs
hr
sgd
ptdrshnm;key=7,p=rm
zc
mp
lmrrm
zc,rfyr
gq
rfc
oscqrgml;
key=8,p=qlyb
lo
klq
ql
yb,qexq
fp
qeb
nrbpqflk;key=9,p=pk
xa
kn
jkp
pk
xa,pdwp
eo
pda
mqaopekj;key=10,p=oj
wzjm
ijo
oj
wz,ocvo
dn
ocz
lpznodji;key=11,p=ni
vy
il
hin
ni
vy,nbun
cm
nby
koymncih;key=12,p=mh
ux
hk
ghm
mh
ux,matm
bl
maxjnxlmbhg;key=13
,p=lgtw
gj
fgllgtw,lzsl
aklzw
imwklagf;key=14,p=kf
sv
fi
efk
kf
sv,kyrk
zj
kyv
hlvjkzfe;key=15,p=je
ru
eh
dej
je
ru,jxqj
yi
jxu
gkuijyed;key=16
,p=id
qt
dg
cdi
id
qt,iwpixh
iwt
fijthixdc;key=17,p=hc
ps
cfbch
hc
ps,hvoh
wghvs
eisghwcb;
key=18,p=gb
or
be
abg
gb
or,gung
vfgur
dhrfgvba;移位密码破解key=19
,p3=fa
nq
ad
zaf
fa
nq,ftmfue
ftq
cgqefuaz;key=20,p3=ez
mp
zc
yze
ez
mp,esle
td
esp
bfpdetzy;key=21,p3=dy
lo
yb
xyd
dy
lo,drkd
sc
dro
aeocdsyx;key=22,p3=cx
kn
xa
wxc
cx
kn,cqjc
rb
cqn
zdnbcrxw;key=23,p3=bw
jm
wz
vwb
bw
jm,bpib
qa
bpmycmabqwv;key=24,p3=av
il
vy
uva
av
il,aoha
pz
aol
xblzapvu;key=25,p3=zu
hk
ux
tuz
zu
hk,zngz
oy
znk
wakyzout;key=26,p3=yt
gj
tw
sty
yt
gj,ymfy
nx
ymj
vzjxynts;移位密码破解比较以上答案发现:(1)Q:
如何确定正确答案?A:key=5
时,p=to
be
or
not
to
be,that
is
the
question,
每个字符串都有确切含义(都是单词),
p
具有确定的含义,
所以为正确答案。(2)Q:
如何结束循环?A:key=25
时
,p=c,完成了一轮循环,结果开始重复,暴力破解结束。(3)Q:
最坏情况下,循环需要进行多少次?A:26种p中任一位置的字符(如第一个字符)会规律
性遍历26个字母。25次。网络安全
532
)单字母替代密码■为了加大凯撒密码的密钥空间,可以采用单字母替
代密码。单字母替代密码是将密文字母的顺序打乱后与明文字母对应。明文字母:a
bcdefghij
k1mn
o
p
qr
st
u
vwxy
z密文字母:OGRFCYS
ALXUBZQT
WDVEHJ
MKPNI此时的密钥空间大小为26!,约为4×1026。即使每微秒试一个
密钥,也需要花费约1013年才能穷举所有的密钥。因此,强行攻击法不太适合。这时可以利用自然语言的统计特性进行
攻击。
英
语
中e
是使用频率最高的字母,接下去是t,r,n,i,.
…
。
只要密文足够长,这种统计规律就会反映出来。另外,还可以利用双字母的频率(th,in,er,re,.….)
和三字母的频
率(the,and,ion,...)
。
猜测可能的单词或短语也有助于破
译的进行。在计算机中,a=97,b=98,c=99,d=100,.….x=120,y=121,z=122,则
:明密对照表如下:明文:97,98,99,100,…,120,121,122密文:100,101,102,103,
…
,97,98,99加/解密算法描述如下:C=Ek(p)=[(p-97)+3]mod(26)+97p=Dk(C)=[(C-97)-3]mod(26)+97---若[(C-97-3)]<0时,C可借位(1)
求明文字母a的密文字母的过程如下:C=[(a-97)+3]mod(26)+97=3+97=100(d)(2
)求明文字母z的密文字母的过程如下:C=[(z-97)+3]mod
(26)+97=28mod
(26)+97=2+97=99(c)(3)求密文字母C的明文字母的过程如下:p=[(99-97)-3]mod(26)+97=[(2-3)+26]mod(26)+97=25+97=122(z)(4)求密文字母A的明文字母的过程如下:p=[(97-97)-3]mod(26)+97=[(0-3)+26]mod(26)+97=23+97=120(x)替换密码■
定
义设P=C=Z₂₃密钥空间K由所有可能的26个符号0,1,………,25的置换组成。对每一个置换定效∈Keπ(x)=π(x)则,
d(y)=π⁻¹(y)其中π-¹是π的逆置换。■替换密码的密钥是由26个字母的置换组成。这些
置换的数目是26!
,超过4.0×10²⁶,是一个非常大
的数。这样即使对现代计算机来说,穷举密钥搜
索也是不可行的。显然,替换密码的密钥(26个
元素的随机置换)太复杂而不容易记忆,因此实
际中密钥句子常被使用。密钥句子中的字母被依
次填入密文字母表(重复的字母只用一次),未
用的字母按自然顺序排列。■置换π的表示为:仿射密码■
加密函数为:e(x)=ax+b
mod
26
a,b∈Z₂6·
当a=1
时,为移位密码■仿射函数是双射·
当且仅当gcd(a,26)=1时同余方程ax+b=y(mod26)
对每个y有唯一的解仿射密码系统■
设P=C=Z₂6
,
且K={(a,b)∈Z₂₆×Z₂6:gcd(a,26)=1}对
k=(a,b)∈K定义e(x)=ax+b
mod26
且d(y)=a⁻¹(y-b)mod26(x,y∈Z26)■因为满足a∈Z26,
gcd(a,26)=1的
a只有12种候选,对参数没有要求。所以仿射密码有12×26=312种可能的密钥。多表代换密码■以一系列(两个以上)代换表依次对明文消息的字
母进行代换的加密方法。■令明文字母表为Z,f=(f₁
,f₂,为代换序列,明文
字母序列
x=x₁X₂
…
,则相应的密文字母序列为
c=e(x)=f(x)=f₁(x₁)f₂(x₂)
…。■若f是非周期的无限序列,则相应的密码称为非周期
多表代换密码。这类密码,对每个明文字母都采用
不同的代换表(或密钥)进行加密,称作一次一密密码(One-time
pad
cipher)
,这是一种理论上唯
一不可破的密码。多表代换密码(续)■
实际应用中都采用周期多表代换密码。■
经典的多表代换密码有·
Vigenère·
Beaufort·
Running-Key·
Vernam·
轮转机
(
Rotormachine)
等Vigenere
密码■Vigenère
密码是由法国密码学家Blaise
deVigenere
于1858
年提出的,它是一种以移位代换
(当然也可以用一般的字母代换表)为基础的周期代换密码
。设m是某固定的正整数,定义,对
一个密钥
k=(k₁
,k₂,…,km),
定义:ek(x₁,x₂,…,xm)=(x₁+k₁,x₂+k₂,…,Xm+km)且d(y₁,y₂,…,ym)=(y₁-k₁,y₂-k₂,…ym-km)所有的运算都在
Z₂6中。3)Vigenere
密码■Vigenere密码利用一个恺撒方阵来修匀密文中
字母的频率。在明文中不同地方出现的同一字母在密文中一
般用不同的字母替代。■恺撒方阵的形式为:A
B
CD
E
FG
…
…
YZB
CDE
F
G
H
…….Z
AC
D
E
F
G
H
I
……
A
BD
EF
G
H
I
J
…….B
C●·
·●●ZABCDEF
…….X
Y■
加
密
时,使用
一
个通信双方所共享的密钥
字母
串(如:
HAPPYTIME)
,将密钥字母串重复书写
在明文字母的上方。对要加密的明文字母找到上
方的密钥字母,然后由该字母确定恺撒方阵的某一行(以该密钥字母开头的行)。最后利用该行的
字母表,使用恺撒密码的加密方法进行替代。例如
:密
钥
:HAP
PYTI
M
EHAP
PYTI
M明文
:pl
e
a
s
e
s
e
n
d
th
e
d
a
t
a■明文中的第一个e用恺撒方阵中的P
行(P
Q
R
ST
U...O)进行加密,因此被T替代;第二个e用恺撒方阵中的T
行(T
U
V
WX...S)进行加密,
因此被X替代。■
攻击者在破解这种密码时可以猜测密钥的
长
度l
,然后按每行l个字母排列密文。如果
猜测的长度正确,
则排列后每列的所有密文字母都是用恺撒方阵中同一行进行恺撒加密的结果。密
钥
:HA
P
P
Y
T
I
M
E明文:p
l
e
a
S
e
S
e
nd
七h
e
d
a
t
a■■■■■■ReturnVigenere
密码实例[例]利用Vigenère
密码,使用密钥word加密信
息computer。明文:comp
uter密钥:word
word密文:ycds
qhvu{计算过程:y=c+w,C=o+o
(a,b,c,d,…,X,y,z)(0,1,2,3,…,23,24,25)即:24=2+22,2=(14+14)mod26}多字母代换密码——
Hill密码■
特
点●
每次对L>1
个字母进行代换,这样做的优点是容易将字母的自然频度隐蔽或均匀化而有利于
抗统计分析。■
算法设m
是某个固定的正整数,
P=C=(Z₂6)",又设K={m×m可逆阵,Z₂6};
对任意
k∈K,定义
e,(x)=xk,
则
d(y)=yk⁻¹其中,所有的运算都是在
Z₂6中进行。■
注1:
m=1时,系统退化为单字母仿射代换
密码,可见Hill密码是仿射密码体制的推广。■
注
2
:
如
果m=2,
可以将明文写为
x=(x₁,x₂)
密文写为
y=(y₁,y₂).y1,Y2是
x₁,x₂的线性
组合.若取y₁=11x₁+3x₂y₂=8x₁+7x₂简记为
y=xk
其中
为密钥.置换密码■置换密码的想法是保持明文字符未改变,但通过重排而更改他们位置,所以有时也
称为换位密码(Transposition
Cipher)。■
算法设m是某个固定的正整数,定义
P=C=(Z₂₆)”,且K
由所
有{1,2,…,m}
的置换组成.对一个密钥π(即
一个置
换),定义e(x₁,x₂,…,xm)=(x(1),n(2),…,xπ(m)其中,
π-¹是π的逆置换.置换密码举例[例一]栅栏式密码美国南北战争时期(1861-1865年),军队中曾经使用
过的“栅栏”式密码(rail
fence
cipher)。(1)原理明文:send
help加密过程:
sn
h1
;
间隔一个字符(栅栏)e
d
e
p密文:s
n
hle
d
e
p(2)算法描述将明文写成双轨的形式,然后按行的顺序书写得到密文。置换密码举例[例二]置换密码Example:Secret
Key:697243081501234
56789Plaintext:
小赵拿走黑皮包交给李。Ciphertext:
包李交拿黑走小给赵皮。对明文“我是计算机科学与技术专业学生”加密,若明文分组长度不足置换长度时加X补足,试写出加密的密文。解:根据置换矩阵,明文长度L=5,
最后一段不足5则加字
母X,
按照下列置换,得到密文为01
234
01
234
0
12
3
4■
明
文:
我
是
计
算
机
科
学
与
技
术
专
业
学
生X■
14302
1430214302■
密
文:
是
机
算
我
计
学
术
技
科
与
业X
生
专学置换密码举例[例三]置换密码用置换矩阵置换密码举例·
[例二]矩阵置换■以矩阵形式排列明文■将明文逐行写入矩阵,然后逐列读出■
密钥指出各列读出的顺序■如:明文abcdefghijklmnopqrstuvwxyzab·
密钥为:4312567abCdefghi·kImnOpqrStuVWXyZab■
密文:dkry
cjqx
ahov
bipw
elsz
fmta
gnub置换密码举例·
[例二]矩阵置换■
以矩阵形式排列明文■
将明文逐行写入矩阵,然后逐列读出■
密钥指出各列读出的顺序■
如:明文abcdefghijklmnopqrstuvwxyzab■
方法二:秘钥写上面,读出按照1234567顺序读■密钥为:
4
31
2
5
6
7abCdef9hi·kImnOpqrStuVWXyZab■
密文:cjqx
dkry
bipw
ahov
elsz
fmta
gnub置换密码举例置换是在不丢失信息的前提下对明文中的元素进行重新排列
。矩
形转置密码■
将明文写成矩形结构,然后通过控制其输出方向和输出顺序来获得密文。例如:明文
please
send
the
dada在不同输出顺序下的密文如图所示。密文:ped1destaaehtsnea
密文:estasneapedaehtld密
文
:ped
aehtl
dsneaesta图2.4矩形转置密码加密示意图[例三]
图形转置密码■
图
形
转
置密码是矩形转置密码的一
般形式。
预先选定一
种图形,将明文按一定方向输入
到该图形中,然后再按另一
种方向输出字母
便得到了密文。一
个三角形转置密码的例子如图所示。e输出方向
h
a
v明文:how
many
books
does
harry
have
h
a
rr
y密文:OSYVEBERAYORHNDAASH
MKWOOH
o
k
s
d
o
e
sh
ow
m
a
n
y
b
o输入方向
Return解密与密码分析■
Kerckhoff假设:攻击者已知加密算法■解密是加密的逆过程,是指掌握密钥和密码算法的
合法人员从密文恢复出明文的过程。密码分析则是
指非法人员对密码的破译,而且破译以后不会告诉
对
方
。■共同点:
“解密(脱密)
”和“密码分析(密码破
译
)”都是设法将密文还原成明文。■不同点:二者的前提是不同的,
“解密(脱密)
”
掌握了密钥和密码体制,而密码分析(破译)则没
有掌握密钥和密码体制。
三码分下2.2分组加密技术■
本节友情提示·2.2.1
基本概念·2.2.2
标准算法的介绍■
DES
算法■
国际数据加密算法
(
IDEA)■
AES
算法·2.2.3
分组密码的分析方法·2.2.4
分组密码的工作模式2.2.1基本概念■密码学中常见的有两种体制:·
对称密码体制(单钥密码体制)如果一个加密系统的加密密钥和解密密钥相同,或者虽
然不相同,但是由其中的任意一个可以很容易地推导出
另一个,即密钥是双方共享的,则该系统所采用的就是对
称密码体制。·
非对称密码体制(公钥密码体制)■分组密码是指将处理的明文按照固定长度进行分组,
加解密的处理在固定长度密钥的控制下,以一个分
组为单位独立进行,得出一个固定长度的对应于明
文分组的结果。属于对称密码体制的范畴。基本概念(续)■在分组密码的设计中用代替、置换手段实现扩散和
混淆功能。■
混淆指加密算法的密文与明文及密钥关系十分复杂,无
法从数学上描述,或从统计上去分析。■
扩散指明文中的任一位以及密钥中的任一位,对全体密文位有影响。经由此种扩散作用,可以隐藏许多明
文在统计上的特性,增加密码的安全现代常规加密技术■
现代对称加密技术和经典加密技术的比较:·
相同
点:以替代和置换模块作为其基本构件。·不
同
点:现代常规加密技术用计算机对信息进行
加密解密处理;
算法的强度大大提高;
密钥长度
也大大增加;加密和解密都是对二进制位进行处
理;对信息进行反
复地替代和置换操作。1
Feistel
分
组
密
码2
分组密码的操作模式3
数据加密标准
DES4
三
重DES(Triple
DES)Return1
Feistel分
组
密
码■
Feistel
分组密码是当前使用的几乎所有对称加密
算法的基础。■Feist
el密码是
一
种分
组
密
码,
Feistel的
安
全
性
与
下面几个方面密切相关:分组大小:分组越大,安全性越高,加密/解密处理速度也越慢。密钥大小:密钥长度越长,安全性越高,加密/解密速度
也越慢
。循
环
次
数:循环次数越多,安全性越高,加密/解密速度也越慢。子密
钥产
生
算法:在Feistel算法的多轮循环中,需要使
用不同的子密钥。轮函数:轮函数的扩散和扰乱功能越强,则抵御密码分
析的能力就越强。加
密
:LE=RE-1;RE=LE
1④F(RE-1,K);解
密
:LD=RD-1;RD=LD_1④F(RD-1,Kn-1+1);(C)Lw
(C)RW
(P)Lw
(P)RW明文分组P(2w
比特)密文分组
C(2w
比
特
)图2.6Feistel加密/解密示意图RDn-1—K₁FRDnRDa+1明文分组P(2w
比特)
密文分组C(2w
比特)(P)Lw(P)RW(C)Lw
(C)RWFRE]REa+1LEn-1REa-1—Kn田LDnLDn+1LEo④LE1④④LEnLEa+RDoRD₁LDo④LD₁KnKn-1REoRE₁K₁K₂FFFFLDn-1④■加密算法可以描述为:LE₀=(P)Lw;RE₀=(P)Rw;for
i=1
step
1ton
doLE₁=RE-1;RE=LEi-1④F(RE-1,K);end
forLEn+1=REn;REn+1=LEn;C=LEn+1I|REn+1;上述描述中,
(P)Lw
表示明文分组长度为w
的左半部分
,(P)w
为右半部分,
||表示拼接。■
解密算法可以描述为:LD₀=(C)Lw;RD₀=(C)RW;for
i=1
step
1
to
n
doLD=RD₁-1;RD=LD₁-1④F(RDi-1,Kn-i+1);end
forLDn+1=RDn;RDn+1=LDn;P=LDn+1I/RDn+1;Feistel密码的特
点是模块化程度高:·
加密/解密都采用基本模块经过多轮循环而实现;·
加密过程和解密过程相同,差异仅仅在子密钥的使用顺
序
上
。Return2.
分组密码的操作模式■
为
了
适应不同的应用需求,分组密码定义了四种操作
模式
。
这四
种操
作
模式
是
:电子密
码本ECB(ElectronicCodeBook)、密码分
组链
接CBC(CipherBlock
Chaining)、
密
码反
馈CFB(Ciphe
rFeedback)
和输出反馈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宝鸡职业技术学院单招综合素质笔试备考试题带答案解析
- 眼科护理技能与规范
- 医院医疗废物焚烧设备安全规范
- 2026年大连航运职业技术学院单招综合素质笔试模拟试题带答案解析
- 医院医疗设备维修人员礼仪与维修技巧
- 财政环保政策课件
- 医疗创新与创业的机遇与挑战
- 有机水果测评题库及答案
- 医疗机构礼仪培训策略优化
- 口腔科治疗技术革新报告
- DB50-T 1502-2023 黄连林下种植技术规程
- 2024统编版二年级道德与法治上册 第四单元 我爱我们的祖国(第13~16课)教案(表格式)
- (2025年)QC小组活动培训考试试题及答案
- 中老年人喝茶指南
- 【语文】陕西省西安市西工大附小小学二年级上册期末试题
- 烫伤课件教学课件
- 2025年国家开放大学《经济学基础》期末考试备考试题及答案解析
- 2025-2030中国车规级芯片设计行业市场发展趋势与前景展望战略研究报告
- 《地基处理技术》课件
- 老年人床上擦浴课件
- 2025年安全教育培训试题及答案
评论
0/150
提交评论