密码学 密码学 绪论 密码学的发展历史(1) 1.3 密码学的发展历史 密码学的发展历程大致经历了三个阶段:古代加密方法、古典密码和近代密码。 1.3.1 古代加密方法(手工阶段) 源于应用的无穷需求总是推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。 古代加密方法大约起源于公前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。 密码学用于通信的另一个记录是斯巴达人于公前400年应用Scytale加密工具在军官间传递秘密信息。Scytale实际上是一个锥形指挥棒,周围环绕一张羊皮纸,将要保密的信息写在羊皮纸上。解下羊皮纸,上面的消息杂乱无章、无法理解,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。 我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。 由上可见,自从有了文字以来,人们为了某种需要总是想法设法隐藏某些信息,以起到保证信息安全的目的。这些古代加密方法体现了后来发展起来的密码学的若干要素,但只能限制在一定范围内使用。 传输密文的发明地是古希腊,一个叫Aeneas Tacticus的希腊人在《论要塞的防护》一书中对此做了最早的论述。公前2世纪,一个叫Polybius的希腊人设计了一种将字母编码成符号对的方法,他使用了一个称为Polybius的校验表,这个表中包含许多后来在加密系统中非常常见的成分,如代替与换位。Polybius校验表由一个5′5的网格组成(如表1-1所示),网格中包含26个英文字母,其中I和J在同一格中。每一个字母被转换成两个数字,第一个是字母所在的行数,第二个是字母所在的列数。如字母A就对应着11,字母B就对应着12,以此类推。使用这种密码可以将明文“message”置换为密文“32 15 43 43 11 22 15”。在古代,这种棋盘密码被广泛使用。 表1-1 Polybius校验表 1 2 3 4 5 1 A B C D E 2 F G H I/J K 3 L M N O P 4 Q R S T U 5 V W X Y Z 古代加密方法主要基于手工的方式实现,因此称为密码学发展的手工阶段。 1.3.2 古典密码(机械阶段) 古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。Caesar密码就是一种典型的单表加密体制;多表代替密码有Vigenere密码、Hill密码;著名的Enigma密码就是第二次世界大战中使用的转轮密码。 阿拉伯人是第一个清晰地理解密码学原理的人,他们设计并且使用代替和换位加密,并且发现了密码分析中的字母频率分布关系。大约在1412年,al-Kalka-shandi在他的大百科全书中论述了一个著名的基本处理办法,这个处理方法后来广泛应用于多个密码系统中。他清楚地给出了一个如何应用字母频率分析密文的操作方法及相应的实例。 欧洲的密码学起源于中世纪的罗马和意大利。大约在1379年,欧洲第一本关于密码学的手册由Gabriela de Lavinde编写,由几个加密算法组成,并且为罗马教皇Clement七世服务。这个手册包括一套用于通信的密钥,并且用符号取代字母和空格,形成了第一个简要的编码字符表(称为Nomenclators)。该编码字符表后来被逐渐扩展,并且流行了几个世纪,成为当时欧洲政府外交通信的主流方法。 到了1860年,密码系统在外交通信中已得到普遍使用,并且已成为类似应用中的宠儿。当时,密码系统主要用于军事通信,如在美国国内战争期间,联邦军广泛地使用了换位加密,主要使用的是Vigenere密码,并且偶尔使用单字母代替。然而联合军密码分析人员破译了截获的大部分联邦军密码。 在第一次世界大战期间,敌对双方都使用加密系统(Cipher System),主要用于战术通信,一些复杂的加密系统被用于高级通信中,直到战争结束。而密码本系统(Code System)主要用于高级命令和外交通信中。 到了20世纪20年代,随着机械和机电技术的成熟,以及电报和无线电需求的出现,引起了密码设备方面的一场革命——发明了转轮密码机(简称转轮机,Rotor),转轮机的出现是密码学发展的重要标志之一。美国人Edward Hebern认识到:通过硬件卷绕实现从转轮机的一边到另一边的单字母代替,然后将多个这样的转轮机连接起来,就可以实现几乎任何复杂度的多个字母代替。转轮机由一个键盘和一系列转轮组成,每个转轮是26个字母的任意组合。转轮被齿轮连接起来,当一个转轮转动时,可以将一个字母转换成另一个字母。照此传递下去,当最后一个转轮处理完毕时,就可以得到加密后的字母。为了使转轮密码更安全,人们还把几种转轮和移动齿轮结合起来,所有转轮以不同的速度转动,并且通过调整转轮上字母的位置和速度为破译设置更大的障碍。 几千年来,对密码算法的研究和实现主要是通过手工计算来完成的。随着转轮机的出现,传统密码学有了很大的进展,利用机械转轮可以开发出极其复杂的加密系统。1921年以后的十几年里,Hebern构造了一系列稳步改进的转轮机,并投入美国海军的试用评估,并申请了第一个转轮机的专利,这种装置在随后的近50年里被指定为美军的主要密码设备。毫无疑问,这个工作奠定了二次世界大战中美国在密码学方面的重要地位。 在美国Hebern发明转轮密码机的同时,欧洲的工程师们,如荷兰的Hugo Koch、德国的Arthur Scherbius都独立地提出了转轮机的概念。Arthur Scherbius于1919年设计出了历史上最著名的密码机——德国的Enigma机,在二次世界大战期间,Enigma曾作为德国陆、海、空三军最高级密码机。Enigma机(如图1-1(a)所示)面板前有灯泡和插接板,它使用了3个正规轮和1个反射轮。这使得英军从1942年2月到12月都没能解读出德国潜艇发出的信号。4轮Enigma机在1944年装备德国海军。 绪论 密码学的发展历史(2) 这些机器也刺激了英国在二次世界大战期间发明并使用TYPEX密码机,如图1-1(b)所示。英国的TYPEX密码机是德国3轮Enigma的改进型密码机,它增加了两个轮使得破译更加困难,在英军通信中使用广泛,并帮助英军破译了德军信号。 Hagelin(哈格林)密码机是在二次世界大战期间得到广泛使用的另一类转轮密码机。它由瑞典的Boris Caesar Wilhelm Hagelin发明。二战中,Hagelin C-36型密码机(如图1-1(c)所示)曾在法国军队中广泛使用,它由Aktiebolaget Cryptoeknid Stockholm于1936年制造,密钥周期长度为3 900 255。对于纯机械的密码机来说,这已是非常不简单了。Hagelin C-48型(即M-209,如图1-1(d)所示)是哈格林对C-36改进后的产品,由Smith-Corna公司负责为美国陆军生产,曾装备美军师到营级部队,在朝鲜战争期间还在使用。M-209增加了一个有26个齿的密钥轮,共由6个共轴转轮组成,每个转轮外边缘分别有17, 19, 21, 23, 25, 26个齿,它们互为素数,从而使它的密码周期达到了26′25′23′21′19′17 = 101 405 850。 日本人在二次世界大战期间所使用的密码机与Hebern和Enigma密码机间有一段有趣的历史渊源。在第一次世界大战期间及之后,美国政府组织了第一个正式的密码分析活动,一位曾指导该活动的美国密码学家出版了《The American Black Chamber》一书。该书列举了美国人成功破译日军密码的细节:日本政府致力于开发尽可能最好的密码机,为了达到这个目的,它购买了Hebern的转轮机和商业的Enigma机,包括其他几个当时流行的密码机来研究。在1930年,日本的第一个转轮密码机(美国分析家把它称之为RED)开始为日本外交部服务。然而,因为具有分析Hebern转轮密码机的经验,美国的密码分析家们成功地分析出了RED所加密的内容。在1939年,日本人引入了一个新的加密机(美国分析家将其称为PURPLE),其中的转轮机用电话步进交换机所取代。
对付有害访问的安全机制分为两大类:一类称为具有门卫功能的守卫者,它包含基于鉴别的登录过程,只允许授权实体不超越权限合法访问系统资源。另一类称为信息系统的内部安全机制,一旦非法用户或程序突破了守卫者,还将受到信息系统内部的各种监视活动和分析存储信息的内部控制机制的检测。 图2-3 网络访问安全模型 密码学基础 密码体制(1) 2.4 密码体制 密码体制就是完成加密和解密功能的密码方案。近代密码学中所出现的密码体制可分为两大类:对称加密体制和非对称加密体制。 2.4.1 对称密码体制(Symmetric Encryption) 对称密码体制也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,对称密码体制的基本特征是加密密钥与解密密钥相同。对称密码体制的基本素包括原始的明文、加密算法、密钥、密文及攻击者。 发送方的明文消息P = [P1,P2,…,PM],P的M个素是某个语言集中的字母,如26个英文字母,现在最常见的是二进制字母表{0,1}中素组成的二进制串。加密之前先生成一个形如K = [K1,K2,…,KJ]的密钥作为密码变换的输入参数之一。该密钥或者由消息发送方生成,然后通过安全的渠道送到接收方;或者由可信的第三方生成,然后通过安全渠道分发给发送方和接收方。 发送方通过加密算法根据输入的消息P和密钥K生成密文C = [C1,C2,…,CN],即: C = EK(P) (2-1) 接收方通过解密算法根据输入的密文C和密钥K恢复明文P = [P1,P2,…,PM],即: P = EK(C) (2-2) 一个攻击者(密码分析者)能基于不安全的公开信道观察密文C,但不能接触到明文P或密钥K,他可以试图恢复明文P或密钥K。假定他知道加密算法E和解密算法D,只对当前这个特定的消息感兴趣,则努力的焦点是通过产生一个明文的估计值
来恢复明文P。如果他也对读取未来的消息感兴趣,他就需要试图通过产生一个密钥的估计值
来恢复密钥K,这是一个密码分析的过程。 对称密码体制的安全性主要取决于两个因素:① 加密算法必须足够安全,使得不必为算法保密,仅根据密文就能破译出消息是不可行的;② 密钥的安全性,密钥必须保密并保证有足够大的密钥空间,对称密码体制要求基于密文和加密/解密算法的知识能破译出消息的做法是不可行的。 对称密码算法的优缺点 (1)优点:加密、解密处理速度快、保密度高等。 (2)缺点:① 密钥是保密通信安全的关键,发信方必须安全、妥善地把密钥护送到收信方,不能泄露其内容,如何才能把密钥安全地送到收信方,是对称密码算法的突出问题。对称密码算法的密钥分发过程十分复杂,所花代价高。 ② 多人通信时密钥组合的数量会出现爆炸性膨胀,使密钥分发更加复杂化,N个人进行两两通信,总共需要的密钥数为N(N-1)/2个。 ③ 通信双方必须统一密钥,才能发送保密的信息。如果发信者与收信人素不相识,这就无法向对方发送秘密信息了。 ④ 除了密钥管理与分发问题,对称密码算法还存在数字签名困难问题(通信双方拥有同样的消息,接收方可以伪造签名,发送方也可以否认发送过某消息)。 密码学基础 密码体制(2) 2.4.2 非对称密码体制(Asymmetric Encryption) 非对称密码体制也叫公开密钥密码体制、双密钥密码体制。其原理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密钥加密的结果,可以用另一个密钥来解密,如图2-5所示。公钥密码体制的发展是整个密码学发展史上最伟大的一次革命,它与以前的密码体制完全不同。这是因为:公钥密码算法基于数学问题求解的困难性,而不再是基于代替和换位方法;另外,公钥密码体制是非对称的,它使用两个独立的密钥,一个可以公开,称为公钥,另一个不能公开,称为私钥。 公开密钥密码体制的产生主要基于以下两个原因:一是为了解决常规密钥密码体制的密钥管理与分配的问题;二是为了满足对数字签名的需求。因此,公钥密码体制在消息的保密性、密钥分配和认证领域有着重要的意义。 在公开密钥密码体制中,公开密钥是可以公开的信息,而私有密钥是需要保密的。加密算法E和解密算法D也都是公开的。用公开密钥对明文加密后,仅能用与之对应的私有密钥解密,才能恢复出明文,反之亦然。 公开密钥密码体制的优缺点 (1)优点:① 网络中的每一个用户只需要保存自己的私有密钥,则N个用户仅需产生N对密钥。密钥少,便于管理。 ② 密钥分配简单,不需要秘密的通道和复杂的协议来传送密钥。公开密钥可基于公开的渠道(如密钥分发中心)分发给其他用户,而私有密钥则由用户自己保管。 ③ 可以实现数字签名。 (2)缺点:与对称密码体制相比,公开密钥密码体制的加密、解密处理速度较慢,同等安全强度下公开密钥密码体制的密钥位数要求多一些。 公开密钥密码体制与常规密码体制的对比见表2-1。 表2-1 公开密钥密码体制与常规密码体制的比较 分类 常规密码体制 公开密钥密码体制 运 行 条 件 加密和解密使用同一个密钥和同一个算法 用同一个算法进行加密和解密,而密钥有一对,其中一个用于加密,另一个用于解密 发送方和接收方必须共享密钥和算法 发送方和接收方使用一对相互匹配,而又彼此互异的密钥 安 全 条 件 密钥必须保密 密钥对中的私钥必须保密 如果不掌握其他信息,要想解密报文是不可能或至少是不现实的 如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的 知道所用的算法加上密文的样本必须不足以确定密钥 知道所用的算法、公钥和密文的样本必须不足以确定私钥
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87592.html