您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机网络信息安全理论与实践教程-第4章
第4章网络安全密码学基本理论第4章网络安全密码学基本理论4.1密码学概况4.2密码体制分类4.3常见密码算法4.4杂凑函数4.5数字签名4.6安全协议4.7密码理论的网络安全应用举例4.8本章小结本章思考与练习第4章网络安全密码学基本理论4.1密 码 学 概 况4.1.1密码学发展简况密码学是一门研究信息安全保护的科学。它最早可追溯到几千年前,主要用于军事和外交通信。随着网络与信息技术的发展,密码学的应用不再局限于军事、政治、外交领域,而是逐步应用于社会各个领域,例如电子商务、个人安全通信、网络安全管理等。密码学的发展可大致划分为四个阶段:第一个阶段:从古代到1949年。该时期的密码学没有数学理论基础,其应用领域仅限于通信。第4章网络安全密码学基本理论第二个阶段:从1949年到1975年。这一时期的标志性事件是香农在1949年发表的著名论文——《保密系统的信息理论》,该文为私钥密码系统奠定了理论基础。第三个阶段:1976年到1990年。这一时期的密码技术出现了革命性变化,一是开辟了公钥密码学的新纪元,公钥密码体制诞生。二是美国政府提出了数据加密标准(DES)。这两个引人瞩目的事件标志着现代密码学的诞生。这一阶段的密码学应用不够广泛,使用人员并不多。第四个阶段:1990年到至今。因特网技术的普及和信息技术的发展极大地带动了密码学的应用需求,密码技术成为网络与信息安全的核心技术。在这一时期,密码学的应用得到了社会的广泛认同,密码学正影响着网络与信息技术的发展。第4章网络安全密码学基本理论4.1.2密码学基本概念密码学的主要目的是保持明文的秘密以防止攻击者获知,而密码分析学则是在不知道密钥的情况下识别出明文的科学。所谓明文,是指需要采用密码技术进行保护的消息。而密文则是指用密码技术处理“明文”后的结果,通常称为加密消息。将明文变换成密文的过程称作加密(encryption)。其逆过程,即由密文恢复出原明文的过程称作解密(decryption)。加密过程所使用的一组操作运算规则称作加密算法;而解密时使用的一组运算规则称作解密算法。加密和解密算法的操作通常都是在密钥(key)控制下进行的,分别称为加密密钥和解密密钥。第4章网络安全密码学基本理论4.1.3密码攻击分类与安全根据密码分析者破译时已具备的前提条件,人们通常将攻击类型分为三种:*惟密文攻击:密码分析者只拥有一个或多个用同一个密钥加密的密文,没有其他可利用的信息。*已知明文攻击:密码分析者仅知道当前密钥下的一些明文及所对应的密文。*选择明文攻击:密码分析者能够得到当前密钥下自己选定的明文所对应的密文。第4章网络安全密码学基本理论4.2密码体制分类4.2.1私钥密码体制私钥密码体制又称作对称密码体制,是广泛应用的普通密码体制。该体制的特点是加密和解密使用相同的密钥,如图4-1所示。私钥密码体制可看成保险柜,密钥就是保险柜的号码。持有号码的人能够打开保险柜,放入文件,然后再关闭它。持有号码的其他人可以打开保险柜,取出文件。没有保险柜号码的人就必须摸索保险柜的打开方法。当用户应用这种体制时,消息的发送者和接收者必须事先通过安全渠道交换密钥,以保证发送消息或接收消息时能够有供使用的密钥。第4章网络安全密码学基本理论图4-1私钥密码体制原理示意图加密明文密文密文解密明文第4章网络安全密码学基本理论显然易见,私钥密码体制的密钥分配和管理是极为重要的问题。为了保证加密消息的安全,密钥分配必须使用安全途径,例如由专门人员负责护送密钥给接收者。同时,消息发送方和接收方都需要安全保管密钥,防止非法用户读取。除了密钥的安全分配和管理外,私钥密码体制另外的问题是密钥量管理。由于加密和解密使用同一个密钥,因此,在不同的接收者分别进行加密通信或信息交换时,需要有几个不同的密钥。假设网络中有n个使用者,使用者之间共享一个密钥,则共有n(n-1)/2个密钥。如果n很大,密钥将多的无法处理。第4章网络安全密码学基本理论在私钥体制中,使用者A和B具有相同的加、解密能力,因此使用者B无法证实收到的A发来的消息确实来自A。私钥密码体制的缺陷可归纳为三点:密钥分配问题、密钥管理问题以及无法源认证。虽然私钥密码体制有不足之处,但私钥密码算法处理速度快,常常用作数据加密处理。目前,私钥密码典型算法已有DES、IDEA、AES等,其中,DES是美国早期数据加密标准,现在已经被AES取代。第4章网络安全密码学基本理论4.2.2公钥密码体制1976年,W.Diffie和M.E.Hellman发表了论文《密码学的新方向》,提出了公钥密码体制的思想。公钥密码体制又称作非对称密码体制,基本的原理是在加密和解密的过程中使用不同的密钥处理方式。其中,加密密钥可以公开,而只需要把解密密钥安全存放即可。在安全性方面,密码算法即使公开时,由加密密钥推知解密密钥的计算也是不可行的。公钥密码体制原理示意如图4-2所示。第4章网络安全密码学基本理论图4-2公钥密码体制原理示意图加密明文公钥密文密文私钥解密明文第4章网络安全密码学基本理论公钥密码体制可看成邮箱,任何人都能容易地把邮件放进邮箱,只要打开口子投进去就行了。把邮件放进邮箱是一件公开的事情,但打开邮箱却不是,它是难的,需要吹焊器或其他工具。然而,如果持有秘密信息(钥匙或组合密码),就很容易打开邮箱了。与对称密码体制相比较,公钥密码体制有以下优点:(1)密钥分发方便,可以以公开方式分配加密密钥。例如,因特网中的个人安全通信常将自己的公钥公布在网页中,方便其他人用它进行安全加密。第4章网络安全密码学基本理论(2)密钥保管量少。网络中的消息发送方可以共用一个公开加密密钥,从而减少密钥数量。只要接收方的解密密钥保密,消息的安全性就能实现。(3)支持数字签名。二十多年来,许多曾经提出的公钥密码体制已经被攻破了,也有很多被证明是不实用的。目前,只有三类体制被证明是安全和有效的,即RSA体制、ELGamal体制以及椭圆曲线密码体制。第4章网络安全密码学基本理论4.2.3混合密码体制混合密码体制利用公钥密码体制分配私钥密码体制的密钥,消息的收发双方共用这个密钥,然后按照私钥密码体制方式,进行加密和解密运算。混合密码体制的工作原理如图4-3所示。第一步,消息发送者Alice用对称密钥把需要发送的消息加密。第二步,Alice用Bob的公开密钥将对称密钥加密,形成数字信封,然后一起把加密消息和数字信封传送给Bob。第三步,Bob收到Alice的加密消息和数字信封后,用自己的私钥将数字信封解密,获取Alice加密消息时的对称密钥。第四步,Bob使用Alice加密的对称密钥把收到的加密消息解开。第4章网络安全密码学基本理论图4-3混合密码体制原理示意图消息发送者Alice消息接收者Bob加密消息Bob的公钥数字信封Enerypt明文消息Enerypt对称密钥明文解密解密Bob私钥321对称密钥4第4章网络安全密码学基本理论4.3常见密码算法4.3.1DESDES是数据加密标准的简称,由IBM在20世纪60年代研制出来。DES是一个分组加密算法,能够支持64比特的明文块加密,其密钥长度为56比特。DES是世界上应用最广泛的密码算法。但是,随着计算机系统运算速度的增加和网络计算的进行,在有限的时间内进行大量的运算将变得更可行。1997年,RSA实验室发出了破解DES密文的挑战。第4章网络安全密码学基本理论由RocheVerse牵头的一个工程小组动用了70000多台通过互联网连接起来的计算机,使用暴力攻击程序,大约花费96天的时间找到了正确的DES密钥。1998年7月,电子前沿基金会(EFF)花费了250000美元制造的一台机器在不到3天的时间里攻破了DES。因此,DES56比特的密钥长度已不足以保证密码系统的安全了。NIST于1999年10月25日采用三重DES作为过渡期间的国家标准,以增强DES的安全性,并开始征集AES(AdvancedEncryptionStandard)算法。第4章网络安全密码学基本理论4.3.2IDEAIDEA(InternationalDataEncryptionAlgorithm)是国际数据加密算法的简记,是一个分组加密处理算法,其明文和密文分组都是64比特,密钥长度为128比特。该算法是由来学嘉(X.J.Lai)和Massey提出的建议标准算法,已在PGP中得到应用。IDEA算法能够接受64比特分组加密处理,同一算法既可用于加密又可用于解密。该算法的设计思想是:“混合使用来自不同代数群中的运算”。第4章网络安全密码学基本理论4.3.3AES1997年4月15日,美国国家标准技术研究所(NIST)发起征集AES(AdvancedEncryptionStandard)算法的活动,并专门成立了AES工作组。目的是为了确定一个非保密的、公开的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息。NIST规定候选算法必须满足下面的要求:*密码必须是没有密级的,绝不能像保护商业秘密那样来保护它;*算法的全部描述必须公开披露;第4章网络安全密码学基本理论*密码必须可以在世界范围内免费使用;*密码系统支持至少128比特长的分组;*密码支持的密钥长度至少为128、192和256比特。截止到1998年8月,已提交了15个候选算法用于AES。由于Rijndeal提供了安全性、软件和硬件性能、低内存需求以及灵活性的最好的组合,因此NIST在2000年10月2日确定选择Rijndael作为AES。第4章网络安全密码学基本理论4.3.4RSAWhitefieldDiffie和MartinHellman于1976年提出了公钥密码系统的思想,然而他们并没有给出一个实用的公钥密码系统。Diffie-Hellman的文章发表两年后,MIT的RonaldRivist、AdiShamir和LenAdlemar开发出了第一个公钥密码体制。RSA密码算法基于大整数因子分解的困难性,可以描述如下:第一步,生成两个大素数p和q。第二步,计算这两个素数的乘积n=pq。第4章网络安全密码学基本理论第三步,计算小于n并且与n互素的整数的个数,即欧拉函数φ(n)=(p-1)(q-1)。第四步,选取一个随机数e,且1eφ(n),并且e和φ(n)互素,即gcd(e,φ(n))=1。第五步,计算d=e-1modφ(n)。第六步,保密d、p和q,而公开n和e,即d作为私钥,而n和e作为公钥。第4章网络安全密码学基本理论下面,举一个RSA加密的具体实例。设素数p=3,q=17,并令e=13,则RSA的加密操作如下:(1)计算n。n=pq=3×17=51,得出公钥n=51,e=13。(2)计算φ(n)和d。φ(n)=(p-1)(q-1)=2×16=32。因为d=e-1modφ(n),所以d=(kφ(n)+1)/e。其中,k是p-1和q-1的最大公约数。所以由此算出d=(2×32+1)/13=5,即解密钥是d=5。第4章网络安全密码学基本理论(3)加密和解密处理计算。假设Bob的公开密钥是e=13、n=51,Alice需要将明文“2”发送给Bob,则Alice首先用Bob的公开密钥加密明文,即C=Memodn=213mod51=8192mod51=32然后,Bob收到Alice发来的密文C后,用自己的私钥d解密密文C,即M=Cdmodn=325mod51=1024×1024×32mod51=512mod51=2第4章网络安全密码学基本理论RSA安全性保证要做到选取的素数p和q要足够大,使得给定了它们的乘积n后,在事先不知道p或q的情况下分解n,这在计算上是不可行的。因此,破译RSA密码体制基本上等价于分解n。基于安全性考虑,要求n的长度至少应为1024比特。然而从长期的安全性来看,n的长度至少应为2048比特,或者是616位的十进制数。第4章网络安全密码学基本理论4.3.5Diffie-Hellman密钥交换协议W.Deffie和M.E.Hellman于1976年首次提出密钥交换体制,通常简称Diffie-Hellman密钥交换协议
本文标题:计算机网络信息安全理论与实践教程-第4章
链接地址:https://www.777doc.com/doc-5857347 .html