密码学

密码学
密码学

绪论

密码学的发展历史(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.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),其中的转轮机用电话步进交换机所取代。

图1-1 几个典型的密码机

转轮密码机的使用大大提高了密码加密速度,但由于密钥量有限,到二战中后期时,引出了一场关于加密与破译的对抗。二次大战期间,波兰人和英国人破译了Enigma密码,美国密码分析者攻破了日本的RED, ORANGE和PURPLE密码,这对联军在二次世界大战中获胜起到了关键性作用,是密码分析最伟大的成功。

二次大战后,电子学开始被引入到密码机中。第一个电子密码机仅仅是一个转轮机,只是转轮被电子器件取代。这些电子转轮机的惟一优势在于它们的操作速度,但它们仍受到机械式转轮密码机固有弱点(密码周期有限、制造费用高等)的影响。

绪论

密码学的发展历史(3)

1.3.3 近代密码(计算机阶段)

密码形成一门新的学科是在20世纪70年代,这是受计算机科学蓬勃发展刺激和推动的结果。快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。计算机和电子学时代的到来给密码设计者带来了前所未有的自由,他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。总之,利用电子计算机可以设计出更为复杂的密码系统。

密码学的理论基础之一是1949年Claude Shannon发表的“保密系统的通信理论”(The Communication Theory of Secrecy Systems),这篇文章发表了30年后才显示出它的价值。1976年W.Diffie和M.Hellman发表了“密码学的新方向”(New Directions in Cryptography)一文,提出了适应网络上保密通信的公钥密码思想,开辟了公开密钥密码学的新领域,掀起了公钥密码研究的序幕。受他们的思想启迪,各种公钥密码体制被提出,特别是1978年RSA公钥密码体制的出现,成为公钥密码的杰出代表,并成为事实标准,在密码学史上是一个里程碑。可以这么说:“没有公钥密码的研究就没有近代密码学”。同年,美国国家标准局(NBS,即现在的国家标准与技术研究所NIST)正式公布实施了美国的数据加密标准(Data Encryption Standard,DES),公开它的加密算法,并被批准用于政府等非机密单位及商业上的保密通信。上述两篇重要的论文和美国数据加密标准DES的实施,标志着密码学的理论与技术的划时代的革命性变革,宣布了近代密码学的开始。

近代密码学与计算机技术、电子通信技术紧密相关。在这一阶段,密码理论蓬勃发展,密码算法设计与分析互相促进,出现了大量的密码算法和各种攻击方法。另外,密码使用的范围也在不断扩张,而且出现了许多通用的加密标准,促进网络和技术的发展。

现在,由于现实生活的实际需要及计算机技术的进步,密码学有了突飞猛进的发展,密码学研究领域出现了许多新的课题、新的方向。例如:在分组密码领域,由于DES已经无法满足高保密性的要求,美国于1997年1月开始征集新一代数据加密标准,即高级数据加密标准(Advanced Encryption Standard,AES)。目前,AES的征集已经选择了比利时密码学家所设计的Rijndael算法作为标准草案,并正在对Rijndael算法做进一步评估。AES征集活动使国际密码学界又掀起了一次分组密码研究高潮。同时,在公开密钥密码领域,椭圆曲线密码体制由于其安全性高、计算速度快等优点引起了人们的普遍关注,许多公司与科研机构都投入到对椭圆曲线密码的研究当中。目前,椭圆曲线密码已经被列入一些标准中作为推荐算法。另外,由于嵌入式系统的发展、智能卡的应用,这些设备上所使用的密码算法由于系统本身资源的限制,要求密码算法以较小的资源快速实现,这样,公开密钥密码的快速实现成为一个新的研究热点。最后,随着其他技术的发展,一些具有潜在密码应用价值的技术也逐渐得到了密码学家极大的重视,出现了一些新的密码技术,例如,混沌密码、量子密码等,这些新的密码技术正在逐步地走向实用化。

绪论

密码学在网络信息安全中的作用

1.2 密码学在网络信息安全中的作用

在现实世界中,安全是一个相当简单的概念。例如,房子门窗上要安装足够坚固的锁以阻止窃贼的闯入;安装报警器是阻止入侵者破门而入的进一步措施;当有人想从他人的银行账户上骗取钱款时,出纳员要求其出示相关身份证明也是为了保证存款安全;签署商业合同时,需要双方在合同上签名以产生法律效力也是保证合同的实施安全。

在数字世界中,安全以类似的方式工作着。机密性就像大门上的锁,它可以阻止非法者闯入用户的文件夹读取用户的敏感数据或盗取钱财(如信用卡号或网上证券账户信息)。数据完整性提供了一种当某些内容被修改时可以使用户得知的机制,相当于报警器。通过认证,可以验证实体的身份,就像从银行取钱时需要用户提供合法的身份(ID)一样。基于密码体制的数字签名具有防否认功能,同样有法律效力,可使人们遵守数字领域的承诺。

以上思想是密码技术在保护信息安全方面所起作用的具体体现。密码是一门古老的技术,但自密码技术诞生直至第二次世界大战结束,对于公众而言,密码技术始终处于一种未知的保密状态,常与军事、机要、间谍等工作联系在一起,让人在感到神秘之余,又有几分畏惧。信息技术的迅速发展改变了这一切。随着计算机和通信技术的迅猛发展,大量的敏感信息常通过公共通信设施或计算机网络进行交换,特别是Internet的广泛应用、电子商务和电子政务的迅速发展,越来越多的个人信息需要严格保密,如:银行账号、个人隐私等。正是这种对信息的机密性和真实性的需求,密码学才逐渐揭去了神秘的面纱,走进公众的日常生活中。

密码技术是实现网络信息安全的核心技术,是保护数据最重要的工具之一。通过加密变换,将可读的文件变换成不可理解的乱码,从而起到保护信息和数据

的作用。它直接支持机密性、完整性和非否认性。当前信息安全的主流技术和理论都是基于以算法复杂性理论为特征的现代密码学的。从Diffie和Hellman发起密码学革命起,该领域最近几十年的发展表明,信息安全技术的一个创新生长点是信息安全的编译码理论和方法的深入研究,这方面具有代表性的工作有数据加密标准DES、高级加密标准AES、RSA算法、椭圆曲线密码算法ECC、IDEA算法、PGP系统等。

今天,在计算机被广泛应用的信息时代,由于计算机网络技术的迅速发展,大量信息以数字形式存放在计算机系统里,信息的传输则通过公共信道。这些计算机系统和公共信道在不设防的情况下是很脆弱的,容易受到攻击和破坏,信息的失窃不容易被发现,而后果可能是极其严重的。如何保护信息的安全已成为许多人感兴趣的迫切话题,作为网络安全基础理论之一的密码学引起人们的极大关注,吸引着越来越多的科技人员投入到密码学领域的研究之中。

密码学尽管在网络信息安全中具有举足轻重的作用,但密码学绝不是确保网络信息安全的惟一工具,它也不能解决所有的安全问题。同时,密码编码与密码分析是一对矛和盾的关系,俗话说:“道高一尺,魔高一丈”,它们在发展中始终处于一种动态的平衡。在网络信息安全领域,除了技术之外,管理也是非常重要的一个方面。如果密码技术使用不当,或者攻击者绕过了密码技术的使用,就不可能提供真正的安全性。

第2章密码学基础

2.1 密码学相关概念

密码学(cryptology)作为数学的一个分支,是密码编码学和密码分析学的统称。或许与最早的密码起源于古希腊有关,cryptology这个词来源于希腊语,crypto是隐藏、秘密的意思,logo是单词的意思,grapho是书写、写法的的意思,cryptography就是“如何秘密地书写单词”。

使消息保密的技术和科学叫做密码编码学(cryptography)。密码编码学是密码体制的设计学,即怎样编码,采用什么样的密码体制以保证信息被安全地加密。从事此行业的人员叫做密码编码者(cryptographer)。

与之相对应,密码分析学(cryptanalysis)就是破译密文的科学和技术。密码分析学是在未知密钥的情况下从密文推演出明文或密钥的技术。密码分析者(cryptanalyst)是从事密码分析的专业人员。

在密码学中,有一个五元组:{明文、密文、密钥、加密算法、解密算法},对应的加密方案称为密码体制(或密码)。

明文:是作为加密输入的原始信息,即消息的原始形式,通常用m或p表示。所有可能明文的有限集称为明文空间,通常用M或P来表示。

密文:是明文经加密变换后的结果,即消息被加密处理后的形式,通常用c 表示。所有可能密文的有限集称为密文空间,通常用C来表示。

密钥:是参与密码变换的参数,通常用k表示。一切可能的密钥构成的有限集称为密钥空间,通常用K表示。

加密算法:是将明文变换为密文的变换函数,相应的变换过程称为加密,即编码的过程(通常用E表示,即c E k(p))。

解密算法:是将密文恢复为明文的变换函数,相应的变换过程称为解密,即解码的过程(通常用D表示,即p=D k(c))。

对于有实用意义的密码体制而言,总是要求它满足:p=D k (E k(p)),即用加密算法得到的密文总是能用一定的解密算法恢复出原始的明文来。而密文消息的获取同时依赖于初始明文和密钥的值,如图2-1所示。

根据密码分析者对明文、密文等信息掌握的多少,可将密码分析分为以下五种情形。

2.1.1 惟密文攻击(Ciphertext only)

对于这种形式的密码分析,破译者已知的东西只有两样:加密算法、待破译的密文。

2.1.2 已知明文攻击(Known plaintext)

在已知明文攻击中,破译者已知的东西包括:加密算法和经密钥加密形成的一个或多个明文-密文对,即知道一定数量的密文和对应的明文。

2.1.3 选择明文攻击(Chosen plaintext)

选择明文攻击的破译者除了知道加密算法外,他还可以选定明文消息,并可以知道对应的加密得到的密文,即知道选择的明文和对应的密文。例如,公钥密码体制中,攻击者可以利用公钥加密他任意选定的明文,这种攻击就是选择明文攻击。

2.1.4 选择密文攻击(Chosen ciphertext)

与选择性明文攻击相对应,破译者除了知道加密算法外,还包括他自己选定的密文和对应的、已解密的原文,即知道选择的密文和对应的明文。

2.1.5 选择文本攻击(Chosen text)

选择文本攻击是选择明文攻击与选择密文攻击的结合。破译者已知的东西包括:加密算法、由密码破译者选择的明文消息和它对应的密文,以及由密码破译者选择的猜测性密文和它对应的已破译的明文。

很明显,惟密文攻击是最困难的,因为分析者可供利用的信息最少。上述攻击的强度是递增的。一个密码体制是安全的,通常是指在前三种攻击下的安全性,即攻击者一般容易具备进行前三种攻击的条件。

密码学基础

密码系统(1)

2.2 密码系统

2.2.1 密码系统的定义

密码系统(cryptosystem)是用于加密与解密的系统,就是明文与加密密钥作为加密变换的输入参数,经过一定的加密变换处理以后得到的输出密文,由它们所组成的一个系统。一个完整的密码系统由密码体制(包括密码算法以及所有可能的明文、密文和密钥)、信源、信宿和攻击者构成。

2.2.2 柯克霍夫(Kerckhoffs)原则

密码学领域存在着一个很重要的事实:“如果许多聪明人都不能解决的问题,那么它可能不会很快得到解决。”这说明很多加密算法的安全性并没有在理论上得到严格的证明,只是这种算法思想出来以后,经过许多人多年的攻击并没有发现其弱点,没有找到攻击它的有效方法,从而认为它是安全的。

在设计和使用密码系统时,有一个著名的“柯克霍夫原则”需要遵循,它是荷兰密码学家Kerckhoffs于1883年在其名著《军事密码学》中提出的密码学的基本假设:密码系统中的算法即使为密码分析者所知,也对推导出明文或密钥没有帮助。也就是说,密码系统的安全性不应取决于不易被改变的事物(算法),而应只取决于可随时改变的密钥。

如果密码系统的强度依赖于攻击者不知道算法的内部机理,那么注定会失败。如果相信保持算法的内部秘密比让研究团体公开分析它更能改进密码系统的安全性,那就错了。如果认为别人不能反汇编代码和逆向设计算法,那就太天真了。最好的算法是那些已经公开的,并经过世界上最好的密码分析家们多年的攻击,却还是不能破译的算法(美国国家安全局曾对外保持他们的算法的秘密,但他们有世界上最好的密码分析家在内部工作。另外,他们互相讨论他们的算法,通过反复的审查发现他们工作中的弱点)。

认为密码分析者不知道密码系统的算法是一种很危险的假定,因为:①密码算法在多次使用过程中难免被敌方侦察获悉;②在某个场合可能使用某类密码更合适,再加上某些设计者可能对某种密码系统有偏好等因素,敌方往往可以“猜出”所用的密码算法;③通常只要经过一些统计试验和其他测试就不难分辨出不同的密码类型。

2.2.3 密码系统的安全条件

如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的(restricted)算法。受限制的算法的特点表现为:①密码分析时因为不知道算法本身,还需要对算法进行恢复;②处于保密状态的算法只为少量的用户知道,产生破译动机的用户也就更少;③不了解算法的人或组织不可用。但这样的算法不可能进行质量控制或标准化,而且要求每个用户和组织必须有他们自己惟一的算法。

现代密码学用密钥解决了这个问题。所有这些算法的安全性都基于密钥的安全性,而不是基于算法的安全性。这就意味着算法可以公开,也可以被分析,即使攻击者知道算法也没有关系。算法公开的优点包括:①它是评估算法安全性的惟一可用的方式;②防止算法设计者在算法中隐藏后门;③可以获得大量的实现,最终可走向低成本和高性能的实现;④有助于软件实现;⑤可以成为国内、国际标准;⑥可以大量生产使用该算法的产品。

所以,在密码学中有一条不成文的规定:密码系统的安全性只寓于密钥,通常假定算法是公开的。这就要求加密算法本身要非常安全。在考查算法的安全性时,可以将破译算法分为不同的级别。

全部破译(Total Break):找出密钥。

全部推导(Global Deduction):找出替代算法。

实例推导(Instance Deduction):找出明文。

信息推导(Information Deduction):获得一些有关密钥或明文的信息。

可以用不同的方式来衡量攻击方法的复杂性。

数据复杂性(Data Complexity):用做攻击所需要输入的数据量。

处理复杂性(Processing Complexity):完成攻击所需要的时间。

存储需求(Storage Requirement):进行攻击所需要的数据存储空间大小。

评价密码体制安全性的三个途径如下。

(1)计算安全性。计算安全性指攻破密码体制所做的计算上的努力。如果使用最好的算法攻破一个密码体制需要至少N次操作(N是一个特定的非常大的数字),则可以定义这个密码体制是安全的。存在的问题是没有一个已知的实际密码体制在该定义下可以被证明是安全的。通常的处理办法是使用一些特定的攻击类型来研究计算上的安全性,如使用穷举搜索方法。很明显,这种判断方法对于一种攻击类型安全的结论并不适用于其他攻击方法。

(2)可证明安全性。这种方法是将密码体制的安全性归结为某个经过深入研究的数学难题,数学难题被证明求解困难。这种判断方法存在的问题是:它只说明了安全和另一个问题相关,并没有完全证明问题本身的安全性。

(3)无条件安全性。这种判断方法考虑的是对攻击者的计算资源没有限制时的安全性。即使提供了无穷的计算资源,依然无法被攻破,则称这种密码体制是无条件安全的。

无条件安全的算法(除一次一密方案[1]外,密码本身只使用一次)是不存在的。密码系统用户所能做的全部努力就是满足以下准则:

(1)破译该密码的成本超过被加密信息本身的价值;

(2)破译该密码的时间超过该信息有用的生命周期。

如果满足上述两个准则之一,一个加密方案就可认为是实际上安全的。困难在于如何估算破译所需要付出的成本或时间,通常攻击者有两种方法:蛮力攻击(Brute force,或称穷举搜索攻击)和利用算法中的弱点进行攻击。排除算法有弱点这一项外(如果算法有弱点就无法保证保密的强度,原则上,这类密码体制是不能使用的),通常用蛮力攻击来估算:用每种可能的密钥来进行尝试,直到获得了从密文到明文的一种可理解的转换为止,这是一种穷举搜索攻击。平均而言,为取得成功,必须尝试所有可能采用的密钥的一半。因此,密钥越长,密钥空间就越大,蛮力攻击所需要的时间也就越长,或成本越高,相应地也就越安全(当然作为该算法的使用者要进行加密、解密处理所需要的时间也就越长,因此,需要在安全性与效率间进行权衡)。

由此可见,一个密码系统要是实际可用的,必须满足如下特性。

(1)每一个加密函数E和每一个解密函数D都能有效地计算。

(2)破译者取得密文后将不能在有效的时间或成本范围内破解出密钥或明文。

(3)一个密码系统是安全的必要条件:穷举密钥搜索是不可行的,因为密钥空间非常大。

密码学基础

密码系统(2)

2.2.4 密码系统的分类

密码编码系统通常有三种独立的分类方式。

1.明文变换到密文的操作类型

所有加密算法基于两个基本操作。

(1)代替(substitution):即明文中的每个元素(比特、字母、比特组合或字母组合)被映射为另一个元素。该操作主要达到非线性变换的目的。

(2)换位(transposition):即明文中的元素被重新排列,这是一种线性变换,对它们的基本要求是不丢失信息(即所有操作都是可逆的)。

2.所用的密钥数量

(1)单密钥加密(single-key cipher):即发送者和接收者双方使用相同的密钥,该系统也称为对称加密、秘密密钥加密或常规加密。

(2)双密钥加密(dual-key cipher):即发送者和接收者各自使用一个不同的密钥,这两个密钥形成一个密钥对,其中一个可以公开,称之为公钥,另一个必须为密钥持有人秘密保管,称之为私钥。该系统也称为非对称加密或公钥加密。

3.明文被处理的方式

(1)分组加密(block cipher):一次处理一块(组)元素的输入,对每个输入块产生一个输出块,即一个明文分组被当做一个整体来产生一个等长的密文分组输出。通常使用的是64位或128位的分组大小。

(2)流加密(stream cipher):也称为序列密码,即连续地处理输入元素,并随着该过程的进行,一次产生一个元素的输出,即一次加密一个比特或一个字节。

人们在分析分组密码方面做出的努力要比在分析流密码方面做出的努力多

得多。一般而言,分组密码比流密码的应用范围广。绝大部分基于网络的常规加密应用都使用分组密码。

密码学基础

安全模型

2.3 安全模型

大多数信息安全涉及网络传输中的信息安全(动态数据的安全)和计算机系统中的信息安全(静态数据的安全)。它们面临着建立两种不同信息安全模型的需要。

2.3.1 网络安全模型

发送方要将秘密消息通过不安全的信道发送给接收方,就需要先对消息进行某种安全变换,得到安全的消息,以防止攻击者危害消息的保密性和真实性。安全的消息到达接收方后,再经过安全变换的逆变换,从而恢复原始的消息。在大多数情况下,对消息的安全变换及其逆变换是基于密码算法来实现的,因此在变换过程中还需要输入秘密信息(如密钥),这个秘密信息不能为攻击者所获知。

在网络安全模型中,有时还需要可信的第三方。如当通信双方发生有关信息传输真实性的争执时,他可以进行仲裁。第三方也可以起到秘密信息分发的作用,如向通信双方分发共享的密钥。

基于网络安全模型设计系统安全服务时应包括以下四方面的内容。

(1)设计实现安全变换的算法,要求该算法有足够的安全强度,不会被攻击者有效地攻破。

(2)生成安全变换中所需要的秘密信息(密钥)。

(3)设计分配和共享秘密信息(密钥)的方法。

(4)确定通信双方使用的协议,该协议利用安全算法和秘密信息实现系统所需要的安全服务。

2.3.2 网络访问安全模型

网络访问安全模型如图2-3所示。网络访问安全模型希望保护信息系统不受通过网络的有害访问。如阻止黑客试图通过网络访问信息系统,或阻止其他有破坏欲望(不满的雇员),或想利用计算机获利的人(盗取信用卡号或进行非法的资金转账等),或阻止恶意的程序利用系统的弱点来影响应用程序的正常运行。

对付有害访问的安全机制分为两大类:一类称为具有门卫功能的守卫者,它包含基于鉴别的登录过程,只允许授权实体不超越权限合法访问系统资源。另一类称

密码学入门知识

~密码学入门知识~发现密码学挺有意思啊 一、几种常见密码形式: 1、栅栏易位法。 即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。 举例: TEOGSDYUTAENNHLNETAMSHV AED 解: 将字母分截开排成两行,如下 T E O G S D Y U T A E N N H L N E T A M S H V A E D 再将第二行字母分别放入第一行中,得到以下结果 THE LONGEST DAY MUST HA VE AN END. 课后小题:请破解以下密码Teieeemrynwetemryhyeoetewshwsnvraradhnhyartebcmohrie 2、恺撒移位密码。 也就是一种最简单的错位法,将字母表前移或者后错几位,例如: 明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密码表:DEFGHIJKLMNOPQRSTUVWXYZABC 这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。 课后小题:请破解以下密码 dtzwkzyzwjijujsixtsdtzwiwjfrx 3、进制转换密码。 比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序, 拼出正确字母。 举例:110 10010 11010 11001

解: 很明显,这些数字都是由1和0组成,那么你很快联想到什么?二进制数,是不是?嗯,那么就试着把这些数字转换成十进制试试,得到数字6 18 26 25,对应字母表,破解出明文为frzy,呵呵~ 课后小题:请破解以下密码 11 14 17 26 5 25 4、摩尔斯密码。 翻译不同,有时也叫摩尔密码。*表示滴,-表示哒,如下表所示比如滴滴哒就表示字母U,滴滴滴滴滴就表示数字5。另外请大家不要被滴哒的形式所困,我们实际出密码的时候,有可能转换为很多种形式,例如用0和1表示,迷惑你向二进制方向考虑,等等。摩尔斯是我们生活中非常常见的一种密码形式,例如电报就用的是这个哦。下次再看战争片,里面有发电报的,不妨自己试着破译一下电报 内容,看看导演是不是胡乱弄个密码蒙骗观众哈~由于这密码也比较简单,所以不出小题。 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 --** 数字 0 ----- 1 *---- 2 **--- 3 ***-- 4 ****- 5 ***** 6 -**** 7 --*** 8 ---** 9 ----* 常用标点 句号*-*-*- 逗号--**-- 问号**--** 长破折号-***- 连字符-****- 分数线-**-* 5、字母频率密码。 关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比: a 8.2 b 1.5 c 2.8 d 4.3 e 12.7 f 2.2 g 2.0 h 6.1 i 7.0 j 0.2 k 0.8 l 4.0 m 2.4 n 6.7 o 7.5 p 1.9 q 0.1 r 6.0 s 6.3 t 9.1 u 2.8 v 1.0 w 2.4 x 0.2 y 2.0 z 0.1 词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己

密码学与信息安全的关系

密码学与网络信息安全 【论文摘要】本文以优化中小企业信息化管理为思想,以系统开发为宗旨从系统企业的需求到信息化需要系统的支撑,然后设计出进销存管理系统,最后实现进销存管理系统的整个过程。关键词:信息化进销存优化管理。 【论文关键词】密码学信息安全网络 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。 网络安全,这是个百说不厌的话题。因为在互联网上,每台计算机都存在或多或少的安全间题。安全问题不被重视,必然会导致严重后果。诸如系统被破坏、数据丢失、机密被盗和直接、间接的经济损失等。这都是不容忽视的问题。既然说到网络安全,我们经常提到要使用防火墙、杀毒软件等等。这些的确很重要,但是人们往往忽视了最重要的,那就是思想意识。 人类的主观能动性是很厉害的,可以认识世界、改造世界,正确发挥人的主观能动性可以提高认知能力。但是人类本身固有的惰性也是十分严重的,喜欢墨守成规、图省事。就是这点惰性给我的网络带来了安全隐患。据不完全统计,每年因网络安全问题而造成的损失超过300亿美元,其中绝大多数是因为内部人员的疏忽所至。所以,思想意识问题应放在网络安全的首要位置。 一、密码 看到这里也许会有读者以为我大放网词,那就先以我自己的一个例子来说起吧。本人也很懒,但是也比较注意安全性,所以能设置密码的地方都设置了密码,但是密码全是一样的。从E-mail信箱到用户Administrator,统一都使用了一个8位密码。我当初想:8位密码,怎么可能说破就破,固若金汤。所以从来不改。用了几年,没有任何问题,洋洋自得,自以为安全性一流。恰恰在你最得意的时候,该抽你嘴巴的人就出现了。我的一个同事竟然用最低级也是最有效的穷举法吧我的8位密码给破了。还好都比较熟,否则公司数据丢失,我就要卷着被子回家了。事后我问他,怎么破解的我的密码,答曰:只因为每次看我敲密码时手的动作完全相同,于是便知道我的密码都是一样的,而且从不改变。这件事情被我引以为戒,以后密码分开设置,采用10位密码,并且半年一更换。现在还心存余悸呢。我从中得出的教训是,密码安全要放在网络安全的第一位。因为密码就是钥匙,如果别人有了你家的钥匙,就可以堂而皇之的进你家偷东西,并且左邻右舍不会怀疑什么。我的建议,对于重要用户,诸如:Root,Administratoi的密码要求最少要8位,并且应该有英文字母大小写以及数字和其他符号。千万不要嫌麻烦,密码被破后更麻烦。为什么要使用8位密码呢,Unix一共是0x00

密码学与网络安全简答题总结

密码学简答题 By 风婴 1.阐述古典密码学中的两种主要技术以及公钥密码学思想。 答:代换(Substitution)和置换(Permutation)是古典密码学中两种主要的技术。代替技术就是将明文中每一个字符替换成另外一个字符从而形成密文,置换技术则是通过重新排列明文消息中元素的位置而不改变元素本身从而形成密文。 公钥密码的思想:密码系统中的加密密钥和解密密钥是可以不同的。由于并不能容易的通过加密密钥和密文来求得解密密钥或明文,所以可以公开这种系统的加密算法和加密密钥,用户则只要保管好自己的解密密钥。 2.简述密码分析者对密码系统的四种攻击。 答:密码分析者对密码系统的常见的攻击方法有: 1)唯密文攻击:攻击者有一些消息的密文,这些密文都是采用同一种加密方法生成的。 2)已知明文攻击:攻击者知道一些消息的明文和相应的密文。 3)选择明文攻击:攻击者不仅知道一些消息的明文和相应的密文,而且也可以选择被 加密的明文。 4)选择密文攻击:攻击者能选择不同的被加密的密文,并得到对应的明文。 3.信息隐藏技术与数据加密技术有何区别? 答:信息隐藏不同于传统的密码学技术,它主要研究如何将某一机密信息秘密隐藏于另一共开的信息中,通过公开信息的传输来传递机密信息。而数据加密技术主要研究如何将机密信息进行特殊的编码,以形成不可识别的密文形式再进行传递。对加密通信而言,攻击者可通过截取密文,并对其进行破译,或将密文进行破坏后再发送,从而影响机密信息的安全。但对信息隐藏而言,攻击者难以从公开信息中判断机密信息是否存在,当然他们就不易对秘密信息进行窃取、修改和破坏,从而保证了机密信息在网络上传输的安全性。 为了增加安全性,人们通常将加密和信息隐藏这两种技术结合起来使用。 4.试说明使用3DES而不使用2DES的原因。 答:双重DES可能遭到中途相遇攻击。该攻击不依赖于DES的任何特性,可用于攻击任何分组密码。具体攻击如下: 假设C = E K2[E K1[M]],则有X = E K1[M] = D K2[C] 首先用256个所有可能的密钥K1对 M加密,将加密结果存入一表并对表按X排序。然后用256个所有可能的密钥K2对C解密,在上表中查找与C解密结果相匹配的项,如找到,记录相应的K1和K2。最后再用一新的明密文对检验上面找到的K1和K2。 以上攻击的代价(加密或解密所用运算次数)<= 2×256,需要存储256×64比特。抵抗中间相遇攻击的一种方法是使用3个不同的密钥作3次加密,从而可使已知明文攻击的代价增加到2112。 5.分组密码运行模式主要有哪几种?并简要说明什么是CBC模式? 答:分组密码的运行模式主要有四种:电子密码本ECB模式、分组反馈链接CBC模式、密文反馈链接CFB模式和输出反馈链接OFB模式。

07密码学与网络安全第七讲

密码学与网络安全第七讲身份鉴别

讨论议题 1.鉴别的基本概念 2.鉴别机制 3.鉴别与交换协议 4.典型鉴别实例 一、鉴别的基本概念 1、鉴别--Authentication 鉴别就是确认实体是它所声明的,也就是确保通信是可信的。鉴别是最重要的安全服务之一,鉴别服务提供了关于某个实体身份的保证。(所有其它的安全服务都依赖于该服务);鉴别可以对抗假冒攻击的危险。 2、鉴别的需求和目的 1)问题的提出:身份欺诈; 2)鉴别需求:某一成员(声称者)提交一个主体的身份并声称它是 那个主体。 3)鉴别目的:使别的成员(验证者)获得对声称者所声称的事实的 信任。 3、身份鉴别 定义:证实客户的真实身份与其所声称的身份是否相符的过程。依据: 1)密码、口令等; 2)身份证、护照、密钥盘等

3)指纹、笔迹、声音、虹膜、DNA等 4)协议 4、鉴别协议 ?双向鉴别(mutual authentication) ? 单向鉴别(one-way authentication) 1)双向鉴别协议:最常用的协议。该协议使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。 ? 基于鉴别的密钥交换核心问题有两个: –保密性:确保信息的机密性,阻止截取、窃听等攻击; –实效性;阻止冒充、篡改、重放等攻击。 为了防止伪装和防止暴露会话密钥,基本身份信息和会话密钥信息必须以保密形式通信,这就要求预先存在密钥或公开密钥供实现加密使用。第二个问题也很重要,因为涉及防止消息重放攻击。 鉴别的两种情形 ? 鉴别用于一个特定的通信过程,即在此过程中需要提交实体的身份。 1)实体鉴别(身份鉴别):某一实体确信与之打交道的实体正是所需要的实体。只是简单地鉴别实体本身的身份,不会和实体想要进行何种活动相联系。 在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。这种服务在连接建立或在数据传送阶段的某些时刻提供使用, 使用这种服务可以确信(仅仅在使用时间内):一个实体此时没有试图冒

(完整word版)密码学与信息安全试卷

密码学与信息安全试卷 2008-2009 学年第2 学期课号082746 课程名称密码学(A卷; 闭卷)适用班级(或年级、专业)07级信息安全 考试时间120 分钟班级601 602 学号姓名 题号一二三四五六七八九十成绩满分 10 10 30 35 15 得分 评卷人 一.填空题(共10分,每个1分) 1.采用恺撒密码(K=3),消息是BCD,密文是efg。 2.根据著名的Kerckhoff原则,密码系统的保密性不依赖于算法的保密,而依赖于密钥的保护。 3.RSA密码体制的理论依据(数学难题)是大数的分解难 4.认证符是用于认证消息的数值,它的产生方法分为消息验证码和散列函数。 5.AES的基本变换包括基本置换、行移位、列混淆、轮换密钥相加。6.考虑一个数据块长度为256位且密钥长度为128位的AES加密算法。请问该密码算法的一个数据块中字的个数Nb是,密钥中字的个数Nk是。 7.在使用Diffie-Helllman密钥交换算法时,如果通信的双方没有经过身份认证,那么攻击者冒充对方进行中间人攻击。 二.选择题(共10分,每个2分) 1.下列攻击形式,不属于主动攻击的是() A.伪造 B.篡改 C.中断 D.监听 2.RSA算法可用于加密,现A拥有一对密钥PKA和SKA,B拥有一对密钥PKB和SKB,

如果A向B发送消息,A对发送的消息进行加密的密钥是(),B接收到密文后进行解 密的密钥是() A. PKA SKB B. PKB SKB C. PKB SKB D. SKB PKB 3.Xtime(a)运算是简化AES算法的基本运算,其中不可约多项式为m(x)=x8+x4+x3+x+1,计算‘57’·‘06’的结果为() A. ‘8E’ B. ‘E8’ C.‘8E’ D. ‘17’ 4.如果单向杂凑函数H(X)满足这样的性质:找出任意两个不同的输入x和y,使得H(x)=H(y)在计算上是不可行的,则称其为()。 A.弱单向杂凑函数 B.强单向杂凑函数 5.在密码分组链接模式(CBC)中,存在着错误传播,如果在加密前明文分组P1中有一比特位发生了错误,请问该错误在多少个密文分组中传播? A.C1 B.C2 C.C1和C2 D.所有的密文分组 三.简答题(共30分, 每个10分) 1.根据攻击者可获取的信息量,密码分析可分为那几类,它们的含义是什么?(10分) 1.根据密码分析者可能取得的分析资料的不同,密码分析(或称攻击)可分为下列四类:(1)唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文; (2)已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加密的明密文对; (3)选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(当然不包括他要恢复的明文),这些明密文对和要破译的密文是用同一密钥加密的; (4)选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要破 译的密文除外),这些密文和明文和要破译的密文是用同一解密密钥解密的,它主要应用于公钥密码体制。 2.简述密码算法中对称、非对称算法各自的优缺点,及分析如何将两者结合。(10分) 2. 什么是对称密码体制和非对称密码体制?各有何优、缺点?

密码学知识点总结----考试复习专用

1 密码学分类 2 攻击分类 3 安全业务 4 算法输入输出位数 5 密钥分配管理 6 密钥分配 7 公钥分配 8 三重DES 9 杂凑的要求 10 欧几里得 11 本原根 12勒让德符号 13数字签名的执行方式 14强单向杂凑 15模运算性质 16 同余式 17 DES 18 AES 19 RSA 20 MD5 21费尔马定理 22 欧拉定理 23 中国剩余定理 24 四种工作模式 1 密码学分类 单钥体制双钥体制 2 攻击分类 唯密文攻击已知明文攻击选择明文攻击选择密文攻击 3 安全业务 认证业务保密业务完整性业务不可否认业务访问控制 4 算法输入输出位数 DES 64比特明文56比特密钥输出64比特密文 AES 128 192 256 比特 RSA 输入664比特 MD5 输入512比特分组128比特输出 5 密钥分配管理 两个用户A和B获得共享密钥的方法包括: ①密钥由A选取并通过物理手段发送给B。 ②密钥由第三方选取并通过物理手段发送给A和B。

③如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。 ④如果A和B与第三方C分别有一保密信道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B 6 密钥分配 ①A向KDC发出会话密钥请求 ②KDC为A的请求发出应答。 ②A存储会话密钥,并向B转发EKB[KS‖IDA]。 ④B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。 ⑤A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B。 7 公钥分配 ①用户A向公钥管理机构发送一个带时戳的消息,消息中有获取用户B的当前公钥的请求。 ②管理机构对A的请求作出应答,应答由一个消息表示,该消息由管理机构用自己的秘密钥SKAU加密,因此A能用管理机构的公开钥解密,并使A相信这个消息的确是来源于管理机构。 ③A用B的公开钥对一个消息加密后发往B,这个消息有两个数据项: 一是A的身份IDA,二是一个一次性随机数N1,用于惟一地标识这次业务。 ④B以相同方式从管理机构获取A的公开钥(与步骤①、②类似)。这时,A和B都已安全地得到了对方的公钥,所以可进行保密通信。然而,他们也许还希望有以下两步,以认证对方。 ⑤B用PKA对一个消息加密后发往A,该消息的数据项有A的一次性随机数N1和B产生的一个一次性随机数N2。因为只有B能解密③的消息,所以A收到的消息中的N1可使其相信通信的另一方的确是B。 ⑥A用B的公开钥对N2加密后返回给B,可使B相信通信的另一方的确是A。

信息安全概论密码学

1密码学的基本概念和基本编码技术主要内容 一、密码学的基本目标 二、密码学中有关加密算法的一些基本概念 三、最基本的破译方法----穷举攻击 四、最基本的三个编码技术 2.三类主要的攻击方法: 分类方法: 按敌手可利用知识的类别分类 (1)唯密文攻击: 敌手除加密算法、明文和密钥的概率分布外,还知道很多由同一个密钥加密的密文。 (2)已知xx攻击: 敌手除具备唯密文攻击的条件外,还知道许多密文对应的明文。 (3)选择xx(密文)攻击: 敌手除具备已知明文攻击的条件外,还可任意选择对他有利的明文(密文),并能得到相应的密文(明文) 1.信息xx的一般流程 小结 (1)密码学的基本目标是解决信息的机密性保证、真实性认证和承诺的不可否认性这三个基本的安全需求; (2)对敌手破译能力的假设是知道除密钥外的一切信息 (3)加密算法应能对抗所有可能的攻击方法;

(4)对密码算法最基本的攻击方法是穷举密钥攻击; (5)代替、移位和加减是密码算法最基本的编码技术; (6)理论上不可破译的密码算法是存在的----一次一密 (7)序列密码脱胎于一次一密 (8)利用弱的密码变换可搭配成强度很高的加密算法。 (9)代替密码与移位密码结合、代替密码与加减密码结合都可以形成强度很高的加密算法,这是分组密码的基本模型。 2DES分组密码算法主要内容 ?分组密码的概念?DES分组密码算法?分组密码的工作模式 一、分组密码的基本概念 分组密码是将明文数字序列按固定长度分组,并在用一个密钥和同一个加密算法逐组加密,从而将各明文分组变换成密文分组的密码。二、DES分组密码算法小结 (1)基本参数 ●分组长度:64比特●密钥长度:64比特●有效密钥长度:56比特●迭代圈数:16圈●圈密钥长度:48比特 (2)编码环节 ●6进4出的S盒变换●逐位模2加变换●比特移位变换P盒●比特扩展变换E盒●比特抽取变换:PC1、PC2和IP 实现性能: 软件实现慢、硬件实现块;可全部用布尔电路实现 xx:

密码学入门知识

~密码学入门知识~ 最近推理小说看多了~感觉密码学挺有意思的~改天在图书馆里找找看有没有好玩的密码 学的书~~那个利用键盘的密码我没看懂~ 本少爷以后跟别人告白就用密码了~哈哈~ 一、几种常见密码形式: 1、栅栏易位法。 即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。 举例: TEOGSDYUTAENNHLNETAMSHVAED 解: 将字母分截开排成两行,如下 T E O G S D Y U T A E N N H L N E T A M S H V A E D 再将第二行字母分别放入第一行中,得到以下结果 THE LONGEST DAY MUST HAVE AN END. 课后小题:请破解以下密码Teieeemrynwetemryhyeoetewshwsnvraradhnhyartebcmohrie 2、恺撒移位密码。 也就是一种最简单的错位法,将字母表前移或者后错几位,例如: 明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密码表:DEFGHIJKLMNOPQRSTUVWXYZABC 这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。 课后小题:请破解以下密码 dtzwkzyzwjijujsixtsdtzwiwjfrx

3、进制转换密码。 比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序, 拼出正确字母。 举例:110 10010 11010 11001 解: 很明显,这些数字都是由1和0组成,那么你很快联想到什么?二进制数,是不是?嗯,那么就试着把这些数字转换成十进制试试,得到数字6 18 26 25,对应字母表,破解出明文为frzy,呵呵~ 课后小题:请破解以下密码 11 14 17 26 5 25 4、摩尔斯密码。 翻译不同,有时也叫摩尔密码。*表示滴,-表示哒,如下表所示比如滴滴哒就表示字母U,滴滴滴滴滴就表示数字5。另外请大家不要被滴哒的形式所困,我们实际出密码的时候,有可能转换为很多种形式,例如用0和1表示,迷惑你向二进制方向考虑,等等。摩尔斯是我们生活中非常常见的一种密码形式,例如电报就用的是这个哦。下次再看战争片,里面有发电报的,不妨自己试着破译一下电报 内容,看看导演是不是胡乱弄个密码蒙骗观众哈~由于这密码也比较简单,所以不出小题。 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 --** 数字 0 ----- 1 *---- 2 **--- 3 ***-- 4 ****- 5 ***** 6 -**** 7 --*** 8 ---** 9 ----* 常用标点 句号*-*-*- 逗号--**-- 问号**--** 长破折号-***- 连字符-****- 分数线-**-* 5、字母频率密码。 关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比:

密码学问题1

CS255:Cryptography and Computer Security Winter2014 Assignment#1 Due:Wednesday,Feb.5,2014,in class. Problem0In class we explained that the one time pad is malleable.Let’s see a concrete example. Suppose you are told that the one time pad encryption of the message“attack at dawn”is 09e1c5f70a65ac519458e7e55e32(the plaintext letters are encoded as8-bit ASCII and the given ciphertext is written in hex).What would be the one time pad encryption of the message “attack at dusk”under the same OTP key? Problem1Simple secret sharing. a.Suppose Alice shares a secret block cipher key,K AB with Bob,and a di?erent secret block cipher key,K AC with Charlie.Describe a method for Alice to encrypt an m- block message such that it can only be decrypted with the cooperation of both Bob and Charlie.The ciphertext should only be a constant size greater than m blocks.You may assume that Bob and Charlie have a pre-established secret channel on which to communicate. b.Now,suppose Alice shares a block cipher key,K AB with Bob,a block cipher key K AC with Charlie,and a block cipher key K AD with David.Describe a method for Alice to encrypt an m-block message such that any two of Bob,Charlie,and David can decrypt (for example,Bob and Charlie can decrypt),but none of them can decrypt the message themselves.Again,the ciphertext should only be a constant size greater than m blocks. Hint:Pick a random message encryption key to encrypt the message with.Then add three ciphertext blocks to the ciphertext header. c.How does your solution from part(b)scale as we increase the number of recipients?In other words,suppose Alice has a secret key with each of n recipients and wants to encrypt so that any k out of n recipients can decrypt,but any k?1cannot.What would be the length of the header as a function of n and k? Your answer shows that this solution scales poorly.We will discuss a far more e?cient solution later on in the class. Problem2The movie industry wants to protect digital content distributed on DVD’s.We study one possible approach.Suppose there are at most a total of n DVD players in the world(e.g. n=232).We view these n players as the leaves of a binary tree of height log2n.Each node v i in this binary tree contains an AES key K i.These keys are kept secret from consumers and are?xed for all time.At manufacturing time each DVD player is assigned a serial number i∈[0,n?1].Consider the set S i of1+log2n nodes along the path from the root to leaf number i in the binary tree.The manufacturer of the DVD player embeds in player number i the1+log2n keys associated with the nodes in S i.In this way each DVD player ships with 1+log2n keys embedded in it(these keys are supposedly inaccessible to consumers).A DVD 1

现代密码学知识点整理:.

第一章 基本概念 1. 密钥体制组成部分: 明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件: (1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量) (2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击 (1)唯密文攻击:仅知道一些密文 (2)已知明文攻击:知道一些密文和相应的明文 (3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文 【注:①以上攻击都建立在已知算法的基础之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】 第二章 古典密码 (一)单表古典密码 1、定义:明文字母对应的密文字母在密文中保持不变 2、基本加密运算 设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{* =∈=-=q k Z k Z q Z q q q (1)加法密码 ①加密算法: κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ②密钥量:q (2)乘法密码 ①加密算法: κκ∈∈===k X m Z Z Y X q q ;,;* 对任意,密文为:q km m E c k m od )(== ②解密算法:q c k c D m k mod )(1 -== ③密钥量:)(q ? (3)仿射密码 ①加密算法: κκ∈=∈∈∈===),(;},,|),{(;21* 2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文

信息安全学习总结10-密码学基础

(十)密码学基础 作者:山石1.密码学的起源 1949年之前:密码学是一门艺术 1949-1975年:密码学成为科学 1976年以后:密码学的新方向——公钥密码学 2.通信系统典型攻击 窃听:信息从被监视的通信过程中泄露出去。 完整性破坏:数据的一致性通过对数据进行未授权的创建、修改或破坏受到损坏。 业务流分析:通过对通信业务流模式进行观察而造成信息被泄露给未授权的实体。 消息篡改:当所传送的内容被改变而未发觉,并导致一种非授权后果时出现消息篡改。包括:内容修改,消息内容被插 入、删除、修改;顺序修改,插入、删除或重组消息序列; 时间修改,消息延迟或重放 旁路:攻击者发掘系统的缺陷或安全脆弱性 服务拒绝:当一个实体不能执行它的正当功能,或它的动作妨碍了别的实体执行它们的正当功能的时候便发生服务拒 绝。 冒充:就是一个实体(人或系统)假装成另一个不同的实体,从一个假冒信息源向网络中插入消息。冒充经常和某些别的

攻击形式一起使用,特别是消息的重演与篡改。 重演:当一个消息或部分消息为了产生非授权效果而被重复时出现重演。 抵赖:在一次通信中涉及到的那些实体之一不承认参加了该通信的全部或一部分。接受者否认收到消息;发送者否认发 送过消息。 陷阱门:当系统的实体受到改变致使一个攻击者能对命令,或对预订的事件或事件序列产生非授权的影响时,其结果就 称为陷阱门。 特洛伊木马:对系统而言的特洛伊木马,是指它不但具有自己的授权功能,而且还具有非授权的功能。 3.基本概念和术语 (1)密码学概念 密码学(Cryptology):研究信息系统安全保密的科学。 密码编码学(Cryptography):研究对信息进行编码,实现对信息的隐蔽。 密码分析学(Cryptanalytics):研究加密消息的破译或消息的伪造。 (2)密码学术语 明文(Plaintext):消息被称为明文。 密文(Ciphertext):被加密的消息称为密文。 加密(Encryption):用某种方法伪装消息以隐蔽它的内容的

密码学与网络安全课程摘要

第1章引言 1、计算机安全、网络安全、internet安全。 1)计算机安全:用来保护数据和阻止黑客的工具一般称为计算机安全。 2)网络安全:在信息传输时,用来保护数据传输的网络安全措施称为网络安全。 3)internet安全:在使用公有网络进行数据传的时用来保护数据传输的网络安全措施。 2、O SI安全框架包括哪些主要内容。 OSI定义了一种系统化的方法,对安全人员来说,OSI安全框架是提供安全的一种组织方法。安全框架对许多概念提供了一些有用或许抽象的概貌,OSI安全框架主要关注安全攻击、机制和服务。可以简短定义如下: 1)安全性攻击:任何危及企业信息系统安全的活动。 2)安全机制:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程,或实现该 过程的设备。 3)安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。其 目的在于利用一种或多种安全机制进行反击攻击。 3、安全攻击的两种类型:主动攻击和被动攻击。 1)被动攻击:被动攻击的特性是对传输进行窃听和监测,目标是获得传输的信息。主 要有消息内容泄漏和流量分析(通过对传输消息的频率和长度来判断通信的性质),对于被动攻击的处理重点是预防而不是检测。 2)主动攻击:主动攻击包括对数据流进行修改或伪造数据流,分为四类:伪装、重放、

消息修改和拒绝服务。主动攻击难以预防,但容易检测,所以重点是怎样从破坏或造成的延迟中恢复过来。 4、X.800安全服务。 1)认证:同等实体认证和数据源认证。 2)访问控制:阻止对资源的非授权使用。 3)数据保密性:连接保密性、无连接保密性、选择域保密性、流量保密性。 4)数据完整性:保证收到的数据的确是授权实体所发出的数据。 5)不可否认性:源不可否认性和宿不可否认性。 5、X.800安全机制。 1)特定安全机制:加密、数字签名、访问控制、数据完整性、认证交换、流量填充、 路由控制、公证。 2)普遍的安全机制:可信功能、安全标签、事件检测、安全审计跟踪、安全恢复。 6、网络安全模型。 在需要保护信息传输以防攻击者威胁消息的保密性、真实性等的时候,就会涉及到信息安全,任何用来保证安全的方法都包含了两方面:被发送信息的安全相关变换、双方共享某些秘密消息,并希望这些信息不为攻击者所知。

密码学与数据安全

数据安全 目录:一般方法预防通信数据安全 安全协议 安全; TLS; PGP 802.11i标准 云计算,车辆网络等数据安全。 通信数据安全: 数据源身份验证 数据完整性认证 数据机密性 数据源和完整性身份验证——对称密码学方法 源身份验证:基于共享密钥 完整性身份验证:消息摘要 集成解决方案——对称加密方法 源和完整性认证:HMAC

机密性:数字信封 数据源和完整性认证——对称密码学方法 电子签名 1、安全协议-介绍 双向认证:共享密钥、公钥证书 数据机密性:混合密码系统(数字信封) 数据的完整性:HMAC、电子签名 抵制重播:序列号、时间戳 安全参数协商 安全协议体系结构 局域网:802.11i 网络层:IPSec 传输层:SSL(安全套接字层); TLS(传输层安全性) 应用层:PGP(Pretty Good Privacy),S / MIME; SET(安全电子交易),HTTPS AH(认证负责人):消息源和完整性认证(强) ESP(封装安全负载):数据保密、消息源认证、消息完整性认证(可选)IKE(互联网密钥交换):双向身份验证、安全参数协商 2、安全协会(SA) 一套安全套装:序列号计数器、重播窗口

AH :认证算法,密钥,密钥生存期等。 ESP :加密和认证算法,密钥,初始值,密钥生存期等。 SA 生存期:时间或字节 模式:传输或隧道 保护指定的单向通信 SA 标识:安全参数索引(SPI ),目标地址,安全协议 两种工作模式:传输方式、隧道模式 2.1抵制重播 2.2 AH 协议 N 序号 报文已正确接收 未接收该序号 对应的报文 W

信息加密密码学原理

信息加密密码学原理 通过多年研究总结出一套适用于计算机的文件加密方法,它属于流密码加密但不需要线性反馈位移寄存器,那东西限制了普通计算机用户的应用,因为分组密码方式不但是自找麻烦而且限制了自己所以不被采用,又因为非对称密码的加密方式技术还不成熟速度太慢也不采用。本方法用户密码长度不受限制,但是用户密码不能过短,这是因为用户密码是完成加密的重要参数,如果信息量太少则不能形成千变万化的状态,那样就不能很好地隐藏秘密了。 第一节加密原理 信息加密技术实际是信息隐藏技术,好的加密能保护信息不被没有授权的人读懂。任何信息都可以用数字表示,所以信息加密一般落实到文件加密。所有各类文件都可以是加密对象。 加密原理很简单: 就是用未知数来隐藏被加密对象数字而已,设A是被加密对象一般称为明文,一个明文没什么用处,而明文数组则可能是文章或可执行程序或是媒体文件等等,一般文件都可以用字节作为元素。明文是有可能被看懂或识别的,例如字符文章等,也可能是乱码。B表示未知数,一般它和明文有相同的数字单位也就是字节,C表示加密结果的数字,这里用加法加密,当然也可以用别的运算符但必须有相应的逆运算存在。 A + B = C 这是一个数字的加密,可见只知道C不知道B是无法知道A的,两个未知数一个方程无法求解。对于一组数字则有: A1 + B1 = C1,A2 + B2 = C2,...An + Bn = Cn 这样明文数组A1,A2,...An被未知数组B1,B2,...Bn加密成了密文数组C1,C2,https://www.360docs.net/doc/1016496109.html,。一般未知数组被称为密钥数组,解密是加密的逆运算。如果密钥数组只是用一次,并且密钥数组元素之间没有任何关系这样的加密是不可破解的。那为什么有的加密可以破解呢? 从上面可见密钥数组和明文数组是一样长的,如果文件长了就很不方便管理密钥数组。现在的常规方式是用户提供“用户密码”,加密程序根据这些数据用一些算法拓展这些数据制作一个密钥数组,密钥数组长度是密码数组的几千倍几十万倍或更多倍都是有可能的。由少量数据生成大量数据总是有漏洞的,根据这些漏洞理论上是能破解密钥数组的,破解者除了得到密文还可能得到加密软件甚至加密程序的源码。 所以加密者努力寻找好的算法避免缺陷被利用,解密者则努力寻找漏洞突破封锁。 第二节密钥数组的建立 鉴于文件是以字节为单位,密钥数组也是以字节为单位,我们知道字节是八位二进制数,数值从0 到 255,共计256个元素。我们要建造的密钥数组是:分布均匀的,数据之间毫无关联的。这样才能确保被加密数据的安全。 下面讨论几种建造密钥数组的方法,它们的加密强度和易用性都是不同的:a)用一个随机函数;随机函数要求能通过各项测试,周期很大,这样由用户密码计算出一个种子,就可以由此点向后取值,做模256后就形成了字节数组,这样的数组数据之间是有关联的,因为它们来自同一随机函数,在保密性要求不

密码学与网络信息安全

密码学与网络信息安全 摘要伴随着网络的普及,计算机网络安全成为影响网络效能的重要问题,这就对网络的安全提出了更高的要求。一个安全的网络信息系统应当确保所传输信息的完整性、保密性、不可否认性等。目前保障通信和网络安全技术的种类很多,其中数据加密技术是保障信息安全的最核心的技术措施,信息加密也是现代密码学的主要组成部分。本文分析了密码学的发展趋势及一些常用的数据加密算法。 关键词网络信息安全;密码学;数据加密技术 1.网络安全技术研究的目的和意义 近年来,互联网络以其简捷、方便以及费用低廉等优点,己经越来越深入地渗透到互联网络不仅能够给人们提供信息资料,还使得网上电子商务的开展如网上购物、网上书店等成为可能,大大地影响了人们的生活。原来传统的信息媒体诸如纸张、胶片、磁带等纷纷让位于电子媒体。人了门可以在网络上通过网络门户如Yahoo。O、Sohu查询资料,或者通过电子邮件以及BBS等在网上交流信息,这一切都大大的提高了人们的工作效率。同时电子商务的出现标志着互联网从一个主要提供信息服务的网络向商业领域的拓展,这样就可以吸引更多的资金投入到互联网络的建设之中,从而更大的促进网络的发展。 网络的发展给人们带来了前所未有的便利,同时也给人们提出了新的挑战。每天互联网络上都有大量数据在传输,这其中既有对安全性要求相对较低的网页内容,也有安全要求相对较高的电子邮件以及ICQ信息,还有要求高度保密的电子商务交易数据。所有这一切,都对互联网上的数据安全提出了更高的要求。由于Internet网络本身的开放性,使每一个上网的用户既成为网络的受益者也可能成为网络的破坏者。同样由于目前Internet网络的无序化使得网络秩序基本上处于无法可依的状态。因此就要求对网上用户传来的数据进行加密/解密、签名/校验等工作,以保证自己的网上安全。 目前所有在互联网网络上的通信都使用TCP/IP协议,由于互联网络本身特点以及TCP/IP协议的弱点,TCP八P协议在信息到达终点之前可能要通过许多中间计算机和单独的网络,这使得它的传输信息容易受到第三方的干扰,因此使得在网络上传输的数据面临着各种安全问题。在网络上传输的数据对于数据的安全性也有不同的要求,例如,传输的网页数据仅仅要求不被篡改即可,而电子邮件则要求不能被窃听或者篡改,而电子商务中传输的敏感数据,如订货单等则要求相当高的安全性,其数据不能被窃听、篡改,同时接收方和发送方必须不能被假冒。同时网上还有一些数据,如个人信用卡密码、个人档案、政府公文等都对数据传输的安全性提出了更高的要求。针对网上数据传输的安全性提出了以下的要求: 1.机密性:数据不会被未授权的窃听者所窃取。 2.可认证性:能够确认文件的来源,确实是传送者本人,而不是由别人伪造的。 3.完整性:文件是真正的原文,并未被无意或者恶意的篡改。 4.不可否认性:发送方在发送文件之后,不可否认他曾送出这份文件。 密码学是信息安全的核心技术之一,解决这些问题的唯一有效的手段就是使用现代密码技术。信息加密技术是保障信息安全的最基本、最核心的技术措施。信息加密也是现代密码

相关文档
最新文档