




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chap2古典密码密码学的发展历史三个阶段:古代加密方法、古典密码和近代密码。
1.古代加密方法(手工阶段)
从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。
古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。
公元前400年,斯巴达人就发明了“塞塔式密码”,即把长条纸螺旋形地斜绕在一个多棱棒上,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,写完一行再另起一行从左到右写,直到写完。解下来后,纸条上的文字消息杂乱无章、无法理解,这就是密文,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。这是最早的密码技术。
SpartanScytale,c.500B.C.塞塔式密码
斯巴达人用于加解密的一种军事设备,发送者把一条羊皮螺旋形地缠在一个圆柱形棒上思想:置换(permutation)我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。
比如:我画蓝江水悠悠,爱晚亭枫叶愁。秋月溶溶照佛寺,香烟袅袅绕轻楼2.古典密码(机械阶段)
古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。
3.近代密码(计算机阶段)
密码形成一门新的学科是在20世纪70年代,快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。总之,利用电子计算机可以设计出更为复杂的密码系统。目录密码学的起源、发展和现状密码学基本概念典型几种古典密码技术密码学发展阶段1949年之前密码学是一门艺术1949~1975年密码学成为科学1976年以后密码学的新方向——公钥密码学第1阶段-古典密码
密码学还不是科学,而是艺术出现一些密码算法和加密设备密码算法的基本手段出现,针对的是字符简单的密码分析手段出现主要特点:数据的安全基于算法的保密第1阶段-古典密码Phaistos圆盘,一种直径约为160mm的Cretan-Mnoan粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破解。20世纪早期密码机第1阶段-古典密码1883年Kerchoffs第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全。这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和近代密码的分界线。
计算机使得基于复杂计算的密码成为可能相关技术的发展1949年Shannon的“TheCommunicationTheoryofSecretSystems”
1967年DavidKahn的《TheCodebreakers》1971-73年IBMWatson实验室的HorstFeistel等几篇技术报告主要特点:数据的安全基于密钥而不是算法的保密
第2阶段1949~19751976年:Diffie&Hellman的
“NewDirectionsinCryptography”
提出了不对称密钥密1977年Rivest,Shamir&Adleman提出了RSA公钥算法90年代逐步出现椭圆曲线等其他公钥算法主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能第3阶段1976~1977年DES正式成为标准80年代出现“过渡性”的“PostDES”算法,如IDEA,RCx,CAST等90年代对称密钥密码进一步成熟Rijndael,RC6,MARS,Twofish,Serpent等出现2001年Rijndael成为DES的替代者第3阶段1976~目录密码学的起源、发展和现状密码学基本概念典型几种古典密码技术基本概念密码学(Cryptology):是研究信息系统安全保密的科学.密码编码学(Cryptography):主要研究对信息进行编码,实现对信息的隐蔽.密码分析学(Cryptanalytics):主要研究加密消息的破译或消息的伪造.明文(Plaintext):消息的初始形式;密文(CypherText):加密后的形式记: 明文记为P且P为字符序列,P=[P1,P2,…,Pn]
密文记为C,C=[C1,C2,…,Cn]
明文和密文之间的变换记为C=E(P)及P=D(C)
其中C表示密文,E为加密算法;P为明文,D为解密算法 我们要求密码系统满足:P=D(E(P))基本概念
加密和解密算法的操作通常都是在一组密钥的控制下进行的,分别称为加密密钥(EncryptionKey)和解密密钥(DecryptionKey).明文明文密文加密算法解密算法密钥密钥
需要密钥的加密算法,记为:C=E(K,P),即密文消息同时依赖于初始明文和密钥的值。实际上,E是一组加密算法,而密钥则用于选择其中特定的一个算法。加密与解密的密钥相同,即:P=D(K,E(K,P))
加密与解密的密钥不同,则:P=D(KD,E(KE,P))基本概念常规加密简化模型
加密算法足够强大:仅知密文很难破译出明文基于密钥的安全性,而不是基于算法的安全性:基于密文和加/解密算法很难破译出明文算法开放性:开放算法,便于实现常规加密的安全性常规加密系统的模型密码体系是一个五元组(P,C,K,E,D)满足条件:(1)P是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)(3)K是一切可能密钥构成的有限集;(密钥空间)(4)任意k∈K,有一个加密算法和相应的解密算法,使得和分别为加密解密函数,满足dk(ek(x))=x
,这里x∈P。密码体系形式化描述
保密内容密钥数量明文处理的方式密码编码系统分类
受限制的(restricted)算法算法的保密性基于保持算法的秘密(古典)基于密钥(key-based)的算法算法的保密性基于对密钥的保密(近代:对称+非对称)保密内容
对称密码算法(symmetriccipher)
加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个又称秘密密钥算法或单密钥算法非对称密钥算法(asymmetriccipher)
加密密钥和解密密钥不相同,从一个很难推出另一个又称公开密钥算法(public-keycipher)
公开密钥算法用一个密钥进行加密,而用另一个进行解密其中的加密密钥可以公开,又称公开密钥(publickey),简称公钥。解密密钥必须保密,又称私人密钥(privatekey)私钥,简称私钥密钥数量
分组密码(blockcipher)
将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。
流密码(streamcipher)
又称序列密码。序列密码每次加密一位或一字节的明文。明文处理方式密码分析试图破译单条消息试图识别加密的消息格式,以便借助直接的解密算法破译后续的消息试图找到加密算法中的普遍缺陷(无须截取任何消息)密码分析的条件与工具
已知加密算法截取到明文、密文中已知或推测的数据项数学或统计工具和技术语言特性计算机技巧与运气密码分析类型加密方案的安全性无条件安全:无论提供的密文有多少,如果由一个加密方案产生的密文中包含的信息不足以唯一地决定对应的明文除了一次一密的方案外,没有无条件安全的算法安全性体现在任意一条:破译的成本超过加密信息的价值破译的时间超过该信息有用的生命周期密钥搜索所需平均时间目录密码学的起源、发展和现状密码学基本概念典型几种古典密码技术
替代置换转子机经典加密技术
明文的字母由其它字母或数字或符号代替若该明文被视为一个比特序列,则替代涉及到用密文比特模式代替明文比特模式替代(代替)代替密码简单代替密码(simplesubstitutioncipher),又称单字母密码(monoalphabeticcipher):明文的一个字符用相应的一个密文字符代替。恺撒密码破译以下密文:wuhdwblpsrvvleohTREATYIMPOSSIBLECi=E(Pi)=Pi+3加密算法:字母表:(密码本)
ABCDEFGHIJKLMNOPQRSTUVWXYZdefghijklmnopqrstuvwxyzabc恺撒密码(caesarcipher)破译以下密文:wuhdwblpsrvvleohTREATYIMPOSSIBLECi=E(Pi)=Pi+3加密算法:字母表:(密码本)ABCDEFGHIJKLMNOPQRSTUVWXYZ(对应数字0:a,1….25:z)defghijklmnopqrstuvwxyzabc恺撒密码的改进已知加密与解密算法C=E(p)=(p+k)mod(26)p=D(C)=(C-k)mod(26)25个可能的密钥k,适用Brute-ForceCryptanalysis明文的语言是已知的且易于识别恺撒密码的特点单字母密码(简单替换技术)简单,便于记忆缺点:结构过于简单,密码分析员只使用很少的信息就可预言加密的整个结构其它单字母替换使用密钥keyABCDEFGHIJKLMNOPQRSTUVWXYZkeyabcdfghijlmnopqrstuvwxzspectacularABCDEFGHIJKLMNOPQRSTUVWXYZspectaulrbdfghijkmnoqvwxyz泄露给破译者的信息更少其它单字母替换对字母进行无规则的重新排列
E(i)=3*imod26 ABCDEFGHIJKLMNOPQRSTUVWXYZ adgjmpsvybehknqtwzcfilorux例:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ对抗频率分析的办法多字母密码(ployalphabeticcipher):明文中多个字母一起加密多表以一系列(两个以上)代换表依此对明文消息的字母进行代换的方法。
多字母密码-PlayfairPlayfair:将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文的双字母组合。5×5变换矩阵:I与J视为同一字符
CIPHE RABDF GKLMN(cipher) OQSTU VWXYZ加密规则:按成对字母加密相同对中的字母加分隔符(如x)balloon
balxloon
同行取右边:he
EC
同列取下边:dm
MT
其他取交叉:kt
MQOD
TRPlayfair举例以前面的5×5变换矩阵(cipher)为例
CIPHE RABDF GKLMN(cipher) OQSTU VWXYZ(1)balloonbalxloondbspgsug(2)bookbookrsqg(3)fillfilxlxaespspPlayfair密码分析字符出现几率一定程度上被均匀化基于字母频率的攻击比较困难依然保留了相当的结构信息多字母密码:Hill密码(1929)取m个连续的明文字母,并且用m个密文字母替代,如何替代由m个线性方程决定,每个字母对应一个数值(a=0,b=1,…,z=25)。Y=KX,K=YX-1K是一个m*m矩阵,在Z/(26)上可逆,即存在K-1使得:
KK-1=I(在Z/(26))。模为26
例子:当m=2时,明文元素x=(x1,x2),密文元素y=(y1,y2):
(y1,y2)=(x1,x2)K
若K=,可得K-1=若对明文july加密,它分成2个元素(j,u),(l,y),分别对应于(9,20)=(99+60,72+140)=(3,4)
且(11,24)=(121+72,88+168)=(11,22)于是对july加密的结果为DELW。为了解密,Bob计算
且因此,得到了正确的明文“july”Hill密码特点完全隐藏了字符(对)的频率信息线性变换的安全性很脆弱,易被已知明文攻击击破。对于一个mxm的hill密码,假定有m个明文-密文对,明文和密文的长度都是m.可以把明文和密文对记为:模q算术-i同余:给定任意整数a和q,以q除a,余数是r,则可以表示为a=sq+r,0r<q,其中s=[a/q],表示小于a/q的最大整数。定义r为amodq的剩余,记为ramodq.
若整数a和b有(amodq)=(bmodq),则称a与b在modq下同余。对于满足{r}={a|a=sq+r,sZ}的整数集称为同余类。模运算有下述性质:(1)若q|(a-b),则abmodq(2)(amodq)=(bmodq)意味abmodq(3)abmodq等价于bamodq(4)若abmodq且bcmodq
,则acmodq模q算术-ii模算术(ModularArithmatic)
在modq的q个剩余类集{0,1,2,…,q-1}上可以定义加法和乘法运算如下:
加法:(amodq)+(bmodq)=(a+b)modq
乘法:(amodq)(bmodq)=(ab)modq多表加密--Vigenérecipher是一种多表移位代替密码设d为一固定的正整数,d个移位代换表
=(1,2,…d)由密钥序列K=(k1,k2,…,kd)给定,第i+td个明文字母由表
i决定,即密钥ki决定
ek(xi+td)=(xi+td+ki,)modq=y
dk(yi+td)=(xi+td-ki)modq=x例子:q=26,x=polyalphabeticcipher,K=RADIO明文x=POLYALPHABETICCIPHER密钥k=RADIORADIORADIORADIO密文y=GOOGOCPKTPNTLKQZPKMFVigenérecipher-破译依然保留了字符频率某些统计信息重码分析法:间距是密钥长度整数倍的相同子串有相同密文,反过来,密文中两个相同的子串对应的密文相同的可能性很大。
abcdefghijklm00010203040506070809101112nopqrstuvwxyz13141516171819202122232425密钥:cryptographycryptographycr明文:yourpackagereadyroomathree密文:AFSGIOIPGPGVernam密码1918年,GillbertVernam建议密钥与明文一样长并且没有统计关系的密钥内容,他采用的是二进制数据: 加密:Ci=Pi
Ki
解密Pi=Ci
Ki
核心:构造和消息一样长的随机密钥
总结替换是密码学中有效的加密方法。本世纪上半叶用于外交通信破译威胁来自频率分布重合指数考虑最可能的字母及可能出现的单词重复结构分析及克思斯基方法持久性、组织性、创造性和运气
通过执行对明文字母的置换,取得一种类型完全不同的映射,即置换密码。若该明文被视为一个比特序列,则置换涉及到用密文比特模式代替明文比特模式置换换位密码把明文按列写入,按行读出密钥包含3方面信息:行宽,列高,读出顺序key:4312567(先读第一列)plaintext:attackpostponeduntiltwoamxyzciphertext:TTNAAPTMTSUOAODWCOIXPETZ完全保留字符的统计信息使用多轮加密可提高安全性K是一个m*m矩阵,在Z/(26)上可逆,即存在K-1使得:
KK-1=I(在Z/(26))对每一个k∈K,定义ek(x)=xK(mod26)
和dk(y)=yK-1(mod26)注:明文与密文都是m元的向量(x1,x2…,xm);(y1,y2,…,ym),Z/(26)为同余类环在这个环上的可逆矩阵Amxm,是指行列式detAmxm的值∈Z*/(26),它为Z/(26)中全体可逆元的集合。Z*/(26)={a∈Z/(26)|(a,26)=1},Z*/(26)={1,3,5,7,9,11,15,17,19,21,23,25}这里的加密与解密仅仅用了置换,无代数运算例子:设m=6,取加密密钥
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册土木工程师自测技巧试题及答案
- 2024全媒体运营师的反馈机制及试题及答案
- 全媒体运营师项目规划能力试题及答案
- 二零二五年度正常劳动合同签订与员工出差补贴协议合同
- 二零二五年度全款购入进口商务车合同范本
- 2025年度脱贫攻坚帮扶工作合作协议
- 二零二五年度数字经济合伙入股协议书
- 二零二五年度企业法人变更专项合同审查及执行细则
- 计算机与软件专业初级考试试题及答案
- 个人与村委会2025年度农村文化活动组织合同书
- 2025年公务车辆租赁管理合同范本
- 2025年会计招聘的面试题及答案
- 2025年工程测量员(技师)职业技能鉴定理论考试指导题库(含答案)
- 盈浦街道村务工作者招聘真题2024
- 金属熔融岗位培训课件
- 2025年车驾管知识题库查验业务知识考试题(附答案)
- 事故隐患内部举报奖励制度
- 万亩现代苹果产业示范园区项目实施计划方案
- 人力资源部ogsm计划
- 抹灰砂浆技术规程JGJT220-2010(完整版)
- 仓储行业保险承保指引
评论
0/150
提交评论