密码学基础完整版本_第1页
密码学基础完整版本_第2页
密码学基础完整版本_第3页
密码学基础完整版本_第4页
密码学基础完整版本_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲密码学基础杨照峰软件学院网络技术方向1122内容安排1.1密码学的背景—现实与历史1.2基本概念和术语1.3密码学的发展1.4常用加密算法21.1现在的背景-1保密与安全随着计算机的广泛使用,尤其是Internet的出现与发展,信息安全受到越来越多人的关注,象社会安全和经济安全等一样作为国家安全的重要组成部份,各国政府都予以高度重视发达国家和地区投入巨资来保护其信息基础建设的安全,增强其综合实力在一些发展中国家(如中国),则更多地依赖于国家政策,来维护自身的信息安全31.1现在的背景-2然而,全球一体化的经济和科技的发展,使得国与国,人与人之间有了更加紧密的依靠和渗透当前国际形势复杂多变,世界范围内黑客对计算机网络的攻击与破坏活动日趋猖獗,一些发达国家正在利用其信息技术、经济和军事优势来达到称霸世界的目的为了更快地发展我国的经济、增强综合国力,维护国家和世界的和平,我们自然不能袖手旁观4关注焦点目前在信息安全领域的关注焦点:⒈密码理论与技术;⒉安全协议理论与技术;⒊安全体系结构理论与技术;⒋信息保障体系;⒌信息对抗理论与技术;⒍安全产品。5历史背景一开始人就具备保守秘密的本能。这是一种很自然的人类行为。这些秘密要么只能由自己掌握,要么由自己和自己允许的人掌握。要想保密,最简单的做法就是不把它告诉别人。在远古,只有少数人才有读书、写字的特权十六世纪以前,秘密书写方法-隐匿法(隐藏讯息本身)与密码法(隐藏讯息意义)自凯撒大帝的年代开始,一直到当代,通信技术在稳步地发展着。从纸张到电报、电传、电话、传真以及E-mail,人和人之间的通信变得如此方便和普遍。与此同时,保障这些通信的安全也逐渐成为一项重要课题。6历史背景

根据不同时期密码技术采用的加密和解密实现手段的不同特点,密码技术的发展历史大致可以划分为三个时期,即古典密码、近代密码和现代密码时期。

一、古典密码时期

(手工密码)这一时期为从古代到十九世纪末,长达数千年。这个时期产生的许多密码体制都是以“手工作业”的方式进行,用纸笔或简单的器械来实现加密/解密的。7主要特征:手工加、解密源远流长(十九世纪以前的漫长时期)最初起源记录占星术等不宜公开的秘诀师徒相传(口授、书写)

发展结果用于军事、外交等秘密保护古典密码时期——最早的密码8古典密码时期——最早的密码早在公元前1900年左右,一位佚名的埃及书吏在碑文中使用了非标准的象形文字,这或许是目前已知最早的密码术实例。在古埃及的尼罗河畔,一位擅长书写者在贵族的基碑上书写铭文时有意用加以变形的象形文字而不是普通的象形文字来写铭文,从而揭开了有文字记载的密码史。这篇颇具神秘感的碑文,已具备了密码的基本特征:把一种符号(明文)用另一种符号(密文)代替9古典密码时期——最早的密码公元前440年,古希腊战争中应用隐写术 奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长起后将奴隶送到另一个部落,从而实现这两个部落之间的秘密通信。10古典密码时期——最早的密码公元前5世纪,古斯巴达人使用了一种叫做“天书”的器械,这是人类历史上最早使用的密码器械。“天书”是一根用草纸条、皮条或羊皮纸条紧紧缠绕的木棍。密信自上而下写在羊皮纸条上。然后把羊皮纸条解开送出。把羊皮纸条重新缠在一根直径和原木棍相同的木棍上,这样字就一圈圈跳出来。11古典密码时期——最早的密码公元前1世纪古罗马凯撒大帝时代曾使用过一种“替代式密码”,在这种密码中,每个字母都由其后的第三个字母(按字母顺序)所代替。这种替代式密码直到第二次大战时还被日本海军使用。公元前4世纪前后,希腊著名作家艾奈阿斯在著作《城市防卫论》中就曾提到一种被称为“艾奈阿斯绳结”的密码。它的作法是从绳子的一端开始,每隔一段距离打一个绳结,而绳结之间距离不等,不同的距离表达不同的字母。12古典密码时期——最早的密码恺撒密码:古罗马皇帝(公元前50年) 单表代换密码。明文中的每个字母用字母表中该字母后面的第3个字母代替。维吉尼亚密码:16世纪法国外交官多表代换密码,曾号称300年不破。

将26个恺撒密表合成一个,引入了“密钥”

13古典密码时期——最早的密码兵书《六韬.龙韬》记载西周时期 采用阴符传递情报----以不同物体形状表示不同情报内容;采用阴书传递情报----将1份战斗文书书写在3枚竹简上分送一地,受文者必须合而为一方知其意。兵书《武经总要》记载北宋时期用1首无重复汉字五言律诗的40个字分别表示40条不同的军情。14藏头诗芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。水浒传我画蓝江清悠悠,爱晚亭前枫叶愁。秋雾茫茫笼佛寺,香烟袅袅绕经楼。唐伯虎1516世纪卡尔达诺发明“卡尔达诺漏格板”.漏格板是一张用硬质材料(如硬纸、羊皮、金属等)做成的板,上面挖了一些长方形的孔,即漏格.网格密码16网格密码隐写术17近代密码时期二、近代密码时期(机电密码)近代密码时期是指二十世纪初到二十世纪50年代左右。从1919年以后的几十年中,密码研究人员设计出了各种各样采用机电技术的转轮密码机来取代手工编码加密方法,实现保密通信的自动编解码。18主要特征:以机械、电子方式加解密文字代换,但比古典加密方法复杂使用转轮机,大大提高了密码加解密速度应用电子技术,初步解决了在线实时加解密的问题少数保留手工密码方式在外交、军事领域得到广泛应用近代密码时期19近代密码时期密码学真正成为科学是在19世纪末和20世纪初期,两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了发展,并广泛的用于军事情报部门的决策。在希特勒一上台时,德国就试验并使用了一种命名为“谜”的密码机,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完,希特勒完全相信了这种密码机的安全性。然而,英国获知了“谜”型机的密码原理,完成了一部针对“谜”型机的绰号叫“炸弹”的密码破译机,每秒钟可处理2000个字符,它几乎可以破译截获德国的所有情报。20历史背景后来又研制出一种每秒钟可处理5000个字符的“巨人”型密码破译机并投入使用,至此同盟国几乎掌握了德国纳粹的绝大多数军事秘密和机密,而德国军方却对此一无所知。太平洋战争中,美军成功破译了日本海军的密码机,读懂了日本舰队司令官山本五十六发给各指挥官的命令,在中途岛彻底击溃了日本海军,击毙了山本五十六,导致了太平洋战争的决定性转折。因此,可以说,密码学为战争的胜利立了大功。21二战中最负盛名的密码机M-209密码机ENIGMA密码机22ENIGMA机(“谜”的密码机)

上个世纪20年代,出现了转轮密码,而由德国发明家亚瑟·谢尔比乌斯发明的Enigma密码机最为著名。它主要由经电线相连的键盘、转子和显示器组成,转子本身也集成了26条线路(在下图中显示了6条),把键盘的信号对应到显示器不同的小灯上去。在图2-5中可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe(咖啡),显示器上就会依次显示DBCE,这是最简单的加密方法之一——简单替换密码。2324不仅仅如此,因为当键盘上一个键被按下时,相应的密文在显示器上显示,然后转子的方向就自动地转动一个字母的位置(在图中就是转动1/6圈,而在实际中转动1/26圈)。25当第一次键入b时,信号通过转子中的连线,灯A亮起来,放开键后,转子转动一格,各字母所对应的密码就改变了;第二次键入b时,它所对应的字母就变成了C;同样地,第三次键入b时,灯E闪亮。为使机器更安全,可以把几种转轮和移动的齿轮结合起来。因为所有转轮以不同的速度移动,n个转轮的机器的周期是26n。为进一步阻止密码分析,有些转轮机在每个转轮上还有不同的位置号。26德国人为了战时使用,大大加强了其基本设计,军用的Enigma由3个转轮,从5个转轮中选取。转轮机中还有一块稍微改名明文序列的插板,有一个反射器导致每个转轮对每一个明文字母操作两次。27ENIGMA的原理-转子28ENIGMA的原理-转子当第一个转子转动整整一圈以后,它上面有一个齿拨动第二个转子,使得它转动一个字母的位置29ENIGMA的原理-反射器反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。乍一看它并不增加可以使用的编码数目,但是把它和解码联系起来就是这种设计的别具匠心30(转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密钥:三个转子不同的方向组成了26*26*26=17576种不同可能性;三个转子间不同的相对位置为6种可能性;连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种;于是一共有17576*6*100391791500,大约为10000000000000000,即一亿亿种可能性。但如此复杂的密码机在第二次世界大战中被破解了,首先是波兰人利用德军电报中前几个字母的重复出现,破解了早期的Enigma密码机,而后又将破译的方法告诉了法国人和英国人。英国人在计算机理论之父——图灵的带领下,通过寻找德国人在密钥选择上的失误,并成功夺取德军的部分密码本,获得密钥,以及进行选择明文攻击等等手段,破解出相当多非常重要的德军情报。ENIGMA的原理31现代密码时期三、

现代密码时期(计算机密码)主要特征:计算机加解密与计算机技术、电子通信技术紧密相关密码理论蓬勃发展,密码算法设计与分析互相促进,出现了大量的密码算法和各种攻击方法密码使用的范围也在不断扩张,出现了许多通用的加密标准出现了一些新的密码技术,如混沌密码、量子密码等32现代密码时期

1949年C.Shannon发表了“保密系统的通信理论(Thecommunicationtheoryofsecrecysystems)”,提出了保密系统的理论模型,从此可以对保密系统进行定量分析;指出了提高保密度的途径:增大密钥量,减少多余度,为设计高保密度密码系统指明了方向。首次将信息论引入密码技术的研究,为现代密码学研究与发展奠定了坚实的理论基础,使密码学成为一门真正的科学。遗憾:差不多30年后才受到重视。

1949年至1975年,密码学主要研究单钥密码体制,且发展比较缓慢。1976年11月,美国斯坦福大学的著名密码学家Diffie和Hellman发表了NewDirectioninCryptography一文,首次提出了公钥密码体制的概念和设计思想,开辟了公开密钥密码学的新领域,33现代密码时期

1977年美国联邦政府颁布数据加密标准(DES)。2001年美国联邦政府颁布高级加密标准(AES)。后来,新的密码技术不断涌现,例如,混沌密码、量子密码、DNA密码等等。这些新的密码技术正在逐步地走向实用化。同时,在公钥密码领域,椭圆曲线密码体制由于其安全性高、计算速度快等优点引起了人们的普遍关注。在数字签名方面,各种有不同实际应用背景的签名方案,如盲签名、群签名、环签名、指定验证人签名、聚合签名等不断出现。随着其他技术的发展,一些具有潜在密码应用价值的技术也得到了密码学家的重视,出现了一些新的密码技术,如混沌密码、量子密码、DNA密码等等。现在,密码学的研究和应用已大规模地扩展到民用方面。

34两款著名的密码设备计算机密码板STU-Ⅲ型数字电话保密机35密码从军事走向生活应用领域--军事,外交,商业,个人通信,古文化研究等目前,应用重点已经更多的集中在实际应用在生活中有越来越多使用密码的例子。随着科技的发展和信息保密的需求,密码学的应用已融入了日常生活36密码学的新问题:

信息安全的概念的演变通信保密(COMSEC):60-70年代

信息保密信息安全(INFOSEC):80-90年代

机密性、完整性、可用性、可控性、不可否认性等信息保障(IA):90年代-37为什么需要密码?信息的存储:在公开的地方信息的交换:使用非隐秘介质信息的传输:通过不安全信道38威胁和防护窃密----保密(数据加密)冒名----身份鉴别抵赖----不可否认性(数字签名)篡改----完整性控制39保护与破坏要保护什么?数据(机密、完整、独占)资源身份破坏的方式系统入侵恶意破坏资料窃取40现有技术手段加密访问控制,加强网络管理(帐号、口令等)审计防火墙入侵检测其他411.2密码学的基本概念什么是密码学?密码学是一门古老、年轻且深奥的学科。密码学(Cryptology).“Cryptology”来源于两个希腊语单词:“Kryptos(隐藏的)”和“Graphen(书写)”.密码学是一门关于编码(Code)和密码(Cipher)的科学42密码学的基本概念密码学(Cryptology):是研究信息保密的科学密码编码学(Cryptography):主要研究对信息进行编码,实现对信息意义的隐蔽密码分析学(Cryptanalytics):主要研究加密消息的破译或消息的伪造431.2.1密码学基本术语明文(Plaintext)、密文(Ciphertext)加密(Encryption)、解密(Decryption)密码算法(CryptographyAlgorithm)加密算法(EncryptionAlgorithm)解密算法(DecryptionAlgorithm)密钥(key)44明文(plaintext):定义:用密码(cipher)保护前的可以被一般人识读的原始消息(message)。描述:m或p—明文,M或P—明文空间(即所有明文的集合)1.2.1密码学基本术语45密文(ciphertext):定义:用密码保护后的不能被一般人识读的秘密消息。描述:c—密文,C—密文空间(即所有密文的集合)。

1.2.1密码学基本术语46加密(encryption,encipherment)定义:将明文变换为密文的过程。描述:e或E—加密变换。解密(decryption,decipherment)定义:从密文恢复出明文的过程。描述:d或D—解密变换1.2.1密码学基本术语47密钥(key):定义:用于加密和解密的起“钥匙”作用的秘密信息。描述:k—密钥,K—密钥空间(即所有密钥的集合)重要性:一切秘密皆寓于密钥之中!

密钥量定义:密钥空间中的元素个数。描述:kq—密钥量1.2.1密码学基本术语48现代密码学的一个基本原则:一切秘密寓于密钥之中。即密码算法是公开的,真正需要保密的是密钥。491.2.2密码体制密码体制(cryptosystem)定义:密码系统实现加密和解密功能所采用的密码方案。描述:明文空间、密文空间、密钥空间、加密变换、解密变换五个参数种类:对称密码体制(symmetriccryptosystem)非对称密码体制(asymmetriccryptosystem)501.2.2密码体制—基本定义密码体制:是一个五元组(P,C,K,E,D)P是可能明文的有限集:明文空间C是可能密文的有限集:密文空间K是一切可能密钥构成的有限集:密钥空间任意k∈K,有一个加密算法ek

∈E,使得ek:PC:加密变换族(Ek)相应的解密算法dk∈D,dk:C

P分别为加密解密函数,满足dk(ek(x))=x(这里x∈P):解密变换族(Dk)511.2.2密码体制的一般性要求

进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥密码体制必须满足以下三个一般性要求:

加解密变换对所有密钥都有效—必须;体制必须是简单易行的—易于找到密钥用于逆变换;体制的安全性仅依赖于密钥的保密而不能依靠算法的保密—加解密算法强度。521、对称密码体制(symmetric

cryptosystem)特点加密密钥和解密密钥相同,或者本质上相同;密钥必须严格保密!别名单钥密码体制(single-keycryptosystem)秘密密钥密码体制(secret-keycryptosystem)私钥密码体制(private-keycryptosystem)安全性完全依赖密钥!

53对称密码体制模型被动攻击(passiveattack

)试图对在信道上截获的密文进行分析以得到可能的明文或密钥的行为。

主动攻击(activeattack

)伪造、篡改、删除、重放密文甚至使通信中断的行为。54对称密码体制类型分组密码体制(blockcipher

cryptosystem)序列密码体制(sequentialcipher

cryptosystem)

552、非对称密码体制(asymmetric

cryptosystem)特点加密密钥和解密密钥不同,并且难以互推。公开的加密密钥—公钥(publickey)保密的解密密钥—私钥(privatekey)别名双钥密码体制(double-keycryptosystem)公开密钥密码体制(public-keycryptosystem)公钥密码体制(public-keycryptosystem)安全性

基于经过深入研究的数学难题!56非对称密码体制模型573、对称与非对称密码体制的比较分类对称密码体制非对称密码体制运行条件加密和解密使用同一个密钥和同一个算法。用同一个算法进行加密和解密,而密钥有一对,其中一个用于加密,另一个用于解密。发送方和接收方必须共享密钥和算法。发送方和接收方每个使用一对相互匹配、而又彼此互异的密钥中的一个。安全条件密钥必须保密。密钥对中的私钥必须保密。如果不掌握其他信息,要想解密报文是不可能或至少是不现实的。如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的。知道所用的算法加上密文的样本必须不足以确定密钥。知道所用的算法、公钥和密文的样本必须不足以确定私钥。优、缺点加、解密速度快需传输密钥不能用于数字签名加、解密速度慢不需传输密钥能用于数字签名58定义:用于加密和解密的系统。

组成:明文、密文、密钥、加密、解密1.2.3密码系统(cryptosystem)

59密码系统的安全性计算安全性(computationalsecurity)从破译一个密码系统(密码体制,密码算法)所需要的计算量的角度来衡量密码系统的安全性。如果用最好的破译方法破译一个密码系统所需要的计算量也大得不合理,就说明该密码系统是“计算上安全的”。例如,即使将世界上所有的计算机联合起来破译一种密码,所需要的破译时间也远远超过宇宙诞生至今的时间(大约1011年),那么,人们就有理由相信,该密码系统是“计算上安全的”。60密码系统的安全性可证明安全性(provablesecurity):将密码系统的安全性归结为某个经过深入研究也无法解决的数学难题。如果破译一种密码算法能够等价于解决一个经过深入研究也无法解决的数学难题,那么,人们自然也有理由相信,该密码系统至少在目前是安全的。公钥密码算法的安全性一般都是基于特定的数学难题。61密码系统的安全性无条件安全性(unconditionalsecurity)如果破译者即使拥有无限的资源(包括时间、金钱、能源、人员、设备、速度等一切可能的因素)也无法破译一种密码算法,那么,该密码算法就是“无条件安全的”。这是密码系统安全性的最高境界,也是密码系统设计者孜孜以求的追求目标。可惜的是,除了弗纳姆(Vernam)提出的“一次一密”(one-timepads)密码思想外,现实中的任何密码算法都还无法真正做到“无条件安全性”。

621.2.4密码算法的安全性要求—保密性EkDkCMMM不容许的保密性要求受保护的解密:不能被破译的63EkDkCMM’M不容许的可靠性要求受保护的C’‘密码算法的安全性要求—可靠性加密:不能被伪造的641.2.5加密通信的模型密码学的目的:A和B两个人在不安全的信道上进行通信,使破译者O不能理解他们通信的内容A加密机解密机B安全信道密钥源Oxyxkk651.2.6信息论1949年,Shannon以其在信息论方面的基本著作为依据,为密码学提供了理论基础。依据已经收到的密文来得到的明文的不确定性,来度量密码在理论上的保密度。如果不论截取了多少密文,对明文仍然一无所知,则此密码达到完全保密661.2.7密码算法的安全性无条件安全(Unconditionallysecure)一次一密(Onetimepad)计算上安全(Computationallysecure)破译的代价超出信息本身的价值破译的时间超出了信息的有效期671.3密码学的发展破译理论破译历史编码历史68破译理论所有现用密码都会在密文中留下一些有关明文的信息。随着密文长度的增加,明文的不确定性通常会下降,最后到零,此时意味着,有足够的信息来唯一的确定明文,这样,此密码至少在理论上是可破的69密码破译术语如果有可能从密文或明密对应文中确定明文或密钥,该密码就是可破的(Breakable)。如果无论截获多少密文,都没有足够信息来唯一确定明文,则该密码是无条件安全的(UnconditionallySecure)。如果使用有效资源对一个密码系统进行分析而未能破译,则称该密码是强的或计算上安全的(ComputationallySecure)70密码分析的条件和类型假设破译者O是在已知密码体制的前提下来破译B使用的密钥。这个假设称为Kerckhoff原则。最常见的破解类型如下:唯密文攻击:O仅具有密文串y。已知明文攻击:O具有明文串x和相应的密文y。选择明文攻击:O可获得对加密机的暂时访问,因此他能选择明文串x并构造出相应的密文串y。选择密文攻击:O可暂时接近密码机,可选择密文串y,并构造出相应的明文x。

这一切的目的在于破译出密钥或密文71密码破译方法密码破译的基础条件:所有自然语言都有很高的多余度破译原则:遵循观察与经验破译方法:采用归纳与演绎破译步骤:分析、假设、推测和证实72密码学经典格言

不应当低估对手的能力。只有密码分析者,而不是任何别的人,可以评价一个密码系统的安全性。在判断一种密码算法的安全性时,必须考虑对手知道这种算法。表面的复杂性可能是虚假的,它还会使密码编码者产生安全性错觉。判断密码系统的安全性时,必须考虑加密错误和其它违反安全纪律的情况。73密码学的作用密码学主要的应用形式有数字签名、身份认证、消息认证(也称数字指纹)、数字水印等几种,这几种应用的关键是密钥的传送,网络中一般采用混合加密体制来实现。密码学的应用主要体现了以下几个方面的功能。(1)维持机密性(2)用于鉴别(3)保证完整性(4)用于抗抵赖741.4常用加密算法古典密码算法1.代码加密:它使用通信双方预先设定的一组有确切含义的如日常词汇、专有名词、特殊用语等(但都有一个预先指定的确切含义)的代码来发送消息,一般只能用于传送一组预先约定的消息。

例如:密文:黄姨白姐安全到家了。明文:黄金和白银已经走私出境了。代码简单好用,但只能传送一组预先约定的信息。当然,可以将所有的语意单元(如每个单词)编排成代码簿,加密任何语句只要查代码簿即可。不重复使用的代码是很安全的。代码经过多次反复使用,窃密者会逐渐明白它们的意义,代码就逐渐失去了原有的安全性。751.4常用加密算法古典密码算法2.替换加密:将明文字母表M中的每个字母替换成密文字母表C中的字母。这一类密码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等。这种方法可以用来传送任何信息,但安全性不及代码加密。因为每一种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解。典型的有凯撒密码。例如,将字母a,b,c,…,x,y,z的自然顺序保持不变,但使之与D,E,F,…,A,B,C分别对应(即相差3个字符):AbcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC若明文为student,则对应的密文为VWXGHQW(此时密钥为3)。761.4常用加密算法古典密码算法1.变位加密:代码加密和替换加密保持着明文的字符顺序,只是将原字符替换并隐藏起来。变位加密不隐藏明文的字符,即明文的字母保持相同,但其顺序被打乱重新排列成另一种不同的格式。常见的变位加密方法有列变位法和矩阵变位法。1)简单变位加密。预先约定好一组数字表示密钥,将文字依次写在密钥下,再按数字次序重新组织文字实现加密,也有人喜欢将明文逆序输出作为密文。例如密钥:524163(密文排列次序)

明文:信息安全技术密文:技息全信术安例如,加密方首先选择一个用数字表示的密钥,写成一行,然后把明文逐行写在数字下。按密钥中数字指示的顺序,逐列将原文抄写下来,就是加密后的密文:密钥:4168257390明文:来人已出现住在平安里

0123456789密文:里人现平来住已在出安变位密码的另一个简单例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,如:明文:COMPUTERSYSTEMS密文:SMETSYSRETUPMOC771.4常用加密算法2)列变位法。将明文字符分割成个数固定的分组(如5个一组,5即为密钥!),按一组一行的次序整齐排列,最后不足一组用任意字符填充,完成后按列读取即成密文。将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好,最后不全的组可以用不常使用的字符填满。形式如下:C1C2C3C4C5C6C6C8C9C10C11C12C13C14C15……密文是取各列来产生的;C1C6C11…C2C6C12…C3C8…如明文是:WHATYOUCANLEARNFROMTHISBOOK,分组排列为:W H A T YO U C A NL E A R NF R O M TH I S B OO K X X X密文则以下面的形式读出;WOLFHOHUERIKACAOSXTARMBXYNNTOX。这里的密钥是数字5。781.4常用加密算法3)矩阵变位加密。将明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。一般为按列变换次序,如原列次序为1234,现为2413。明文NetworkSecurity按行排列在3×6矩阵中,如下所示:123456NetworkSecurity给定一个置换:f=(

),根据给定的次序,按5、2、6、4、1、3的列序重新排列,得到:526413oerwNtcuekSiyrt所以,密文为:oerwNtc

uekSiyrt。解密过程正好相反,按序排列密文后,通过列置换再按行读取数据即可。791.4常用加密算法古典密码算法4.一次性密码簿加密:如要既保持代码加密的可靠性,又保持替换加密的灵活性,可以采用一次性密码簿进行加密。密码簿的每一页上都是一些代码表,可以用一页上的代码来加密一些词,用后撕掉或烧毁;再用另一页上的代码加密另一些词,直到全部的明文都被加密。破译密文的惟一办法,就是获得一份相同的密码簿。现代的密码簿无需使用纸张,用计算机和一系列数字完全可以代替密码簿。在加密时,密码簿的每个数字用来表示对报文中的字母循环移位的次数,或者用来和报文中的字母进行按位异或计算,以加密报文。在解密时,持有密码簿的接收方,可以将密文的字母反向循环移位,或对密文的每个字母再次作异或计算,以恢复出明文来。这利用了数论中的“异或”性质,即:(P⊕C)⊕C=P,这是因为(P⊕C)⊕C=P⊕(C⊕C)=P⊕0=P的缘故。801.4常用加密算法古典密码算法4.一次性密码簿加密:下面就是一个使用按位异或进行加密和解密的实例:加密过程:(明文与密码按位异或计算)明文:101101011011密码:011010101001密文:110111110010解密过程:(密文与密码按位异或计算)密文:110111110010密码:011010101001明文:101101011011一次性密码簿,不言而喻只能使用一次。在这里,“一次性”有两个含义:一、密码簿不能重复用来加密不同的报文;二、密码簿至少不小于明文长度,即不得重复用来加密明文的不同部分。811.4单钥加密算法保密性完全依赖于密钥的保密,且加密密钥和解密密钥完全相同或等价,又称为对称密钥加密算法,其加密模式主要有序列密码(也称流密码)和分组密码两种方式。流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0、1数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流解密。流密码的强度完全依赖于密钥流序列的随机性和不可预测性,其核心问题是密钥流生成器的设计,流密码主要应用于政府和军事等国家要害部门。分组密码是将明文消息编码表示后的数字序列x1,x2,…,xi,…,划分为长为m的组x=(xo,xl,…,xm-1),各组(长为m的矢量),分别在密钥k=(ko,k1,…,kL-1)控制下变换成等长的输出数字序列y=(yo,y1,…,yn-1)(长为n的矢量),其加密函数E:Vn×K→Vn,Vn是n维矢量空间,K为密钥空间。实质上是字长为m的数字序列的代替密码。

821.4单钥加密算法56位DES加密算法的框图

DES算法是一种对二元数据进行加密的分组密码,数据分组长度为64bit(8byte),密文分组长度也是64bit,没有数据扩展。密钥长度为64bit,其中有效密钥长度56bit,其余8bit为奇偶校验。DES的整个体制是公开的,系统的安全性主要依赖密钥的保密。

831.4双钥加密算法

双钥密码体制的加密密钥和解密密钥不相同,它们的值不等,属性也不同,一个是可公开的公钥,另一个则是需要保密的私钥。双钥密码体制的特点是加密能力和解密能力是分开的,即加密与解密的密钥不同,或从一个难以推出另一个。它可以实现多个用户用公钥加密的消息只能由一个用户用私钥解读,或反过来,由一个用户用私钥加密的消息可被多个用户用公钥解读。其中前一种方式可用于在公共网络中实现保密通信;后一种方式可用于在认证系统中对消息进行数字签名。841.4双钥加密算法双钥加密算法的主要特点如下:1)用加密密钥PK对明文m加密后得到密文,再用解密密钥SK对密文解密,即可恢复出明文m,即DSK(EPK(m))=m2)加密密钥不能用来解密,即:DPK(EPK(m))≠m

;DSK(ESK(m))≠m3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。4)从已知的PK不可能推导出SK。5)加密和解密的运算可对调,即EPK(DSK(m))=m双钥密码体制大大简化了复杂的密钥分配管理问题,但公钥算法要比私钥算法慢得多(约1000倍)。851.4RSA算法

RSA体制是由R.L.Rivest、A.Shamir和L.Adleman设计的用数论构造双钥的方法,它既可用于加密,也可用于数字签名。RSA得到了世界上的最广泛应用,ISO在1992年颁布的国际标准X.509中,将RSA算法正式纳入国际标准。1999年,美国参议院已经通过了立法,规定电子数字签名与手写签名的文件、邮件在美国具有同等的法律效力。在Internet中广泛使用的电子邮件和文件加密软件PGP(PrettyGoodPrivacy)也将RSA作为传送会话密钥和数字签名的标准算法。

RSA算法的安全性建立在数论中“大数分解和素数检测”的理论基础上。861.4RSA算法RSA算法表述假定用户A欲送消息m给用户B,则RSA算法的加/解密过程为:1)首先用户B产生两个大素数p和q(p、q是保密的)。2)用户B计算n=pq和φ(n)=(p-1)(q-1)(φ(n)是保密的)。3)用户B选择一个随机数e(0<e<φ(n)),使得(e,φ(n))=1,即e和φ互素。4)用户B通过计算得出d,使得d×emodφ(n)=1(即在与n互素的数中选取与φ(n)互素的数,可以通过Euclidean算法得出。d是用户B自留且保密的,用作解密密钥)。5)用户B将n及e作为公钥公开。6)用户A通过公开渠道查到n和e。7)对m施行加密变换,即EB(m)=memodn=c。8)用户B收到密文c后,施行解密变换DB(c)=cdmodn=(memodn)dmodn=medmodn=mmodn871.5密码编码与密码分析使消息保密的技术和科学叫做密码编码学(cryptography)。从事此行的叫密码编码者(cryptographer)。破译密文的科学和技术叫做密码分析学(cryptanalysis)。从事密码分析的专业人员叫做密码分析者(cryptanalyst)。密码学包括密码编码学和密码分析学两者。现代的密码学家通常也是理论数学家。88密码编码学研究内容:主要研究对信息进行编码,实现对信息的隐蔽。特征运算类型:代换与置换所用的密钥数:单钥与双钥处理明文的方法:分组密码与流密码89密码分析学攻击的一般方法密码分析学:穷举攻击:90密码分析学基于加密信息的攻击类型:唯密文攻击:

唯密文攻击指的是在仅知已加密文字的情况下进行穷举攻击,此方案同时用于攻击对称密码体制和非对称密码体制。已知明文攻击:已知明文攻击是指一个对于密码的攻击,在其中攻击者采用一些明文/暗文对来达到目的。在这种方法中,密码分析员掌握了一段明文和对应的密文,目的是发现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论