02传统加密
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1密码学基本概念 2.1密码学基本概念
密码学( 密码学(cryptology)是研究密码系统或通信安 是研究密码系统或通信安 全的一门科学.它主要包括两个分支, 全的一门科学.它主要包括两个分支,即密码编 码学( 码学(cryptography)和密码分析学 ) (cryptoanalytics) . ) 密码编码学的主要目的是伪装信息, 密码编码学的主要目的是伪装信息,就是以给定 的有意义的数据进行可逆的数学变换, 的有意义的数据进行可逆的数学变换,将其变为 表面上杂乱无章的数据, 表面上杂乱无章的数据,使得只有合法的接收者 才能恢复有意义的数据, 才能恢复有意义的数据,而其余任何人都不能 或很难)恢复原来的数据. (或很难)恢复原来的数据. 密码分析学的主要目的是研究加密消息的破译和 消息的伪造. 消息的伪造.
2.1.1 密码编码学
密码编码学系统具有以下三个独立的特征: 1. 转换明文为密文的运算类型:所有的加密算法都基于 两个原理:代换和置换 代换和置换,代换是将明文中的每个元素(如 代换和置换 位,字母,位组或字组等)映射成另一个元素;置换是将 明文中的元素重新排列.上述运算的基本要求是不允许有 信息丢失(即所有的运算是可逆的).大多数密码体制, 也称为乘积密码系统,都使用了多层代换和置换. 2. 所用的密钥数 密钥数:如果发送方和接收方使用相同的密钥, 密钥数 这种密码就称为对称密码,单密钥密码,秘密钥密码或传 统密码.如果收发双方使用不同的密钥,这种密码就称为 非对称密码,双钥或公钥密码. 3. 处理明文的方法:分组密码 分组密码每次处理输入的一组元素, 分组密码 相应地输出一组元素.流密码 流密码则是连续地处理输入元素, 流密码 每次输出一个元素.
密码分析学
基于密码分析者知道信息的多少, 基于密码分析者知道信息的多少,下表概括了密码攻击的几 种类型. 种类型. 惟密文攻击(加密算法,要解密的密文) 惟密文攻击 已知明文攻击(加密算法,要解密的密文,用同一密钥加密 已知明文攻击 的一个或多个明密文对 选择明文攻击(加密算法,要解密的密文,分析者任意选择 选择明文攻击 的明文,及对应的密文) 选择密文攻击(加密算法,要解密的密文,分析者有目的选 选择密文攻击 择的一些密文,以及对应的明文) 选择文本攻击 (加密算法,要解密的密文,分析者任意选择 的明文,及对应的密文,分析者有目的选择的一些密文, 及对应的明文) 以上攻击强度依次增大.一般地, 以上攻击强度依次增大.一般地,加密算法起码要能经受得 住已知明文攻击才行. 住已知明文攻击才行.
密码学的历史
《武经总要》中,曾公亮收纳了当时军队中必用的40个军 用短语编成密码本,另以没有重复字的五言律诗一首(正 好为40字)作为解码"密钥".这40个军用短语分别为: "1,请弓;2,请箭;3,请刀;4,请甲;5,请枪 旗……37,将士叛;38,士卒病;39,将军病;40,战小 胜".当部将率部出征时,主将发给部将一本密码本,并 约好用某一首五言诗作为解码"密钥". 例如,双方事先约定以杜甫的《春望》为"密钥".该诗 全文为:"国破山河在,城春草木深.感时花溅泪,恨别 鸟惊心.烽火连三月,家书抵万金.白头搔更短,浑欲不 胜簪."战斗进行中,如急需增拨弓,箭,统兵部将从密 码本中查出"请弓"为1号短信,"请箭"为2号短语,然 后再在《春望》一诗中找出其第1,2字分别为"国"和 "破".此将领即可拟一普通公文.公文中混编入"国" 和"破"二个字,并在此二字上加盖自己印章.主将收到 公文后,就可紧急调集弓和箭前去增援.
Caesar密码 2.2.1 Caesar密码
已知最早的代换密码是由Julius Caesar发明的 发明的Caesar密 已知最早的代换密码是由 发明的 密 它非常简单, 码.它非常简单,就是对字母表中的每个字母用它之后的 第3个字母来代换.例如: 个字母来代换. 个字母来代换
meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB
密码分析学
对称密码体制的所有分析方法都利用了这样一个事实,即 明文的结构和模式在加密之后仍然保存了下来,并且在密 文中能找到一些蛛丝马迹. 穷举攻击:试遍所有密钥直到有一个合法的密钥能够把密 穷举攻击 文还原成明文,这就是穷举攻击. 下表给出了不同密钥大 小对应的解密所需时间.
2.2 代换技术
首先我们讨论一下所有加密技术都要用到 的两个基本模块:代换和置换 代换和置换. 代换和置换 代换法是将明文字母替换成其他字母,数 代换法 字或符号的方法当涉及字母时,本书约定: 用小写字母表示明文,大写字母表示密文, 斜体小写字母表示密钥.
明文X=[ 1,X2,…Xm]字母表为26个大 明文 =[X 字母表为 个大 =[ 写字母.目前,最常用的字母表为{ 写字母.目前,最常用的字母表为{0,1} } 加密密钥为K= 加密密钥为 =[K1,K2…Kj],密钥 的可 ,密钥K的可 能值的范围称密钥空间. 能值的范围称密钥空间. 加密Y= =[Y 加密 =E(K, X)=[ 1,Y2,…Yn] =[ 解密X=D(K, Y)= [X1,X2,…Xn] 解密 一般假定攻击者知道加密(解密)算法, 一般假定攻击者知道加密(解密)算法, 攻击者的兴趣在于X和 攻击者的兴趣在于 和K
2.1.2 密码分析学
攻击密码体制的典型目标是恢复使用的密钥,而不是仅仅 恢复出单个密文对应的明文.攻击传统的密码体制有两种 一般的方法: ● 密码分析学:密码分析学攻击依赖于算法的性质和明文 的一般特征或某些明密文对.这种形式的攻击企图利用算 法的特征来推导出特别的明文或使用的密钥. ● 穷举攻击:攻击者对一条密文尝试所有可能的密钥,直 到把它转化为可读的有意义的明文.平均而言,获得成功 至少要尝试所有可能密钥的一半. 如果上述任意一种攻击能成功地推导出密钥,那么影响将 是灾难性的:将会危及所有未来和过去使用该密钥加密的 消息的安全. 我们首先考虑密码分析学,然后讨论穷举攻击.
Caesar密码的三个重要特征使我们可以采 用穷举攻击分析方法: 1. 已知加密和解密算法. 2. 需测试的密钥只有25个. 3. 明文所用的语言是已知的,且其意义易于 识别.
2.2.2 单表代换密码
Caesar密码仅有25种可能的密钥,是远不够安全 的.通过允许任意代换,密钥空间将会急剧增大. 如果密文行是26个字母的任意置换,那么就有26! 或大于 4×1026种可能的密钥,这比DES的密钥 空间要大10个数量级,应该可以抵挡穷举攻击了. 这种方法称为单表代换密码. 对于这种加密方法,如何进行攻击呢?
注意字母表是循环的,即认为紧随字母Z之后的是字母 之后的是字母A 注意字母表是循环的,即认为紧随字母Z之后的是字母A.
a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
那么,加密算法可以如下表达,对于每个明文字母p,代换 那么,加密算法可以如下表达,对于每个明文字母 , 成密文字母C: 成密文字母 :C = E(3, p) = (p + 3) mod 26
Caesar密码 2.2.1 Caesar密码
一般化的恺撒加密算法为: C = E(k, p) = (p + k) mod 26 一般化的恺撒解密算法为: p = D(k, C) = (C - k) mod 26 如果已知某给定的密文是Caesar密码,那么穷举攻击是很 容易实现的:只要简单地测试所有的25种可能的密钥. 如图2.3的例子.
密码分析学
无条件安全:如果一个密码体制满足条件:无论有多少可 无条件安全 使用的密文,都不足以惟一地确定密文所对应的明文,则 称该加密体制是无条件安全的.也就是说,无论花多少时 间,攻击者都无法将密文解密,这仅仅因为他所需的信息 不在密文里.除了一次一密(在以后的章节中将会讲到) 之外,所有的加密算法都不是无条件安全的. 计算上安全:实用中,加密算法的使用者应挑选尽量满足 计算上安全 以下标准的算法: ● 破译密码的代价超出密文信息的价值. ● 破译密码的时间超出密文信息的有效生命期. 如果满足了上述两条标准,则加密体制是计算上安全的.
如果把字母表编码为0~25的数字: 的数字: 如果把字母表编码为 的数字
a b c 0 1 2 n o 13 14 d e f 3 4 5 p q 15 16 g h i 6 7 8 r s 17 18 j k l m 9 10 11 12 t u v w x y Z 19 20 21 22 23 24 25
第二章 传统加密技术
2.0密码学历史 密码学历史 2.1密码学基本概念 密码学基本概念 2.2 代换技术 2.3 置换技术 2.4 轮转机 2.5 隐写术
Baidu Nhomakorabea 密码学的历史
密码技术的出现可以追溯到远古时代,英文中密码学 (Cryptography)一词来源于古希腊的Kryptos和Graphein, 意思是密写. 自从人类社会有了战争就出现了密码(烽火戏诸侯,凯撒 密码),但1949年以前的密码更多的是一门艺术 艺术,那时的 艺术 密码专家常常靠直觉和经验来设计和分析密码,而不是靠 严格的证明. 1949年,Shannon发表了题为"保密系统的通信原理"一 文,开始了密码学的科学 科学研究.近代密码技术已发展为一 科学 门和数学紧密相关的学科,即所谓的密码学.密码学发展 成为一门系统的技术科学,除了和数学紧密相关而外,还 涉及到通信,计算机,微电子学等多种技术门类,所应用 的数学工具也从简单的代数发展到近代代数,信息论,数 论,组合学,计算机复杂性等等多个领域.本书主要介绍 密码学中的基本概念,常用的加密算法及密码的管理.
密码学的历史
《六韬》,又称《太公兵法》,传说作者为姜太公. 其中有两种军事通讯密码,一是阴符,二是阴书. 阴符是使用者事先制造一套尺寸不等,形状各异的"阴 符",共8种,每种都代表一定意义,只有通讯双方知道. 它们是:大胜克敌符,长1尺;破阵离将符,长9寸;降城 得邑符,长8寸;却敌极远符,长7寸;警众坚守符,长6 寸;请粮益兵符,长5寸;败军亡将符,长4寸;失利亡士 符,长3寸; 较之阴符,阴书进了一步.它应用"一合而再离,三发而 一知"的方法.也就是说把一份完整的军事文书裁成3份, 分写在3枚竹简上,派3个通讯员分别持这枚竹简出发,到 达目的地后,3枚简合而为一,方知愿意.中途即使其中 一人或二人被捕,也不致失密.
传统密码的安全使用要满足如下两个要求: 1. 加密算法必须是足够强的.至少,我们希望这个算法在对 加密算法必须是足够强的. 手知道它并且能够得到一个或者多个密文时也不能破译密 文或计算出密钥.这个要求通常用一种更强的形式表述为: 即使对手拥有一定数量的密文和产生每个密文的明文,他 也不能破译密文或发现密钥. 2. 发送者和接收者必须在某种安全的形式下获得密钥 密钥并且必 密钥 须保证密钥安全. 一般来说,加密算法可以是公开的.对称密码的这些特点 使其能够广泛应用.算法不需要保密这一事实使得制造商 可以开发出低成本的芯片以实现数据加密算法.这些芯片 能够广泛使用,许多产品里都有这种芯片.所以,采用对 称密码,首要的安全问题是密钥的保密性 密钥的保密性. 密钥的保密性
密码系统的模型
图2-2
明文 密码分析者 密文 明文
消息源
加密
密钥
解密
密钥
接收者
密钥源
密钥源
安全通道
明文:原始可理解的消息或数据,作为算法的输入. 明文 加密算法:加密算法对明文进行各种代换和变换. 加密算法 密钥:密钥也是加密算法的输入.密钥独立于明文和算法. 密钥 算法根据所用的特定密钥而产生不同的输出.算法所用的 代换和变换也依靠密钥. 密文:作为算法的输出,看起来是完全随机而杂乱的消息. 密文 它依赖于明文和密钥.对于给定的消息,不同的密钥产生 不同的密文,密文是数据的随机流,并且其意义是不可理 解的. 解密算法:本质上是加密算法的逆运行.输入密文和密钥, 解密算法 输出原始明文.