单向散列函数的原理_实现和在密码学中的应用

单向散列函数的原理_实现和在密码学中的应用
单向散列函数的原理_实现和在密码学中的应用

收稿日期:2001204228

基金项目:国家重点科技项目(攻关)计划资助课题(20002A312

01205)

单向散列函数的原理、实现和在密码学中的应用3

辛运帏,廖大春,卢桂章

(南开大学信息技术科学学院,天津300071)

摘 要:简要介绍了单向散列函数的有关理论及实现情况,并且以密码学中广泛应用的单向散列函数M D5

为例,详细介绍了它的原理和实现过程。最后简要介绍了单向散列函数在当前的应用,并且提出了一种利用单向散列函数实现的新的用户密钥管理方案。

关键词:单向散列函数;密码学;邮摘散列算法;M D5中图法分类号:TP309.3 文献标识码:A 文章编号:100123695(2002)022******* 

The Principle and Implement of One 2way Hash Functions and

Their Cryptographic Application

XI N Y un 2wei ,LI AO Da 2chun ,LU G ui 2zhang

(College o f Information Technology &Science ,Nankai Univer sity ,Tianjin 300071,China )

Abstract :The paper introduces the theory and im plement of one 2way hash functions ,and using the M D5Alg orithm which is extensively used in cry ptography as an exam ple ,introduces its principle and im plement in detail.At last ,we research the application of them ,and pre 2sent a new schedule of user key management.

K ey w ords :One 2way Hash Function ;Cry ptography ;Message Digest Hash Alg orithm ;M D5

1 单向散列函数简介

密码学中使用的单向散列函数将任意长度的消息压缩到某一固定长度的消息摘要。单向散列函数又称为单向Hash 函数,它不是加密算法,却在密码学中有着广泛的应用,与各种加密算法有着密切的关系。它的模型为:h =H (M )。

其中,M 是待处理的明文,可以为任意长度;H 是单向散列函数,h 是生成的报文摘要,它具有固定的长度,并且和M 的长度无关。其中H 具有以下的单向性质:①给定H 和M ,很容易计算h ;②给定h 和H ,很难计算M ,甚至得不到M 的任何消息;③给定H ,要找两个不同的M 1和M 2,使得H (M 1)=H (M 2)在计算上是不可行的。

根据单向散列函数的安全水平,可以将单向散列函数分成两类:强碰撞自由的单向散列函数和弱碰撞自由的单向散列函数。上面描述的是强碰撞自由的单向散列函数的性质。如果将第③条改为:给定h 和一个已知的消息M ,找另外一个不同的消息M 1,使得h (M )=h (M 1)在计算上是不可行的,就叫做弱碰撞自由的单向散列函数。

显然强碰撞自由的单向散列函数比弱碰撞自由的单向散列函数安全性要高。因为弱碰撞自由的单向散列函数随着重复使用次数的增加安全性逐渐降低,强碰撞自由的单向散列函数则不会因其重复使用而降低安全性。因此在实际中要求使用强碰撞自由的单向散列函数。除此之外,在实际应用中还要求单向散列函数具有如下特点:

(1)单向散列函数能够处理任意长度的明文(至少是在实际应用中可能碰到的长度的明文),其生成的消息摘要数据块长度具有固定的大小,而且,对同一个消息反复执行该函数总是得到相同的信息摘要。

(2)单向散列函数生成的信息摘要是不可预见的,消息摘要看起来和原始的数据没有任何的关系。而且,原始数据的任何微小变化都会对生成的信息摘要产生很大的影响。

(3)具有不可逆性,即通过生成的报文摘要得到原始数据的任何信息在计算上是完全不可行的。

单向散列函数在密码学中有着非常广泛的应用,它被广泛地应用于数字签名、消息的完整性鉴别、消息的起源认证等,另外也和各种密码算法一起构成混合密码系统。

2 实现综述

实现一个安全的单向散列函数并不是一件容易的事

?

52?第2期辛运帏等:单向散列函数的原理、实现和在密码学中的应用

情。单向散列函数是建立在压缩函数基础上的,它的一般原理与实现过程是:单向散列函数按分组处理输入的消息。在分组之前,首先将待处理的消息进行填充,使得它的长度恰好是分组长度的整数倍。一般为了避免不同长度的消息散列后得到相同的散列值,填充的部分需要包含原来消息长度的信息。将消息分组后对各分组分别处理,压缩函数的输入是上一个变换的输出加上本分组的消息,即:h i =f (M i ,h i 21)。第i 21个散列值和第i 个消息分组一起,作为第i 轮函数的输入。最后一个分组的散列值即成为整个消息的散列值。

目前在密码学上已经设计出了大量的单向散列函数,如:Rabin Hash 方案、M erkle Hash 方案、N 2Hash 算法、M D2算法、M D4算法、M D5算法和SH A 等。通过考察发现,实际系统中用得最多的单向散列函数是消息摘要算法M D5(M essage Digest 5)和安全散列算法SH A (Security Hash Alg orithm )。它们具有相似的原理和实现方法,下面就以M D5为例详细分析它的实现过程。

3 MD5的原理和实现过程

M D5(M essage Digest 5)是著名密码学家R on Rivest 在M D4基础上进行改进得到的一种单向散列函数,它对任意一个文件进行散列,得到128bit 的散列值。它的大致流程如图1所示

图1 M D5的实现过程

在处理过程中需要一个MD5C ontext 结构,该结构

包含了每一次需要处理的一个明文块(512bit )和计算出来的散列值(128bit )。在散列的整个过程中,它的作用非常重要,各个明文块计算出来的散列值都是通过它来传递的。

计算散列时用到四个32bit 的变量(它们称为链接变量),在计算之前对它们进行初始化如下:

A =0x1234567

B =0x89abcdef

C =0x fedcba98

D =0x76543210

接着进行算法的主循环,循环的次数是消息中512bit 消息分组的数目。再将上述四个变量复制到另外的四个变量中:A 到a ,B 到b ,C 到c ,D 到d 。

主循环有四轮,每一轮都很相似,如图2所示。每一轮进行16次操作。每一次操作对a ,b ,c ,d 中三个作一次非线性运算,然后将所得到的结果加上第四个变量、文本的一个子分组和一个常数。再将所得到的结果向右环移一个不定数,并加上a ,b ,c ,d 中的一个。最后用结果取代a ,b ,c ,d 中的一个,如图3所示

图2 M D5的主循环 图3 M D5的一次执行过程

在每一次操作中用到了四个非线性函数(每一轮一个):

F (X ,Y,Z )=(X ∧Y )∨((?X )∧Z )

G (X ,Y,Z )=(X ∧Z )∨(Y ∧(?Z ))

H (X ,Y,Z )=X Y Z

I (X ,Y,Z )=Y (X ∨(?Z ))

因为MD5中只用到了以上函数,因此运算速度非常快。而且,最新的密码分析学表明,到目前为止,在实际中仍然还没有针对它的有效攻击方法,这就是它在目前得到广泛应用的根本原因。

安全散列算法SH A (Security Hash Alg orithm )是由美国NIST 和NS A 一起作为联邦信息处理标准(FIPS )提出的,该标准被用来与数字签名标准(DSS )一起使用。该算法对于输入的长度小于264bit 的消息(实际中很少有大于此长度的消息),都可以得到160bit 的散列值。

该算法的设计思想和MD5相似,但是比MD5具有更长的散列值,因此更能够抵抗穷举攻击和生日攻击,当然其速度比MD5要慢一些。

关于SH A 算法的更详细介绍,可以参考文献[3]。

4 在密码学中的实际应用

我们在这里简要介绍当前单向散列函数在密码学中的几个应用。411 数字签名技术

随着电子商务的逐渐普及,数字签名技术正逐步被接受。许多发达国家,包括美国、日本和欧洲诸国都已经承认数字签名的法律效力。其实数字签名是一种身份确认的方式,传统签名用手写识别,数字鉴名用密码确认,两者在交往中的作用并无区别。但多年不变的传统签名却已赶不上电子商务的形势,特别是对从事国际间B to B (企业对企业)电子商务的企业,迫切需要实现安全的数字签名技术。与传统签名相比较,数字签名具有安全、快速、高效的特点。图4是用H ash

函数进行数字签名的过程。

图4 使用Hash 函数的数字签名方案

?62? 计算机应用研究2002年

利用单向散列函数计算出需要签名的消息的邮摘,

再用签名算法对邮摘签名来代替直接对原来的消息进行签名,可有效地提高签名的效率和速度,也减少了传输的信息量,节约了网络的带宽,其优点是显而易见的。412 消息的完整性认证

文件的所有者为了保证一个文件的完整性,通常需要进行文件的完整性验证。通常的做法是:文件的所有者用Hash 算法计算出文件的Hash 值,自己保存这个Hash 值的一份拷贝,然后他可以把文件存放在一个公开的地方。每当他需要验证文件的完整性时(如他需要使用这个文件时),他就用同一个Hash 算法计算存储文件的Hash 值,和原来他自己保存的Hash 值相比较,如果相等,则文件是完整的,没有被改动;否则文件已经被改动。

实际中用得最多的是在网络上利用Hash 函数进行完整性鉴别,它的模型和图4类似。这种方法实现了在不安全的通信信道上的完整性认证,被广泛地使用在电子商务的认证系统中。

413 一种改进的用户密钥管理方案

在现有的大多数系统软件和应用软件中(如在Unix ,Linux 下),用户的口令是用DES (或3DES )算法加密后存放在机器中的。由于DES 算法对被加密的数据的长度有一定的要求,因而一般的系统对用户密钥的长度有一定的限制,即用户不能够输入过长的密钥,这就给系统安全造成了一定的隐患。同时,由于计算能力的提高,DES 的56bit 密钥已经难以满足用户的需求了。我们利用单向散列函数提出了一种改进的安全用户密钥管理方案(见图5)。方案如下:

如果K=E (H (P1)),则说明用户请求合法,应该允许其登录,否则拒绝

图5 改进的用户密钥管理方案

本方案的几点说明:

(1)在用户输入口令处加入一个口令过滤的模块,是为了防止用户输入过于简单的不安全的口令,现有的许多系统都是如此(如Unix ,Linux )。

(2)为了避免存放密钥的麻烦,在加密函数处通常用得到的散列值H (P )作为密钥,对已知的固定字符串进行多次加密,其输出作为K 。这样对攻击者来说相当于一个已知明文的打击。我们可以选择一个对已知明文攻击免疫的加密算法即可。

(3)如果用户的系统不需要极高的安全性,则可以去掉系统中的加密函数部分,因为合适的单向散列函数已

经提供了可靠的安全性。反之,为了进一步提高安全性,可以在用户输入口令后再引入一个随机数,对过短的密钥进行弥补。

(4)本方案在攻击者完全知道散列算法和加密算法的情况下也不会损失系统的安全性,尤其适合Linux 等开放源码系统。

(5)由于用户输入的口令不可能过大,因此以上改进对系统速度的影响可以忽略,不会影响实际应用。

本方案将单向散列函数和对称密钥加密函数结合起来,与原来的常用方案相比具有以下优点:①允许用户输入任意长度的口令。不管用户输入的口令有多长,经单向散列函数散列后都得到固定长度的摘要。再经加密算法加密后仍然是固定的长度,便于存放。②由于单向散列函数的单向性,可以弥补DES 的一些固有缺陷,如加密密钥过短和存在弱密钥和半弱密钥等问题。同时能够对付穷举攻击的威胁,大大提高了用户口令的安全性。414 其它方面的应用

单向散列函数在密码学中有着非常广泛的用途,除了上面提到的以外,还有以下一些:

(1)保密增强邮件PE M (Privacy Enhanced M ail )是因特网保密性增强邮件标准。它提供的消息完整性检查(M essage Integrity Check ,MIC )中的鉴别使用的单向散列函数是M D2和M D5(参见RFC142121423)。

(2)由Philip Z immermann 设计的著名的邮件加密软件PG P (Pretty G ood Privacy )的21613版本中使用的单向散列函数是M D5。

5 结束语

随着Internet 的发展特别是网上交易活动的更加频繁,人们更加迫切地需要实现安全的网上交易,因此安全的身份认证、数字签名技术等就显得越来越重要了。单向散列函数在这些方面为我们提供了一个很好的解决方案。仔细研究安全散列函数在这些方面的应用,对于推动电子商务的发展有着不可忽略的作用。参考文献:

[1]Bruce Schneier 1应用密码学—协议、算法与C 源程序[M].

吴世忠,等.北京:机械工业出版社.

[2]冯登国.密码分析学[M].北京:清华大学出版社.

[3]National Institute of S tandards and T echnology ,Nist FIPS PUB

186.Digital S ignature S tandard [S ].U.S.Department of C om 2merce ,May 1994.

[4]Evi Nemeth ,等1Unix 系统管理技术[M].杨继张.北京:清

华大学出版社.

作者简介:

辛运帏(19652),女,副教授,博士,主要研究方向为电子商务系统、信息加密;廖大春(19782),男,学士,在读硕士研究生,主要研究方向为计算机网络与信息系统;卢桂章(19382),男,教授,博士生导师,主要研究方向为智能机器人系统、信息自动化。

?

72?第2期辛运帏等:单向散列函数的原理、实现和在密码学中的应用

(完整版)北邮版《现代密码学》习题答案.doc

《现代密码学习题》答案 第一章 1、1949 年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理 论基础,从此密码学成了一门科学。 A、Shannon B 、Diffie C、Hellman D 、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥 5 部分组成,而其安全性是由( D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要 的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。 A 无条件安全 B计算安全 C可证明安全 D实际安全 4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为 4 类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。 A、唯密文攻击 B 、已知明文攻击 C 、选择明文攻击D、选择密文攻击 5、1976 年,和在密码学的新方向一文中提出了公开密钥密码的思想, 从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通

信理论和公钥密码思想。 7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。 对9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为 称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对( B )算法最有效。 A、置换密码 B 、单表代换密码C、多表代换密码D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A 仿射密码 B维吉利亚密码C轮转密码 D希尔密码 3、重合指数法对( C)算法的破解最有效。 A 置换密码 B单表代换密码C多表代换密码 D序列密码 4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是 (C )。

现代密码学 学习心得

混合离散对数及安全认证 摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。 对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。虽然其具有很高的安全性,却导致高负荷运算。最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。 本文研究混合系数的离散对数问题,也即信息不可识别性。我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。 1.概述 在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。然而,效率一直就是一个难以实现的属性。即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。其原因就是零知识协议的广泛应用。 身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。然而,其约减的代价太高,使得其不适用于现实中的问题。 几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。而对于“信息不可分辨”属性,则意味着在攻击者方面看来,证据所用的私钥是不受约束的。也就是说有许多的私钥对应于一个公钥,证据仅仅传递了有这样一个私钥被使用了这样一个信息,但是用的是哪个私钥,并没有在证据传递的信息中出现。下面,我们集中考虑后一种属性,它能够提供一种三次传递识别方案并且对抗主动攻击。Okamoto 描述了一些schnorr和guillou-quisquater识别方案的变种,是基于RSA假设和离散对数子群中的素数阶的。 随机oracle模型:最近几年,随机oracle模型极大的推动了研究的发展,它能够用来证明高效方案的安全性,为设计者提供了一个有价值的工具。这个模型中理想化了一些具体的密码学模型,例如哈希函数被假设为真正的随机函数,有助于给某些加密方案和数字签名等提供安全性的证据。尽管在最近的报告中对于随机oracle模型采取了谨慎的态度,但是它仍然被普遍认为非常的有效被广泛的应用着。例如,在这个模型中被证明安全的OAPE加密

现代密码学课后答案第二版讲解

现代密码学教程第二版 谷利泽郑世慧杨义先 欢迎私信指正,共同奉献 第一章 1.判断题 2.选择题 3.填空题 1.信息安全的主要目标是指机密性、完整性、可用性、认证性和不可否认性。 2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。 3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一 步可概括为两类主动攻击和被动攻击。

4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学 成为了一门学科。 5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。 6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的 思想,从而开创了现代密码学的新领域。 7.密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的《保密系统的通信理 论》和 1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。 8.密码法规是社会信息化密码管理的依据。 第二章 1.判断题 答案×√×√√√√××

2.选择题 答案:DCAAC ADA

3.填空题 1.密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分 析学。 2.8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。 3.9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和 非对称。 4.10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列 密码。

第三章5.判断 6.选择题

现代密码学期终考试试卷和答案

一.选择题 1、关于密码学的讨论中,下列(D )观点是不正确的。 A、密码学是研究与信息安全相关的方面如机密性、完整性、实体鉴别、抗否认等的综 合技术 B、密码学的两大分支是密码编码学和密码分析学 C、密码并不是提供安全的单一的手段,而是一组技术 D、密码学中存在一次一密的密码体制,它是绝对安全的 2、在以下古典密码体制中,属于置换密码的是(B)。 A、移位密码 B、倒序密码 C、仿射密码 D、PlayFair密码 3、一个完整的密码体制,不包括以下(?C?? )要素。 A、明文空间 B、密文空间 C、数字签名 D、密钥空间 4、关于DES算法,除了(C )以外,下列描述DES算法子密钥产生过程是正确的。 A、首先将DES 算法所接受的输入密钥K(64 位),去除奇偶校验位,得到56位密钥(即经过PC-1置换,得到56位密钥) B、在计算第i轮迭代所需的子密钥时,首先进行循环左移,循环左移的位数取决于i的值,这些经过循环移位的值作为下一次 循环左移的输入 C、在计算第i轮迭代所需的子密钥时,首先进行循环左移,每轮循环左移的位数都相同,这些经过循环移位的值作为下一次循 环左移的输入 D、然后将每轮循环移位后的值经PC-2置换,所得到的置换结果即为第i轮所需的子密钥Ki 5、2000年10月2日,NIST正式宣布将(B )候选算法作为高级数据加密标准,该算法是由两位比利时密码学者提出的。 A、MARS B、Rijndael C、Twofish D、Bluefish *6、根据所依据的数学难题,除了(A )以外,公钥密码体制可以分为以下几类。 A、模幂运算问题 B、大整数因子分解问题 C、离散对数问题 D、椭圆曲线离散对数问题 7、密码学中的杂凑函数(Hash函数)按照是否使用密钥分为两大类:带密钥的杂凑函数和不带密钥的杂凑函数,下面(C )是带密钥的杂凑函数。 A、MD4 B、SHA-1

现代密码学教程课后部分答案考试比用

第一章 1、1949年,(A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由(D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是(B )。 A无条件安全B计算安全C可证明安全D实际安全 4、根据密码分析者所掌握的分析资料的不同,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是(D )。 A、唯密文攻击 B、已知明文攻击 C、选择明文攻击 D、选择密文攻击 5、1976年,W.Diffie和M.Hellman在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。 7、密码学是研究信息及信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。 9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对(B )算法最有效。 A、置换密码 B、单表代换密码 C、多表代换密码 D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A仿射密码B维吉利亚密码C轮转密码D希尔密码 3、重合指数法对(C)算法的破解最有效。 A置换密码B单表代换密码C多表代换密码D序列密码 4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。 A置换密码B单表代换密码C多表代换密码D序列密码 5、在1949年香农发表《保密系统的通信理论》之前,密码学算法主要通过字符间的简单置换和代换实现,一般认为这些密码体制属于传统密码学范畴。 6、传统密码体制主要有两种,分别是指置换密码和代换密码。 7、置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码。 8、代换是传统密码体制中最基本的处理技巧,按照一个明文字母是否总是被一个固定的字母代替进行划分,代换密码主要分为两类:单表代换和多表代换密码。 9、一个有6个转轮密码机是一个周期长度为26 的6次方的多表代替密码机械装置。 第四章 1、在( C )年,美国国家标准局把IBM的Tuchman-Meyer方案确定数据加密标准,即DES。 A、1949 B、1972 C、1977 D、2001 2、密码学历史上第一个广泛应用于商用数据保密的密码算法是(B )。 A、AES B、DES C、IDEA D、RC6 3、在DES算法中,如果给定初始密钥K,经子密钥产生的各个子密钥都相同,则称该密钥K为弱密钥,DES算法弱密钥的个数为(B )。 A、2 B、4 C、8 D、16

现代密码学小论文

目录 现代密码学的认识与应用 (1) 一、密码学的发展历程 (1) 二、应用场景 (1) 2.1 Hash函数 (1) 2.2应用场景分析 (2) 2.2.1 Base64 (2) 2.2.2 加“盐” (2) 2.2.3 MD5加密 (2) 2.3参照改进 (3) 2.3.1 MD5+“盐” (3) 2.3.2 MD5+HMAC (3) 2.3.3 MD5 +HMAC+“盐” (3) 三、总结 (4)

现代密码学的认识与应用 一、密码学的发展历程 密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。 事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。 20世纪60年代计算机与通信系统的迅猛发展,促使人们开始考虑如何通过计算机和通信网络安全地完成各项事务,从而使得密码技术开始广泛应用于民间,也进一步促进了密码技术的迅猛发展。 二、应用场景 2.1 Hash函数 Hash函数(也称杂凑函数、散列函数)就是把任意长的输入消息串变化成固定长度的输出“0”、“1”串的函数,输出“0”、“1”串被称为该消息的Hash值(或杂凑值)。一个比较安全的Hash函数应该至少满足以下几个条件: ●输出串长度至少为128比特,以抵抗攻击。对每一个给定的输入,计算 Hash值很容易(Hash算法的运行效率通常都很高)。 ●对给定的Hash函数,已知Hash值,得到相应的输入消息串(求逆)是计 算上不可行的。 ●对给定的Hash函数和一个随机选择的消息,找到另一个与该消息不同的 消息使得它们Hash值相同(第二原像攻击)是计算上不可行的。 ●对给定的Hash函数,找到两个不同的输入消息串使得它们的Hash值相同 (即碰撞攻击)实际计算上是不可行的Hash函数主要用于消息认证算法 构造、口令保护、比特承诺协议、随机数生成和数字签名算法中。 Hash函数算法有很多,最著名的主要有MD系列和SHA系列,一直以来,对于这些算法的安全性分析结果没有很大突破,这给了人们足够的信心相信它们是足够安全的,并被广泛应用于网络通信协议当中。

密码学及其研究现状(2014年)

密码学及其研究现状(2014年) {摘要}: 密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。{关键词}:密码技术安全网络密匙管理 密码技术是信息安全的核心技术。如今,计算机网络环境下信息的保密性、完 整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码体制大体分为对称密 码(又称为私钥密码)和非对称密码(又称为公钥密码)两种。公钥密码在信息安全中 担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这 些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早 期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据 等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的 应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信 息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府 现用的密码编制及破译手段都具有高度的机密性。 进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它 们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱--按照 规定的图形和线路,改变明文字母或数码等的位置成为密文;代替--用一个或多 个代替表将明文字母或数码等代替为密文;密本--用预先编定的字母或数字密码 组,代替一定的词组单词等变明文为密文;加乱--用有限元素组成的一串序列作 为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单 独使用,也可混合使用,以编制出各种复杂度很高的实用密码。 当前,公钥密码的安全性概念已经被大大扩展了。像著名的RSA公钥密码算法、 Rabin公钥密码算法和ElGamal公钥密码算法都已经得到了广泛应用。但是,有些公

现代密码学试卷(含答案)

武汉大学计算机学院 信息安全专业2004级“密码学”课程考试题 (卷面八题,共100分,在总成绩中占70分) 参考答案 (卷面八题,共100分,在总成绩中占70分) 一、单表代替密码(10分) ①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文 M=WEWILLMEETATMORNING 为例进行加解密,说明其对合性。 ②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥k。 解答: 1.加法密码的明密文字母表的映射公式: A为明文字母表,即英文字母表,B为密文字母表,其映射关系为: j=i+k mod 26 显然当k=13时,j=i+13 mod 26,于是有i = j+13 mod 26。此时加法密码是对合的。称此密钥k=13为对合密钥。举例:因为k=13,所以明文字母表A和密文字母表B为 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 n o p q r s t u v w x y z a b c d e f g h i j k l m 第一次加密:M=W E W I L L M E E T A T M O R N I N G C=J R J V Y Y Z R R G O G Z B E A V A T

第二次加密:C=W E W I L L M E E T A T M O R N I N G?? 还原出明文,这说明当k=13时,加法密码是对合的。 称此密钥为对合密钥。 ②设n为模,若n为偶数,则k=n/2为对合密钥。若n为奇数,n/2不是整数,故不存在对合密钥。 二、回答问题(10分) 1)在公钥密码的密钥管理中,公开的加密钥Ke和保密的解密钥Kd的秘密性、真实性和完整性都需要确保吗?说明为什么?解答: ①公开的加密钥Ke:秘密性不需确保,真实性和完整性都需要确保。因为公钥是公开的,所以不需要保密。 但是如果其被篡改或出现错误,则不能正确进行加密操作。如果其被坏人置换,则基于公钥的各种安全性将受到破坏, 坏人将可冒充别人而获得非法利益。 ②保密的解密钥Kd:秘密性、真实性和完整性都需要确保。因为解密钥是保密的,如果其秘密性不能确保, 则数据的秘密性和真实性将不能确保。如果其真实性和完整性受到破坏,则数据的秘密性和真实性将不能确保。 ③举例 (A)攻击者C用自己的公钥置换PKDB中A的公钥: (B)设B要向A发送保密数据,则要用A的公钥加密,但此时已被换为C的公钥,因此实际上是用C的公钥加密。 (C)C截获密文,用自己的解密钥解密获得数据。 2)简述公钥证书的作用? 公钥证书是一种包含持证主体标识,持证主体公钥等信息,并由可信任的签证机构(CA)签名的信息集合。 公钥证书主要用于确保公钥及其与用户绑定关系的安全。公钥证书的持证主体可以是人、设备、组织机构或其它主体。

公钥密码学的理论基础

公钥密码学的理论基础—单向函数 1976年,Diffie W.和Hellman M.E.在他们的《密码学的新方向》一文中提出了公钥密码的概念。随后,在1978年,Rivest R.L.,Shamir A.和Adleman L.M.在其文《实现数字签名和公钥密码体制的一种方法》中最先提出了一种可行的实现方法,这就是我们现在广泛使用的RSA 体制。RSA体制的提出真正使得互不相识的通信双方在一个不安全 的信道上进行安全通信最终成为可能,也是我们今天CA服务的源泉。然而,人们很少关心当前幸福生活的背后有一位默默的奉献者—单向函数。 单向和陷门单向函数的概念是公钥密码学的核心,可以说公钥密码体制的设计就是陷门单向函数的设计。那么什么是单向函数?什么是陷门单向函数?他们的密码学意义何在?本文试图作一个初浅的 介绍。 1 单向函数 给定任意两个集合X和Y。函数f:X Y 称为单向的,如果对每一个x属于X,很容易计算出函数f(x)的值,而对大多数y属于Y,要确定满足y=f(x)的x是计算上困难的(假设至少有这样一个x存在)。注意,不能将单向函数的概念与数学意义上的不可逆函数的概念混同,因为单向函数可能是一个数学意义上可逆或者一对一的函数,而一个不可逆函数却不一定是单向函数。

目前,还没有人能够从理论上证明单向函数是存在的。单向函数存在性的证明将意味着计算机科学中一个最具挑战性的猜想P=NP,即NP完全问题的解决,而关于NP完全性的理论却不足以证明单向函数的存在。有幸的是,现实中却存在几个单向函数的“候选”。说他们是“候选”,是因为他们表现出了单向函数的性质,但还没有办法从理论上证明它们一定是单向函数。 一个最简单的、大家熟知的“侯选”单向函数就是整数相乘。众所周知,不管给定两个多大的整数,我们很容易计算出它们的乘积,而对于一个300位左右的十进制整数,即使已知它是两个大小差不多(150位左右的十进制数)的素数之积,用世界上计算能力最强的计算机,也没有办法在一个合理的时间内分解出构成这个整数的两个素数因子来。这里讲的“合理的时间”是指一个可度量的相当长的时间,比如人类或者地球的寿命等。 另一个单向函数的侯选就是固定基数和模数的模指数运算。设n 和a是整数,而且1 2 陷门单向函数 显然,单向函数不能直接用作密码体制,因为如果用单向函数对明文进行加密,即使是合法的接收者也不能还原出明文了,因为单向函数的逆运算是困难的。与密码体制关系更为密切的概念是陷门单向函数。一个函数f:X Y 称为是陷门单向的,如果该函数及其逆函数的计算都存在有效的算法,而且可以将计算f的方法公开,即使由计

现代密码学_清华大学_杨波着+习题答案

设 A = ' ∞ , = = ≤ ? ≤ ∞ ' ? ≤ ? ≤ ∞ ' ? 可求得 A = ' 一、古典密码 (1,2,4) 11,23AGENCY ”加密,并使用解密变换 D 11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。 解:明文用数字表示:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] 密文 C= E 11,23(M)≡11*M+23 (mod 26) =[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1] = YWPKXYHVKXONPTJCHYBXLPKTB ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第4章的“4.1.6欧几里得算法”,或者直接穷举1~25) ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密: M ’=D(C)≡19C+5 (mod 26) =[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] = THE NATIONAL SECURITY AGENCY 2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh ,又已知明文 的前两个字符是“if ”。对该密文解密。 解: 设解密变换为 m=D(c)≡a*c+b (mod 26) 由题目可知 密文 ed 解密后为 if ,即有: D(e)=i : 8≡4a+b (mod 26) D(d)=f : 5≡3a+b (mod 26) 由上述两式,可求得 a=3,b=22。 因此,解密变换为 m=D(c)≡3c+22 (mod 26) 密文用数字表示为: c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为 m=3*c+22 (mod 26) =[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17] = ifyoucanreadthisthankateahcer 4. 设多表代换密码 C i ≡ AM i + B (mod 26) 中,A 是 2×2 矩阵,B 是 0 矩阵,又知明文“dont ” 被加密为“elni ”,求矩阵 A 。 解: dont = (3,14,13,19) => elni = (4,11,13,8) ?a b / ≤ c d ? 则有: ? 4 / ?a b / ? 3 / ?13/ ?a b / ?13/ '11∞ ' c d ?≤14∞ (mod 26) , ' 8 ∞ ' c d ?≤19∞ (mod 26) ?10 13/ ≤ 9 23∞

密码学原理与应用复习大纲

密码学原理与应用复习大纲 第一部分古典密码 1.1 密码学的五元组(明文,密文,密钥,加密算法,解密算法)及各部分的含义 1.2 密码体制 什么是密码体制? 完成加密和解密的算法。通常,数据的加密和解密过程是通过密码体制(cipher system) +密钥(keyword)来控制的。密码体制必须易于使用,特别是应当可以在微型计算机使用。密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。 1.3 代替密码体制:(单表代替密码多表代替密码) 就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反响替换就可以恢复出明文。(在这里具体的代替方案称为密钥) 单表代替密码 明文的相同字符用相应的一个密文字符代替。(移位密码,乘数密码,仿射密码,多项式密码,密钥短语密码) 单表代替密码的特点: ▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。

▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。密钥π不便记忆。 ▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。 单表代替密码的弱点: ▲密钥量很小,不能抵抗穷尽搜索攻击 ▲没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击 ▲不具备雪崩效应▲加解密数学表达式简单多表代替密码 是以一系列(两个以上)代换表依次对明文消息的字母进行代换的方法。(维吉尼亚Vigenere密码,Hill密码,Playfair密码)多表代替密码的特点:使用了两个或两个以上的替代表。 Vegenere密码算法(分析类)15分,参考第一讲课件 第二部分对称密码体制 2.1 对称密码体制(分组密码,序列密码)的概念 对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。拥有加密能力就意味着拥有解密能力,反之亦然。对称密码体制保密强度高,但开放性差,它要求发送者和接收者在安全通信之前,需要有可靠的密钥信道传递密钥,而双方用户通信所用的密钥也必须妥善保管。2.2 分组密码

了解网络安全之密码学的基础知识

了解网络安全之密码学的基础知识 密码学要实现的基本功能 数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。网络安全使用密码学来辅助完成在传递敏感信息的的相关问题,主要包括: (I)机密性(confidentiality) 仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,及不能达到报文内容。 (II)鉴别(authentication) 发送方和接收方都应该能证实通信过程所涉及的另一方,通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。 (III)报文完整性(message intergrity) 即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。 (IV)不可否认性(non-repudiation) 如果我们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。 加密算法 加密技术根据其运算机制的不同,主要有对称加密算法、非对称加密算法和单向散列算法。其中各有优缺点,他们之间协合合作,共同实现现代网络安全应用。 对称密码算法 对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。 (I) 凯撒密码Casesar cipher: 将明文报文中的每个字母用字母表中该字母后的第R个字母来替换,达到加密的目的。 (II) DES,3DES和AES DES(Data Encryption Standard) 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛使用。该算法输入的是64比特的明文,在64比特密钥的控制下产生64比特的密文;反之输入64比特的密文,输出64比特的明文。64比特的密钥中含有8个比特的奇偶校验位,所以实际有效密钥长度为56比特。 1997 年RSA数据安全公司发起了一项“DES 挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56bit DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。 3DES 是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128比特(112比特有效)或192比特(168比特有效)。其基本原理是将128比特的密钥分为64比特的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。 AES(Advanced Encryption Standard)是2001年NIST宣布的DES后继算法。AES处理以128bit数据块为单位的对称密钥加密算法,可以用长为128,192和256位的密钥加密。 NIST估计如果用能在1秒钟内破解56bitDES算法的计算机来破解128位的AES密密钥,要用大约149 亿万年时间。 对称算法最主要的问题是:由于加解密双方都要使用相同的密钥,因此在网络安全中,发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。各种基本的手段均很难保障安全、高效地完成此项工作。在对称算

现代密码学在网络安全中的应用策略

题目现代密码学在网络 安全中的应用策略 学院: 姓名: 学号: 时间:

现代密码学在网络安全中的应用策略 摘要 计算机网络飞速发展的同时,安全问题不容忽视。网络安全经过了二十多年的发展,已经发展成为一个跨多门学科的综合性科学,它包括:通信技术、网络技术、计算机软件、硬件设计技术、密码学、网络安全与计算机安全技术等。 在理论上,网络安全是建立在密码学以及网络安全协议的基础上的。密码学是网络安全的核心,利用密码技术对信息进行加密传输、加密存储、数据完整性鉴别、用户身份鉴别等,比传统意义上简单的存取控制和授权等技术更可靠。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。从技术上,网络安全取决于两个方面:网络设备的硬件和软件。网络安全则由网络设备的软件和硬件互相配合来实现的。但是,由于网络安全作为网络对其上的信息提供的一种增值服务,人们往往发现软件的处理速度成为网络的瓶颈,因此,将网络安全的密码算法和安全协议用硬件实现,实现线速的安全处理仍然将是网络安全发展的一个主要方向。 在安全技术不断发展的同时,全面加强安全技术的应用也是网络安全发展的一个重要内容。同时,网络安全不仅仅是防火墙,也不是防病毒、入侵监测、防火墙、身份认证、加密等产品的简单堆砌,而是包括从系统到应用、从设备到服务的比较完整的、体系性的安全系列产品的有机结合。 总之,网络在今后的发展过程中不再仅仅是一个工具,也不再是一个遥不可及仅供少数人使用的技术专利,它将成为一种文化、一种生活融入到社会的各个领域。 关键词:计算机;网络;安全;防范;加密

1.密码学的发展历程 密码学在公元前400多年就早已经产生了,正如《破译者》一书中所说“人类使用密码的历史几乎与使用文字的时间一样长”。密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。例如我国古代的烽火就是一种传递军情的方法,再如古代的兵符就是用来传达信息的密令。就连闯荡江湖的侠士,都有秘密的黑道行话,更何况是那些不堪忍受压迫义士在秘密起义前进行地下联络的暗语,这都促进了密码学的发展。 事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。例如在希特勒一上台时,德国就试验并使用了一种命名为“谜”的密码机,“谜”型机能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完,希特勒完全相信了这种密码机的安全性。然而,英国获知了“谜”型机的密码原理,完成了一部针对“谜”型机的绰号叫“炸弹”的密码破译机,每秒钟可处理2000个字符,它几乎可以破译截获德国的所有情报。后来又研制出一种每秒钟可处理5000个字符的“巨人”型密码破译机并投入使用,至此同盟国几乎掌握了德国纳粹的绝大多数军事秘密和机密,而德国军方却对此一无所知;太平洋战争中,美军成功破译了日本海军的密码机,读懂了日本舰队司令官山本五十六发给各指挥官的命令,在中途岛彻底击溃了日本海军,击毙了山本五十六,导致了太平洋战争的决定性转折。因此,我们可以说,密码学为战争的胜利立了大功。在当今密码学不仅用于国家军事安全上,人们已经将重点更多的集中在实际应用,在你的生活就有很多密码,例如为了防止别人查阅你文件,你可以将你的文件加密;为了防止窃取你钱物,你在银行账户上设置密码,等等。随着科技的发展和信息保密的需求,密码学的应用将融入了你的日常生活。 2.密码学的基础知识 密码学(Cryptogra phy)在希腊文用Kruptos(hidden)+graphein(to write)表达,现代准确的术语为“密码编制学”,简称“编密学”,与之相对的专门研究如何破解密码的学问称之为“密码分析学”。密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信息进行伪装。一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换),而如果不合法的用户(密码分析者)试图从这种伪装后信息中分析得到原有的机密信息,那么,要么这种分析过程根本是不可能的,要么代价过于巨大,以至于无法进行。 在计算机出现以前,密码学的算法主要是通过字符之间代替或易位实现的,我们称这些密码体制为古典密码。其中包括:易位密码、代替密码(单表代替密码、多表代替密码等)。这些密码算法大都十分简单,现在已经很少在实际应用中使用了。由于密码学是涉及数学、通讯、计算机等相关学科的知识,就我们现有的知识水平而言,只能初步研究古典密码学的

密码学基础教学大纲

密码学基础课程教学大纲 课程名称: 密码学基础课程编码: 英文名称: cryptography 学时: 32 学分:2 适用专业: 信息与计算科学课程类别: 选修 课程性质: 学科任选课 先修课程:高等代数、离散数学、计算机理论基础 教材:现代密码学,科学出版社,陈鲁生,2008.8 一、课程性质与任务 本课程为信息与计算科学专业的专业选修课。密码学基础是信息安全专业的核心课程之一,是信息安全专业其他课程如网络安全,密码系统设计,数字隐藏水印等的先行课程。通过这一课程的学习,要使学生理解信息安全服务的思想,掌握流行加密算法如DES、AES等的基本原理,掌握公钥密码体制的概念,掌握RSA,离散对数公钥体制的基本算法,以及数字签名等信息安全服务的原理和算法。密码学内容丰富,涉及领域广泛,培养学生的抽象思维、逻辑推理、科学计算和创新能力。本课程的设置,为将来从事信息通讯安全以及在今后相关领域的研究打下坚实的基础。 二、课程教学的基本要求: 本课程主要内容包括:密码学基本概念;古典密码学;分组加密算法;公钥密码学;序列密码;数字签名等。通过这一课程的学习,使学生掌握密码学的基本概念和原理,在此基础上,掌握常用的加密算法和数字签名算法。进一步的,对这些常用算法在通讯问题中的应用进行了初步探讨与分析。培养学生的分析问题解决问题的能力,培养创新能力,为本科生在今后相关领域的研究与应用打下良好的基础。 三、课程内容及教学要求: (一)密码学基本概念 教学基本内容:

明文、密文、密钥、加密、解密、密码体制、密码体制的分类、加密迅通模型、密码攻击和密码攻击的分类(按攻击方法分类、按可利用数据分类)、绝对不可破译和计算不可破译。 重点: 加密通讯模型、密码攻击的分类、计算不可破译。 难点: 密码攻击的分类、绝对不可破译和计算不可破译。 本章节主要教学要求: 1.理解明文、密文、密钥、加密、解密的概念和关系,了解密码体制的构成,理解对称密码体制和公钥密码体制的概念; 2.掌握加密通讯模型; 3.了解密码攻击的定义,能够根据密码分析者所获得的数据进行攻击的分类; 4.理解绝对不可破译和计算不可破译的概念和区别。 (二)古典密码学 教学基本内容: 古典密码体制的运算(单表密码体制、多表密码体制)、密钥量、凯撒密码体制、标准字头加密体制、playfair体制、Vigenere体制、Vernam体制、Hill体制。 重点: 凯撒密码体制、playfair体制、Vigenere体制、Hill体制。 难点: 古典密码体制的运算(单表密码体制、多表密码体制)和密钥量。 本章节主要教学要求: 1.了解古典密码体制的运算(单表密码体制、多表密码体制),会计算简单密码体制的密钥量。 2.掌握常用古典密码算法(凯撒密码体制、playfair体制、Vigenere体制、Hill体制); 3.了解标准字头加密体制和Vernam体制的加密算法。 (三)分组密码学 教学基本内容:

中南大学现代密码学实验报告

现代密码学实验报告 学生姓名代巍 学号0909121615 专业班级信息安全1201 指导教师段桂华 学院信息科学与工程学院 完成时间2014年5月

实验一对称密码算法实验 [实验目的] 1.掌握密码学中经典的对称密码算法DES、AES、RC4的算法原理。 2.掌握DES、AES、RC4的算法流程和实现方法。 [实验预备] 1.DES算法有什么特点?算法中的哪些结构保证了其混淆和扩散的特性? 2.AES算法的基本原理和特点。 3.流密码RC4的密钥流生成以及S盒初始化过程。 [实验内容] 1. 分析DES、AES、RC4、SHA的实现过程。 2. 用程序设计语言将算法过程编程实现。 3. 完成字符串数据的加密运算和解密运算 输入明文:Idolikethisbook 输入密钥:cryption [实验步骤] 1. 预习DES、AES、RC4算法。 2. 写出算法流程,用程序设计语言将算法过程编程实现。 3. 输入指定的明文、密钥进行实验,验证结果。 4. 自己选择不同的输入,记录输出结果。 写出所编写程序的流程图和运行界面、运行结果。 一、DES算法 1.DES算法及原理 DES密码实际上是Lucifer密码的进一步发展。它是一种采用传统加密方法的区组密码。它的算法是对称的,既可用于加密又可用于解密。美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的通常称为DES密码算法要求主要为以下四点:提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础实现经济,运行有效,并且适用于多种完全不同的应用。 目前在这里,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,

传统密码与密码学基本概念

第1章传统密码与密码学基本概念 1.1 基本概念 随着计算机通讯被广泛地应用于商业、金融、政府及军事部门,如何防止日益严重的计算机犯罪,防止信息在通讯过程中被非法泄露、删除和修改,已成为全社会关心的问题。密码技术作为信息加密、鉴别和签名的手段,引起了数学家和计算机科学工作者的日益浓厚的兴趣。 什么是密码?简单地说它就是对一组信息M在参数K的参与下进行E变换,得到密文C。 设已知信息M,通过变换得密文(或密码)C。即() =这个变换过程称之为加密。加密前的信息称为明文,C E M K 一般用M(或m)表示。加密后得到的密码称为密文,一般用C(或c)表示。对明文实施变换得到密文的过程称为加密变换(简称为加密),记为E。加密变换所使用的一组规则称为加密算法。加密操作通常在一组指定参数的控制下进行,所指定的参数称为加密密钥,一般用K(或k,即Key,密钥)表示。从密文C恢复明文M的变换过程称之为解密变换(简称为解密),记为D,即()C =。解密变换所使用的一组规则称为解密算法。解密M D K 过程是加密过程的逆过程,解密过程也在指定的参数(密钥)的控制下进行。 传统密码加密用的密钥与解密用的密钥相同,称之为对称加密(也称为单密钥加密或常规加密)。 对称加密的两个例子: 1、设已知明文M为security将明文先分成2个字母1组,再将各组逆序书写,得密文C为esuciryt。这里加密变换是将明文先分组再逆序书写,密钥K是每组的字符长度2。解密过程是加密过程的逆过程,密钥相同。 2、将已知明文为security将明文写成矩阵形式

s c r t e u i y 然后按行的顺序重新书写即可得出密文scrteuiy。解密时,将密文分成两半(两行)后按列的顺序读出即为明文。密钥K为行的长度2。上述两例加密算法的加密密钥与解密密钥相同都等于2,称之为对称加密。 如果加密密钥与解密密钥不同,并且在计算上无法相互推导出,则称此加密变换为非对称加密(或公开密钥加密)。 密码学是研究通信安全保密的学科,由密码编码学和密码分析学组成。密码编码学主要研究如何保护传递的信息不被非法窃取、解读和利用。密码分析学主要研究如何分析和破译密码,窃取被保护的信息。非授权者借助窃听到的密文以及其他一些信息通过各种方法推断原来的明文甚至密钥,这一过程称为密码分析或密码攻击。从事这一工作的人称作是密码分析员。 对密码的攻击分为主动攻击和被动攻击。被动攻击是从传输信道上截取信息(或从存储的载体上偷窃信息),通过分析使需要保密的明文信息遭到泄露。主动攻击是利用对传输过程中或对存储的数据进行非法删除、更改、插入和重放等手段,损害信息的完整性。如果密码分析者可以由密文推出明文或密钥,或者由明文和密文可以寻求密钥,那么就称该密码系统是可破译的系统。相反地,则称该密码系统不可破译系统。对于一个密码系统来说,若攻击者无论得到多少密文也求不出确定明文的足够信息,称该密码系统就是理论上不可破译的,例如,“一次一密”密码系统属于理论上不可破译的。此密码系统要求每发送一条消息都要使用一个新的密钥,密钥每次发送前需安全地传送给接收者。虽然这给密钥管理带来了很大的难度,但是由于这种密码体制能够提供很高的安全性,所以在某些军事或外交场合仍然在使用。若一个密码系统原则上虽可破译,但为了由密文得到明文或密钥却需十分艰巨的计算,而不能在预料的时间内或实际可能的经济条件下(或合理的代价下)求出答案,这种密码系统就是实际不可破译的。例如,一个保护10万元财产的密码系统如果其破译代价高于10亿元,那么从经济角度看此系统是实际上安全的。又如,政府的一些决策只需要在发布前的一段时间内严格保密,其保密时效性只要求维持一段时间的不可破译。衡量不可破译性的尺度叫

相关文档
最新文档