《密码学》教案很有价值.docx
- 文档编号:6506891
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:92
- 大小:88.44KB
《密码学》教案很有价值.docx
《《密码学》教案很有价值.docx》由会员分享,可在线阅读,更多相关《《密码学》教案很有价值.docx(92页珍藏版)》请在冰豆网上搜索。
《密码学》教案很有价值
《密码学》教案
张焕国,唐明,伍前红
武汉大学计算机学院
一、教学目的
本课程是计算机科学与技术、信息安全专业的专业选修课。
开设本课程的目的是使学生了解并掌握计算机安全保密所涉及的基本理论和方法,具备保障信息安全的基本能力。
二、教学要求
通过讲授、讨论、实践,使学生了解计算机安全的威胁、密码学算法、安全技术的发展,熟悉计算机安全保密的基本概念、操作系统安全和网络安全,掌握计算机密码学的基本理论、基本方法、常见加密算法及其实现技术、应用方法,重点掌握传统加密算法、DES算法、AES算法、背包算法、RSA算法、ECC算法、DSA算法等。
第一讲密码学的基本概念
一、信息安全学科概论
1、信息安全学科建设
2001年经教育部批准武汉大学创建了全国第一个信息安全本科专业;
2007年全国信息安全本科专业已达70多所高校;
2003年经国务院学位办批准武汉大学建立信息安全硕士点、博士点、博士后流动站
2007年1月成立国家信息安全教指委
2006年武汉大学信息安全专业获湖北省“品牌专业”
武汉大学成为我国信息安全科学研究和人才培养的重要基地。
2、信息安全学科特点
●信息安全学科是交叉学科:
计算机、通信、数学、物理、生物、管理、法律等;
●具有理论与实际相结合的特点;
●信息安全技术强调整体性、系统性、底层性;
●对信息安全来说,法律、管理、教育的作用很大,必须高度重视。
●人才是关键,人的综合素质是关键的关键!
3、武汉大学的办专业思路
以学信息安全为主,兼学计算机、通信,同时加强数学、物理、法律等基础,掌握信息安全的基本理论与技能,培养良好的品德素质。
二、信息安全的基本概念
1、信息安全事关国家安全
信息成为社会发展的重要战略资源,信息技术改变着人们的生活和工作方式。
信息产业成为新的经济增长点。
社会的信息化已成为当今世界发展的潮流。
信息获取、处理和安全保障能力成为综合国力的重要组成部分。
信息安全事关国家安全,事关社会稳定。
2、信息系统安全的概念
能源、材料、信息是支撑现代社会大厦的三根支柱。
信息是逻辑的、抽象的,不能脱离系统而独立存在!
①信息系统安全包括四个层面
信息系统安全=设备安全+数据安全+内容安全+行为安全
简称信息系统安全为信息安全!
②中文词安全=Security+Safety
–中文安全的含义等于英文Security加上Safety的含义。
–Security是指阻止人为的对安全的危害。
–Safety是指阻止非人为的对安全的危害。
③信息系统设备安全的概念
l信息系统设备的安全是信息系统安全的首要问题和基础之一。
l三个侧面:
设备的稳定性(Stability),设备的可靠性(Reliability),设备的可用性(Availabity)。
l设备:
硬设备,软设备
④数据安全的概念
IBM公司的定义:
采取措施确保数据免受未授权的泄露、篡改和毁坏。
–说明:
这个定义明确了信息安全的三个侧面:
数据的秘密性(Secrecy),数据的真实性(Authenticity),数据的完整性(Integrity)。
–这个定义还说明了,为了信息安全必须采取措施,必须付出代价,代价就是资源(时间和空间)。
⑤内容安全的概念
内容安全是信息安全在法律、政治、道德层次上的要求。
政治上健康
符合国家法律、法规
符合中华民族道德规范
⑥行为安全的概念
行为安全是信息安全的终极目的。
·符合哲学上,实践是检验真理的唯一标准的原理。
·从过去的仅看身份,发展为既看身份更看行为。
·三个侧面:
行为的秘密性;
行为的完整性;
行为的可控性。
3、信息安全措施
◆信息安全措施={法律措施,教育措施,管理措施,技术措施,
注意:
决不能低估法律、教育、管理的作用,许多时候它们的作用大于技术。
①信息安全的技术措施
信息安全技术措施={硬件系统安全、操作系统安全、密码技术、通信安全、网络安全、数据库安全、病毒防治技术,防电磁辐射技术,信息隐藏技术,数字资源保护技术,电子对抗技术,···}。
注意:
硬件结构的安全和操作系统安全是基础,密码、网络安全等是关键技术。
②信息安全的管理措施
信息安全管理措施既包括信息设备、机房的安全管理,又包括对人的安全管理,其中对人的管理是最主要的。
目前,计算机网络系统安全的最大威胁之一是缺少有效的计算机网络安全监管。
③信息安全的法律措施
信息安全措施包括各级政府关于信息安全的各种法律、法规。
商用密码管理条例;
计算机安全管理条例;
因特网安全管理条例等。
④信息安全的教育措施
对人的思想品德教育、安全意识教育、安全法律法规的教育等。
国内外的计算机犯罪事件都是人的思想品德出问题造成的。
信息安全是一个系统工程必须综合采取各种措施才能奏效。
4、计算机系统的安全服务功能:
身份认证服务,
访问控制服务,
数据加密服务,
数据完整性服务,
不可否认服务,
安全审计。
三、密码学的基本概念
密码技术是一门古老的技术。
世界各国都视密码为武器。
战争的刺激和科学技术的发展推动了密码学的发展。
信息技术的发展和广泛应用为密码学开辟了广阔的天地。
我国的密码分级:
①核心密码:
用于保护党、政、军的核心机密。
②普通密码:
用于保护国家和事企业单位的低于核心机密而高于商用的机密信息。
③商用密码:
用于保护国家和事企业单位的非机密的敏感信息。
④个人密码:
用于保护个人的隐私信息。
前三种密码均由国家密码管理局统一管理!
我国商用密码政策:
①统一领导:
国家密码管理局统一领导。
②集中管理:
国家密码管理局办公室集中管理。
③定点研制:
只允许定点单位进行研制。
④专控经营:
经许可的单位才能经营。
⑤满足使用:
国内各单位都可申请使用。
1、密码的基本思想
伪装信息,使未授权者不能理解它的真实含义。
所谓伪装就是对信息进行一组可逆的数学变换。
伪装前的原始信息称为明文,伪装后的信息称为密文,伪装的过程称为加密。
去掉伪装还原明文的过程成为解密。
加密在加密密钥的控制下进行。
解密在解密密钥的控制下进行。
用于加密的一组数学变换称为加密算法。
用于解密的一组数学变换称为解密算法。
2、密码体制(Cryptosystem)的构成
密码体制由以下五部分组成:
①明文空间M:
全体明文的集合
②密文空间C:
全体密文的集合
③密钥空间K:
全体密钥的集合,K=
④加密算法E:
一族由M®C的加密变换
⑤解密算法D:
一族由C®M的解密变换。
解密变换是加密变换的逆。
对于一个确定的密钥,加密算法将确定出一个具体的加密变换,解密算法将确定出一个具体的解密变换,而且解密变换就是加密变换的逆变换。
对于明文空间的每一个明文M,加密算法E在密钥Ke的控制下将明文M加密成密文C:
C=E(M,Ke)。
而解密算法D在密钥Kd的控制下将密文解出同一明文M。
M=D(C,Kd)=D(E(M,Ke),Kd)
3、密码体制的分类
从加密钥与解密钥是否相等划分:
⑴传统密码:
⑵公开密钥密码:
从密钥的使用方式划分:
⑴序列密码:
①明文、密文、密钥以位(字符)为单位加解密;
②核心密码的主流;
⑵分组密码:
①明文、密文、密钥以分组为单位加解密;
②商用密码的主流:
①传统密码:
分组:
DESIDEAEESAESMS4
序列:
RC4
②公开密钥密码:
RSAELGamalECC
新型密码:
(1)演化密码
①密码算法不断演化变化,越来越强的密码。
②密码设计自动化的一种方法。
③借鉴生物进化,将密码学与演化计算结合
(2)量子密码
①在唯密文攻击下绝对安全的密码。
②逐步走向实用。
③2007年我国宣布,国际上首个量子密码通信网络由我国科学家在北京测试运行成功。
这是迄今为止国际公开报道的唯一无中转、可同时、任意互通的量子密码通信网络,标志着量子保密通信技术从点对点方式向网络化迈出了关键一步。
(3)DNA密码
●DNA密码基于生物学中的某种困难问题。
●由于DNA密码的安全不依赖于计算困难问题,所以不管未来的电子计算机、量子计算机和DNA计算机具有多么强大的计算能力,DNA密码对于它们的计算攻击都是免疫的。
4、密码学的组成
①研究密码编制的科学称为密码编制学(Cryptography),
②研究密码破译的科学称为密码分析学(Cryptanalysis),
③而密码编制学和密码分析学共同组成密码学(Cryptology)。
5、密码分析
①如果能够根据密文系统地确定出明文或密钥,或者能够根据明文-密文对系统地确定出密钥,则我们说这个密码是可破译的。
②一个密码,如果无论密码分析者截获了多少密文和用什么方法进行攻击都不能被攻破,则称为是绝对不可破译的。
③绝对不可破译的密码学在理论上是存在的——“一次一密”
1)穷举攻击密码分析者采用依次试遍所有可能的密钥对所获密文进行解密,直至得到正确的明文;或者依次用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文。
显然,理论上,对于任何实用密码只要有足够的资源,都可以用穷举攻击将其改破。
实例:
1997年美国一个密码分析小组宣布:
1万多人参加,通过INTERNET网络,利用数万台微机,历时4个多月,通过穷举攻破了DES的一个密文。
美国现在已有DES穷举机,多CPU并行处理,24小时穷举出一个密钥。
2)统计分析攻击所谓统计分析攻击就是指密码分析者通过分析密文和明文的统计规律来破译密码。
统计分析攻击在历史上为破译密码作出过极大的贡献。
许多古典密码都可以通过统计分析而破译。
3)数学分析攻击所谓数学分析攻击是指密码分析者针对加密算法的数学依据通过数学求解的方法来破译密码。
为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加密算法。
根据占有的数据资源分类:
A)仅知密文攻击(Ciphertext-onlyattack)
所谓仅知密文攻击是指密码分析者仅根据截获的密文来破译密码。
因为密码分析者所能利用的数据资源仅为密文,因此这是对密码分析者最不利的情况。
密码学的基本假设:
攻击者总能获得密文。
攻击者总能知道密码算法。
攻击者不知道密钥。
根据占有的数据资源分类:
B)已知明文攻击(Known-plaintextattack)
所谓已知明文攻击是指密码分析者根据已经知道的某些明文-密文对来破译密码。
攻击者总是能获得密文,并猜出部分明文。
计算机程序文件加密特别容易受到这种攻击。
根据占有的数据资源分类:
C)选择明文攻击(Chosen-plaintextattack)
所谓选择明文攻击是指密码分析者能够选择明文并获得相应的密文。
计算机文件加密和数据库加密特别容易受到这种攻击。
这是对攻击者最有利的情况!
6、密码学的理论基础
⑴商农信息论
①从信息在信道传输中可能受到攻击,引入密码理论;
②提出以扩散和混淆两种基本方法设计密码;
③阐明了密码系统,完善保密,理论保密和实际保密等概念。
⑵计算复杂性理论
①密码的安全性以计算复杂度来度量;
②现代密码往往建立在一个数学难题之上,而难是计算复杂度的概念;
③计算复杂度只能为密码提供一个必要条件。
7、密码设计的基本方法
⑴公开设计原则
密码的安全应仅依赖于对密钥的保密,不依赖于对算法的保密。
⑵扩散和混淆
①扩散(diffusion):
将明文和密钥的每一位的影响散布到尽量多的密文位中;理想情况下达到完备性。
②混淆(confusion):
使明文、密钥和密文之间的关系复杂化。
⑶迭代与乘积
①迭代:
设计一个轮函数,然后迭代。
②乘积:
将几种密码联合应用。
8、密码学的一些结论:
①公开设计原则:
密码的安全只依赖于密钥的保密,不依赖于算法的保密;②理论上绝对安全的密码是存在的:
一次一密;
③理论上,任何实用的密码都是可破的;
④我们追求的是计算上的安全。
⑤计算上的安全:
使用可利用的计算资源不能破译。
复习题
1解释信息安全的含义。
2密码的基本思想是什么?
3密码体制分哪些类型?
各有什么优缺点?
4什么是密码分析?
密码分析有哪些类型?
5为什么说理论上,任何实用的密码都是可破的?
6计算机的程序文件和数据库文件加密容易受到什么攻击?
为什么?
第二讲古典密码
一、主要古典密码
C.D.Shannon:
采用混淆、扩散和乘积的方法来设计密码
混淆:
使密文和明文、密钥之间的关系复杂化
扩散:
将每一位明文和密钥的影响扩大到尽可能多的密文位中。
乘积和迭代:
多种加密方法混合使用对一个加密函数多次迭代
古典密码编码方法:
置换,代替,加法
1、置换密码
把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码。
最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。
明文:
明晨5点发动反攻。
MINGCHENWUDIANFADONGFANGONG
密文:
GNOGNAFGNODAFNAIDUWNEHCGNIM
理论上:
①、置换密码的加密钥是置换矩阵p,解密钥是置换矩阵p-1。
②、置换密码经不起已知明文攻击。
⑴单表代替密码
①、加法密码
A和B是有n个字母的字母表。
定义一个由A到B的映射:
f:
A→B
f(ai)=bi=aj
j=i+kmodn
加法密码是用明文字母在字母表中后面第k个字母来代替。
K=3时是著名的凯撒密码。
②、乘法密码
A和B是有n个字母的字母表。
定义一个由A到B的映射:
f:
A→B
f(ai)=bi=aj
j=ikmodn
其中,(n,k)=1。
注意:
只有(n,k)=1,才能正确解密。
③密钥词组代替密码:
随机选一个词语,去掉其中的重复字母,写到矩阵的第一行,从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵。
然后按列取出字母构成密文字母表。
举例:
密钥:
HONGYE
矩阵:
HONGYE选出顺序:
按列
ABCDFI
JKLMPQ改变密钥、矩阵大小
RSTUVW和取出序列,得到不同的
XZ密文字母表。
密文字母表:
B={HAJRXOBKSZNCLTGDMUYFPVEIQW}
⑵、多表代替密码
单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。
构造多个密文字母表,
在密钥的控制下用相应密文字母表中的一个字母来代替明文字母表中的一个字母。
一个明文字母有多种代替。
Vigenere密码:
著名的多表代替密码
3、代数密码:
①Vernam密码
明文、密文、密钥都表示为二进制位:
M=m1,m2,…,mnK=k1,k2,…,knC=c1,c2,…,cn
②加密:
c1=mi⊕ki,i=1,2,…,n
解密:
m1=ci⊕ki,i=1,2,…,n
③因为加解密算法是模2加,所以称为代数密码。
④对合运算:
f=f-1,模2加运算是对合运算。
密码算法是对和运算,则加密算法=解密算法,工程实现工作量减半。
⑤Vernam密码经不起已知明文攻击。
⑥如果密钥序列有重复,则Vernam密码是不安全的。
⑦一种极端情况:
一次一密
•密钥是随机序列。
•密钥至少和明文一样长。
•一个密钥只用一次。
⑧一次一密是绝对不可破译的,但它是不实用的。
⑨一次一密给密码设计指出一个方向,人们用序列密码逼近一次一密。
二、古典密码的穷举分析
1、单表代替密码分析
①加法密码
因为f(ai)=bi=aj
j=i+kmodn
所以k=1,2,...,n-1,共n-1种可能,密钥空间太小。
以英文为例,只有25种密钥。
经不起穷举攻击。
②乘法密码
因为f(ai)=bi=aj
j=ikmodn,且(k,n)=1。
所以k共有f(n)种可能,密钥空间更小。
对于英文字母表,n=26,k=1,3,5,7,9,11,15,17,19,21,23,25取掉1,共11种,比加法密码更弱。
经不起穷举攻击。
③密钥词语代替密码
因为密钥词语的选取是随机的,所以密文字母表完全可能穷尽明文字母表的全排列。
以英文字母表为例,n=26,所以共有26!
种可能的密文字母表。
26!
≈41026
用计算机也不可能穷举攻击。
注意:
穷举不是攻击密钥词语代替密码的唯一方法。
三、古典密码的统计分析
1、密钥词组单表代替密码的统计分析
任何自然语言都有自己的统计规律。
如果密文中保留了明文的统计特征,就可用统计方法攻击密码。
由于单表代替密码只使用一个密文字母表,一个明文字母固定的用一个密文字母来代替,所以密文的统计规律与明文相同。
因此,单表代替密码可用统计分析攻破。
2、英语的统计规律
每个单字母出现的频率稳定。
最高频率字母E
次高频率字母TAOINSHR
中高频率字母DL
低频率字母CUMWFGYPB
最低频率字母VKJXQZ
频率最高的双字母组:
THHEINERANREEDON
ESSTENATTONTHAND
OUEANGASORTIISET
ITARTESEHIOF
频率最高的三字母组:
THEINGANDHEREREENTTHAWAS
ETHFORDHTHATSHEIONHISERS
VER
其中THE的频率是ING的3倍!
英文单词以E,S,D,T为结尾的超过一半。
英文单词以T,A,S,W为起始字母的约占一半。
还有其它统计规律!
教科书上有一个完整的统计分析例子。
经得起统计分析是对近代密码的基本要求!
复习题
①已知置换如下:
123456
351642
明文=642135,密文=?
密文=214365,明文=?
②使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥。
③已知一个加法密码的密文如下:
BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD
用穷举法求出明文。
④以英文为例,用加法密码,取密钥常数k=7,对明文INFORMATIONSECURITY,进行加密,求出密文。
⑤证明,在置换密码中,置换p是对合的,当且仅当对任意的i和j(i,j=1,2,3,…,n),若p(i)=j,则必有p(j)=i。
⑥编程实现Vigenre密码。
⑦分析仿射密码的安全性。
第三讲数据加密标准DES
一、DES的概况
1、重要时间:
1973年美国国家标准局(NBS)向社会公开征集加密算法,以制定加密算法标准;
1974年第二次征集;
1975年选中IBM的算法,公布征求意见;
1977年1月15日正式颁布;
1998年底以后停用。
1999年颁布3DES为新标准。
2、标准加密算法的目标
①用于加密保护政府机构和商业部门的非机密的敏感数据。
②用于加密保护静态存储和传输信道中的数据。
③安全使用10~15年。
3、整体特点
①分组密码:
明文、密文和密钥的分组长度都是64位。
②面向二进制的密码算法:
因而能够加解密任何形式的计算机数据。
③对合运算:
因而加密和解密共用同一算法,使工程实现的工作量减半。
④综合运用了置换、代替、代数等多种密码技术。
4、应用
①许多国际组织采用为标准。
②在全世界范围得到广泛应用。
③产品形式:
软件(嵌入式,应用软件);硬件(芯片,插卡)
5、结论
用于其设计目标是安全的。
设计精巧、实现容易、使用方便,堪称典范。
二、算法
1、DES加密过程的数学描述:
Li=Ri-1
Ri=Li-1⊕f(Ri-1,Ki)i=1,2,3,…16
2、置换选择1:
①、作用
去掉密钥中的8个奇偶校验位。
打乱重排,形成C0(左28位),D0(右28位)。
3、循环移位:
①、作用
对C0,D0分别循环移位。
4、置换选择2:
①、作用
从Ci和Di(56位)中选择出一个48位的子密钥Ki。
5、初始置换IP
①、作用
把64位明文打乱重排。
左一半为L0(左32位),右一半为R0(右32位)。
例:
把输入的第1位置换到第40位,把输入的第58位置换到第1位。
6、逆初始置换IP-1
①、作用
把64位中间密文打乱重排。
形成最终的64位密文。
7、加密函数f
①作用
DES的核心。
加密数据。
数据处理宽度32位。
②选择运算E
把32位输入扩充为48位中间数据;
重复使用数据实现扩充。
③选择替换S(S盒)
S盒是DES唯一的非线性变换。
S盒是DES安全的关键。
共有8个S盒。
每个S盒有6个输入,4个输出,是一种非线性压缩变换。
设输入为b1b2b3b4b5b6,则以b1b6组成的二进制数为行号,b2b3b4b5组成的二进制数为列号。
行列交点处的数(二进制)为输出。
④置换运算P
把数据打乱重排。
8、DES的解密过程
DES的运算是对和运算,解密和加密可共用同一个运算。
不同点:
子密钥使用的顺序不同。
第一次解密迭代使用子密钥K16,第二次解密迭代使用子密钥K15,第十六次解密迭代使用子密钥K1。
DES解密过程的数学描述:
Ri-1=Li
Li-1=Ri⊕f(Li,Ki)i=16,15,14,...,1
9、DES的对和性证明
1、可逆性证明
①定义T是把64位数据的左右两半交换位置:
T(L,R)=(R,L)
因为,T2(L,R)=(L,R)=I,其中I为恒等变换,于是,
T=T–1,
所以T变换是对合运算。
②记DES第i轮中的主要运算为,即
Fi(Li–1,Ri-1)=(Li-1⊕f(Ri-1,Ki),Ri-1)
Fi2=Fi(Li-1⊕f(Ri-1,Ki),Ri-1)
=(Li-1⊕f(Ri-1,Ki)⊕f(Ri-1,Ki),Ri-1)
=(Li–1,Ri-1)
=I
所以,Fi=Fi–1。
所以Fi变换也是对合运算。
③结合①、②,便构成DES的轮运算
Hi=FiT
因为(FiT)(TFi)=(Fi(TT)Fi)=FiFi=I,
所以
(FiT)-1=(TFi)
(FiT)=(TFi)-1
④加解密表示
⑴DES(M)=IP-1(F16)(TF15)…(TF2)(TF1)IP(M)=C
⑵DES-1(C)=IP-1(F1)(TF2)(TF3)…(TF15)(TF16)IP(C)
把⑴式代入⑵式可证:
DES-1(DES(M))=M
所以,DES是可逆的。
2、对合性证明
DES=IP-1(F16)(TF1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 教案 有价值