应用密码学

应用密码学
应用密码学

应用密码学

密码学是一门以数学为基础的相关信息理论、通讯技术、计算机网络及安全协议技术等的综合学科。是信息安全的主要组成部分,是现代迅猛发展的学科之一,是从军用走向民用的一门新兴学科,是理论与实践相结合的一门学科。

密码学的发展史

初等密码、机械密码、近代电子密码(20世纪50年代)、现代密码(20世纪70年代)

密码学发展的标志性事件19世纪末,无线电的发明使密码学的发展进入一个开始发展的时期。这一时期的密码的主要标志是以手工操作或机械操作实现的,通常称之为机械密码。1949年,香农发表了<<秘密体制的通信理论>>(The Communication Theory of Secrecy Systems), 它证明了密码编码学是如何置于坚实的数学基础之上,从此密码学发展成为一个专门学科。应用举例二次世界大战时, 德国人认为自己的“恩格尼玛”密码是不可破的。1940年被英军破获。1941年12月, 日本海军采用无线电静默和战略伪装, 骗过了美国人, 成功地偷袭了珍珠港。但是, 1942年6月, 日本海军对中途岛发起的登陆作战因日本密码被破译, 终于遭到毁灭性的失败, 太平洋战争从此出现转机。在1962年的古巴导弹危机中,苏美剑拔弩张,形势严峻。据悉,美国人心生一计,故意用能被苏联截收、破译的密码告知其军队,准备与苏联开战。这一手果然吓住了赫鲁晓夫。甲午海战中北洋水师的覆灭,虽然其根本的原因在于清朝廷的腐败, 但是日本人破译了清军的密码也是一个重要的原因。二战中, 美国还利用破译密码所获得的情报为其外交服务。

密码体制与密码分析

密码体制(密码系统):密码编码学是改变信息形式以隐蔽其真实含义的学科。具有这种功能的系统称为密码体制或密码系统(cryptographic system)明文和密文:被隐蔽的信息称为明文(plaintext),经过密码方法将明文变换成另一种隐蔽的形式称为密文(ciphertext)。加密变换与加密算法:实现明文到密文的变换过程称为加密变换(encryption),这种变换的规则称为加密算法。解密变换与解密算法:合法接收者(receiver)将密文还原成明文的过程称为解密变换(decryption),这种还原的规则称为解密算法。密钥:通常, 加密算法和解密算法都是在一组信息的控制下进行的。控制加密算法或解密算法的信息分别称为加密密钥(key)或解密密钥。主动攻击与被动攻击:如果敌手(opponent)通过某些渠道窃听或侦收到正在被发送的密文信息,然后试图用各种手段或方法去获取密钥或明文信息, 那么, 这种攻击方法称为被动攻击(passive attack)。如果敌手通过更改被传送的密文信息,或将自已的扰乱信息插入到对方的通信信道之中以破坏合法接收者的正常解密,则这种攻击为主动攻击(active attack)。密码分析:密码分析(cryptanalysis)是被动攻击, 它是在不知道解密密钥及通信者所采用的加密体制的细节的条件下,试图通过密码分析达到获得机密消息的目的。密码分析在军事、外交、公安、商务、反间谍等领域中起着相当重要的作用。密码分析工具:(1) 概率论和数理统计(2) 线性代数和抽象代数(3) 计算的复杂性理论(4) 信息理论及其它一些特定的知识等。

AES算法

1997年9月12日,为了替代即将退役的DES,美国国家标准与技术研究所(NIST)在《联邦纪事》上发表了征集AES算法的公告。1999年3月22日,公布了5个候选算法:MARS, RC6, Rijndael, SERPENT, Twofish。2000年10月2日,由比利时密码学家Joan Daemen和Vincent Rijmen提交的Rijndael算法被确定为AES。以下称Rijndael算法为AES算法。2001年11月26日被采纳为一个标准。Rijndael分组加密算法的前身是Square 分组加密算法,轮变换结构与其基本相同。为了应征AES候选算法,对Square分组加密算法进行了改进。由原来的密钥和分组长均为128比特改为分组和密钥长均可变,可以满足不同的加密需求。

具体参数如下:

①分组长度、密钥长度和加密层数均可变。

②分组长度和密钥长度支持128、192、256比特。

③分组和密钥长度可以独立改变,并由此决定加密层数。

(一) 设计准则

Rijndael加密算法按照如下原则进行设计:

⒈抗所有已知的攻击

⒉在多个平台上速度要快和编码紧凑

⒊设计简单

(二) 状态、密钥与轮数

定义:状态(State):中间密码结果称为状态

Nb = 明文分组的4-字节字数(32比特)

Nk = 密钥的4-字节字数(32比特)

Nr = 加密的轮数

AES的总体描述:①给定一个明文x,将State初始化为x,并进行AddRoundKey操作,将RoundKey与State异或。

②对前Nr-1轮中的每一轮,用S盒进行一次代换操作,称为SubBytes;对State作一个置换ShiftRows,再对State作一次操作MixColumns,然后进行RoundKey操作。

③依次进行SubBytes,ShiftRows和AddRoundKey操作。

④将State定义为密文。

SuBytes算法

External FieldInv, BinaryToField, FieldToBinary

z BinaryToField(a7a6a5a4a3a2a1a0)

if z0

then z FieldInv(z)

(a7a6a5a4a3a2a1a0) FieldToBinary(z)

(c7c6c5c4c3c2c1c0) (01100011)

//在下面的循环中,所有下标都要经过模8约简

for i 0 to 7

do bi (ai+ai+4+ai+5+ai+6+ai+7+ci) mod 2

return (b7b6b5b4b3b2b1b0)

FieldInv:表示求一个域元素的乘法逆

BinaryToField:把一个字节变成一个域元素

FieldToBinary:把一个域元素变成一个字节

素数和互素数

因子

设a,b(b≠0)是两个整数,如果存在另一整数m,

使得a=mb,则称b整除a,记为b|a,且称b是a的因子

整数具有以下性质:

①a|1,那么a=±1。

②a|b且b|a,则a=±b。

③对任一b (b≠0),b|0。

④b|g,b|h,则对任意整数m、n有b|(mg+nh)。

2. 素数

称整数p(p>1)是素数,如果p的因子只有±1,±p。

模运算

设n是一正整数,a是整数,如果用n除a,得商为q,

余数为r,则

a=qn+r,0?r

如果(a mod n)=(b mod n),则称两整数a和b模n同

余,记为a≡b mod n。称与a模n同余的数的全体为a的同余类,记为[a],

称a为这个同余类的表示元素。

同余有以下性质:

①若n|(a-b),则a≡b mod n。

②(a mod n)≡(b mod n),则a≡b mod n。

③a≡b mod n,则b≡a mod n。

④a≡b mod n,b≡c mod n,则a≡c mod n。

从以上性质易知,同余类中的每一元素都可作为这

个同余类的表示元素。

模运算有以下性质:

①[(a mod n)+(b mod n)] mod n=(a+b) mod n。

②[(a mod n)-(b mod n)] mod n=(a-b) mod n。

③[(a mod n)×(b mod n)] mod n=(a×b) mod n。

公开密钥密码体系

简介

但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。

公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。

发展历程

1976年提出公共密钥密码体制,其原理是加密密钥和解密密钥分离。这样,一个具体用户就可以将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥

算法或简称为公钥算法。

1978年提出公共密钥密码的具体实施方案,即RSA方案。

1991年提出的DSA算法也是一种公共密钥算法,在数字签名方面有较大的应用优势。概念编辑

公钥体系结构中的一些基本概念与结构组成。

密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。

公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。

在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。

证书

互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名。这就形成了证书。

由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。

CA

前面提及的权威机构就是电子签证机关,即CA。CA(Certificate Authority)也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA(Certificate Authority)的签字从而信任CA(Certificate Authority),任何人都应该可以得到CA(Certificate Authority)的证书(含公钥),用以验证它所签发的证书。

如果用户想得到一份属于自己的证书,他应先向CA(Certificate Authority)提出申请。在CA(Certificate Authority)判明申请者的身份后,便为他分配一个公钥,并且CA (Certificate Authority)将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。

如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA(Certificate Authority)私钥加密的信息,签字验证的过程还伴随使用CA(Certificate Authority)公钥解密的过程),一旦验证通过,该证书就被认为是有效的。

CA(Certificate Authority)除了签发证书之外,它的另一个重要作用是证书和密钥的管理。

由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。CA(Certificate Authority)相当于网上公安局,专门发放、验证身份证。

3算法编辑

介绍

公开密钥算法是在1976年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文"New Direction in Cryptography")。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同开发的,分别取自三名数学家的名字的第一个字母来构成的。

1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的,一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。多数密码算法的安全基础是基于一些数学难题,这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。

公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。

RSA

公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL,在美国和加拿大SSL用128位RSA算法,由于出口限制,在其它地区(包括中国)通用的则是40位版本。

RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。

信息安全的目标

通常信息安全的目标可以概括为解决信息的以下问题:

保密性(Confidentiality)保证信息不泄露给未经授权的任何人。

完整性(Integrity)防止信息被未经授权的人篡改。

可用性(Availability)保证信息和信息系统确实为授权者所用。

可控性(Controllability)对信息和信息系统实施安全监控,防止非法利用信息和信息系统。

密码是实现一种变换,利用密码变换保护信息秘密是密码的最原始的能力,然而,随着信息和信息技术发展起来的现代密码学,不仅被用于解决信息的保密性,而且也用于解决信息的完整性、可用性和可控性。可以说,密码是解决信息安全的最有效手段,密码技术是解决信息安全的核心技术。

公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在我国是一件不可想象的事情。

公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。

在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下

将介绍典型的公开密钥密码算法-RSA。

RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由此可以看出RSA有很好的应用。

4产生编辑

1. 选择两个大素数,p 和q ,计算出n=qp,n称为RSA算法的模数。p,q 必须保密,一般要求p,q为安全素数,n的长度大于1024bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题。

2. 计算n的欧拉数

φ(n)=(p-1)(q-1)

φ(n)定义为不超过n并与n互质的数的个数。

3. 然后随机选择加密密钥e,从[0,φ(n)-1]中选择一个与φ(n)互质的数e作为公开的加密指数。

4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。

5.得到所需要公开密钥和秘密密钥:

公开密钥(即加密密钥)PK=(e,n)

秘密密钥(即解密密钥)SK=(d,n)

5加密解密编辑

1. 加密信息m(二进制表示)时,首先把m分成等长数据块m1 ,m2,..., mi ,块长s,其中2^s <= n, s 尽可能的大。

2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )

3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用( a ) 式签名,( b )式验证。

密钥密码体系

背景简介编辑

在汉语口语中,电脑系统或网络使用的个人帐户口令(password)也常被以密码代称,虽然口令亦属密码学研究的范围,但学术上口令与密码学中所称的钥匙并不相同,即使两者间常有密切的关连。

2密钥的定义编辑

密钥正确读音【mi yue】统一四声

密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据.

3密钥的发展编辑

对于普通的对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。此即为对称密钥体系,又称通用密钥体系。

20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、解密密钥的分离。加密密钥是公开的,解密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨,不像普通的对称密码学中采用相同的密钥加密、解

密数据,此即为非对称密钥体系,又称公用密钥体系。

4密钥密码体系的分类编辑

密钥分为两种:对称密钥与非对称密钥,所以密钥密码体系就分为两个领域,通用密钥体系和公用密钥体系。

对称密钥加密对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。

非对称密钥加密系统非对称密钥加密,又称公钥密钥加密。它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。

通用密钥体系通用密钥密码体系的加密密钥Ke和解密密钥Kd是通用的,即发送方和接收方使用同样密钥的密码体制,也称之为“传统密码体制”。

例如,人类历史上最古老的“恺撒密码”算法,是在古罗马时代使用的密码方式。由于无论是何种语言文字,都可以通过编码与二进制数字串对应,所以经过加密的文字仍然可变成二进制数字串,不影响数据通信的实现。

现以英语为例来说明使用恺撒密码方式的通用密钥密码体系原理。

例如:恺撒密码的原理是,对于明文的各个字母,根据它在26个英文字母表中的位置,按某个固定间隔n变换字母,即得到对应的密文。这个固定间隔的数字n就是加密密钥,同时也是解密密钥。例cryptograsphy是明文,使用密钥n=3,加密过程如图所示:

明文:C R Y P T O G R A P H Y

| | |

| |................. | 密钥:n=3

| | |

密文:F U B S W R J U D S K B

明文的第一个字母C在字母表中的位置设为1,以4为间隔,往后第4个字母是F,把C置换为F;同样,明文中的第二个字母R的位置设为1,往后第4个字母是U,把R 置换为U;依此类推,直到把明文中的字母置换完毕,即得到密文。密文是意思不明的文字,即使第三者得到也毫无意义。通信的对方得到密文之后,用同样的密文n=4,对密文的每个字母,按往前间隔4得到的字母进行置换的原则,即可解密得到明文。

恺撒密码方式的密钥只有26种,只要知道了算法,最多将密钥变换26次做试验,即可破解密码。因此,恺撒密码的安全性依赖于算法的保密性。

在通用密码体制中,目前得到广泛应用的典型算法是DES算法。DES是由“转置”方式和“换字”方式合成的通用密钥算法,先将明文(或密文)按64位分组,再逐组将64位的明文(或密文),用56位(另有8位奇偶校验位,共64位)的密钥,经过各种复杂的计算和变换,生成64位的密文(或明文),该算法属于分组密码算法。

DES算法可以由一块集成电路实现加密和解密功能。该算法是对二进制数字化信息加密及解密的算法,是通常数据通信中,用计算机对通信数据加密保护时使用的算法。DES 算法在1977年作为数字化信息的加密标准,由美国商业部国家标准局制定,称为“数据加密标准”,并以“联邦信息处理标准公告”的名称,于1977年1月15日正式公布。使用该标准,可以简单地生成DES密码。

公用密钥体系

1976年提出公共密钥密码体制,其原理是加密密钥和解密密钥分离。加密技术采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥,它们具有这种性

质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。相反地,用户也能用自己私人密钥对数据加以处理。换句话说,密钥对的工作是可以任选方向的。这提供了"数字签名"的基础,如果要一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名----一种别人无法产生的文件。数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。

这样,一个具体用户就可以将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥算法或简称为公钥算法。

公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。

在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。

证书

互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名。这就形成了证书。

由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。

1978年提出公共密钥密码的具体实施方案,即RSA方案。

1991年提出的DSA算法也是一种公共密钥算法,在数字签名方面有较大的应用优势

公开密钥密码体制是现代密码学的最重要的发明和进展。

在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。

CA(Certificate Authority)电子签证机关(即CA)。CA也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书(含公钥),用以验证它所签发的证书。

如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。

如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA私钥加密的信息,签字验证的过程还伴随使用CA公钥解密的过程),一旦验证通过,该证书就被认为是有效的。

CA除了签发证书之外,它的另一个重要作用是证书和密钥的管理。

由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。CA相当于网上公安局,专门发放、验证身份证。

5公开密钥算法RSA编辑

公开密钥算法是在1976年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文"New Direction in Cryptography")。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同开发的,分别取自三名数学家的名字的第一个字母来构成的。

1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的,一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。多数密码算法的安全基础是基于一些数学难题,这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。

公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。

公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL,在美国和加拿大SSL用128位RSA算法,由于出口限制,在其它地区(包括中国)通用的则是40位版本。

RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完性。公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在我国是一件不可想象的事情。

公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。

在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下将介绍典型的公开密钥密码算法-RSA。

RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由此可以看出RSA有很好的应用。

6密钥的产生编辑

1. 选择两个大素数,p 和q 。

2. 计算:n = p * q (p,q分别为两个互异的大素数,p,q 必须保密,一般要求p,q 为安全素数,n的长度大于512bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数(n)=(p-1)(q-1)。

3. 然后随机选择加密密钥e,要求e 和( p - 1 ) * ( q - 1 ) 互质。

4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。

加密与解密

1. 加密信息m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中2^s <= n, s 尽可能的大。

2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )

3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用( a ) 式签名,( b )式验证。

《应用密码学》课程试卷(2)参考答案

2008——2009学年第一学期 课程名称:应用密码学使用班级:信息安全06级1、2、3班 命题系别: 网络工程学院 命题人:张仕斌、张金全、万武南 第一题 填空(共15个空,每空1分,计15分) 1、128,160 2、已知明文攻击、选择明文攻击 3、双钥体制或者公钥密码体制或者非对称密码体制 4、m序列 5、128,192,256 6、会话密钥,密钥加密密钥 7、同步流密码 8、分组链接(CBC)模式,密码反馈(CFB)模式 9、1408 第二题 判断题(共10题,每题1分,计10分) 1、√ 2、√ 3、× 4、√ 5、× 6、× 7、× 8、√ 9、×10、× 第三题 单项选择(共10题,每题2分,计20分) 1、D 2、B 3、A 4、A 5、D 6、C 7、B 8、C 9、B 10、C 第四题(本题由三个小题组成,共16分) 1、简述RSA算法;(4分) 提示:给出密钥产生过程、加密过程、解密过程及各过程中需要注意之处。 2、在RSA算法密钥产生过程中,设p=19,q=13,取公钥e=7,求私钥d;(要求:给出必要计算过程。6分) 3、设RSA算法的参数选择如上题所述,求消息m=41所对应的密文;(要求:给出必要计算过程。6分)

解:1)密钥的产生 ①选两个保密的大素数p和q。 ②计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数值。 ③选一整数e,满足1

2017年青岛大学应用密码学考研专业课真题硕士研究生入学考试试题

青岛大学2017年硕士研究生入学考试试题 科目代码:930科目名称:应用密码学(共3页) 请考生写明题号,将答案全部答在答题纸上,答在试卷上无效 一、填空题(本大题共6道小题,每空2分,共30分) 1.密码体制是完成加密和解密功能的密码方案或密码算法。一个密码体制通常 由以下5个部分构成:明文空间;密文空间;;加密算法与。 2.密码体制的分类有很多种,根据加密和解密所使用的密钥是否相同,可以将 密码体制分为:和。 3.20世纪40年代末,C.Shannon(香农)在遵循Kerckhoff原则前提下,提出 了设计密码系统的两个基本方法:和。 4.数据加密标准(DES)算法是一种采用传统的代替和置换操作加密的分组密 码,明文以比特为分组,密钥长度为比特,有效密钥长度为比特,迭代轮数为。 ?;m和n的5.设2332 5772 ==,则m的欧拉函数()= m n 2357,25711 m 最大公约数为,最小公倍数为。 6.MD5算法是由RSA的创始人Rivest设计开发的,该算法能接收任意长度的 消息作为输入,以比特分组来处理输入文本,输出比特的散列值。 二、选择题(本大题共10道小题,每小题3分,共30分) 1.1949年,()发表题为《保密系统的通信理论》的文章,为密码系统建立 了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2.AES结构由一下4个不同的模块组成,其中()是非线性模块。 A、字节代换 B、行位移 C、列混淆 D、轮密钥加 3.下面()不是Hash函数具有的特性。 A、单向性 B、可逆性 C、压缩性 D、抗碰撞性 4.Alice收到Bob发给他的一个文件的签名,并要验证这个签名的有效性,那 么验证算法中Alice选用的密钥是()。 A、Alice的公钥 B、Alice的私钥 C、Bob的公钥 D、Bob的私钥 5.设在RSA的公钥密码体制中,公钥为(e,n)=(13,35),则私钥d=()。 第1页,共3页

《应用密码学》学习笔记

以下是我对《应用密码学》这本书的部分学习笔记,比较简单。笔记中对现代常用的加密技术进行了简单的归类和解释,有兴趣的同学可以看一下,没看过的同学就当普及知识了,看过的同学就当复习了。笔记里面可能有错别字,有的话请各位看客帮忙指正。 第1章密码学概述 1-1、1-2 1.密码技术的发展历史大致可以划分为三个时期:古典密码、近代密码和现代密码时期。 2.公元前440多年的斯巴达克人发明了一种称为“天书”的加密器械来秘密传送军事情报。这是最早的移位密码。 3.1919年德国人亚瑟·谢尔比乌斯利用机械电气技术发明了一种能够自动编码的转轮密码机。这就是历史上最著名的德国“埃尼格玛”密码机。 4.1949年香农的奠基性论文“保密系统的通信理论”在《贝尔系统技术杂志》上发表。 5.1977年,美国国家标准局正式公布实施了美国的数据加密标准(DES)。 6.1976年11月,名美国斯坦福大学的著名密码学家迪菲和赫尔曼发表了“密码学新方向”一文,首次提出了公钥密码体制的概念和设计思想。 7.1978年,美国的里韦斯特(R.L.Rivest)、沙米尔(A.Shamir)和阿德勒曼(L.Adleman)提出了第一个较为完善的公钥密码体制——RSA体制,成为公钥密码的杰出代表和事实标准。 8.2000年10月,比利时密码学家Joan Daemen和Vincent Rijmen提出的“Rijndael数据加密算法”被确定为AES算法,作为新一代数据加密标准。 1-3 1.密码学的主要任务:密码学主要为存储和传输中的数字信息提供如下几个方面的安全保护:机密性、数据完整性、鉴别、抗抵赖性。 2.密码体制中的有关基本概念: 明文(plaintext):常用m或p表示。 密文(ciphertext):常用c表示。 加密(encrypt): 解密(decrypt): 密码算法(cryptography algorithm):简称密码(cipher)。

应用密码学试题

东华2011~2012学年《应用密码学》试卷 (回忆版) 一. 单选题 1. 以下关于非对称密码的说法,错误的是() A. 加密算法和解密使用不同的密钥 B.非对称密码也称为公钥密码 C. 非对称密码可以用来实现数字签名 D. 非对称密码不能用来加密数据 2. 在RSA密钥产生过程中,选择了两个素数,p=17,q=41,求欧拉函数Φ(n)的值() A. 481 B. 444 C. 432 D. 640 3. 假如Alice想使用公钥密码算法发送一个加密的消息给Bob,此信息只有Bob 才能解密,Alice使用哪个密钥来加密这个信息?() A.A的公钥 B. A的私钥 C. B的公钥 D. B的私钥 4. 以下基于大整数因子分解难题的公钥密码算法是?() A. EIGamal B. ECC C. RSA D. AES 5. 以下哪种算法为不可逆的数学运算 A.MD5 B.RC4 C.IDEA D.DES 6. MAC和对称加密类似,但是也有区别,以下哪个选项指出了MAC和对称加密算法的区别? A.MAC不使用密钥 B.MAC使用两个密钥分别用于加密和解密 C.MAC是散列函数 D.MAC算法不要求可逆性而加密算法必须是可逆的

7. HMAC使用SHA-1作为其嵌入的散列函数,使用的密钥长度是256位,数据长度1024位,则该HMAC的输出是多少位? A. 256 B. 1024 C. 512 D. 160 二.填空题 1. DES加密算法的明文分组长度是位,密文分组长度是位;AES分组长度是位;MD5输出是位;SHA-1输出是位。 2. 如C=9m+2(mod26),此时假设密文C=7,则m= . 3.已知RSA加密算法中,n=21,e=5,当密文c=7时,求出此时的明文m= 4.Hmac的算法表达式是。 5.假设hash函数h的输出为k位,则散列结果发生碰撞的概率为 6. DES加密算法是结构,AES算法是结构。 三解答题 1.解释说明什么是零知识证明 2.Hash函数h,请分析h 特性和安全要求

汕头大学应用密码学期末复习资料

2019 年汕头大学应用密码学期末复习资料 (本次考试题型全部是问答题,有的题中包含计算,无选择填空,共八道大题)PS:本复习资料仅代表2019 年考试内容,老师年年会微调考试内容,但大体方向不变。本资 料删去无用内容,所有出现的内容均为重点,基本涵盖了所有内容。 资料由往年师兄师姐的精华加以整理,内容以老师PPT 为主,加本人的考后整理增加部分复习要点。 第一章概述 信息安全的目标和背景,为什么要学密码学? 密码学是信息安全学科的核心,密码学就是研究与信息安全相关方面诸如保密性、完整性、实体鉴别、抗抵赖性的数学理论与技术。 信息安全的三个基本目标(考题): 保密性:消息能够被安全地传送,即窃听者不能阅读发送的消息 完整性:消息的接收者应该能够验证正在传递的消息过程中有没有被修改,入侵者不能用假消息代替合法的消息。 可用性:即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况 信息安全技术产生的前提(考题): 不可靠的网络传输 阐述古典密码学中的两种主要技术以及公钥密码学思想。 答:代换(Substitution)和置换(Permutation)是古典密码学中两种主要的技术。代替技术就是将明文中每一个字符替换成另外一个字符从而形成密文,置换技术则是通过重新排列明文消息中元素的位置而不改变元素本身从而形成密文。 公钥密码的思想:密码系统中的加密密钥和解密密钥是可以不同的。由于并不能容易的通过加密密钥和密文来求得解密密钥或明文,所以可以公开这种系统的加密算法和加密密钥,用户则只要保管好自己的解密密钥。 密码算法的安全性(考题) 无条件安全:无论破译者有多少密文,给出无限的资源,他也无法解出对应的明文。 计算上安全:破译的代价超出本身的价值,破译的时间超出了信息的有效期。 对称密码又可以分成: 流密码和分组密码 分组密码每次对一块数据(Block)加密 流密码每次对一位或一字节加密 第二章数论基础 1.掌握 Euclid 辗转相除法 2.解一次同余计算式 (不会单独出一道题考你,会整合在 RSA 那章中出现,两个方法都必须掌握) (a,b)即表示求 a,b 的最大公约数 计算实例如下图

汕头大学应用密码学期末复习资料

2019年汕头大学应用密码学期末复习资料 (本次考试题型全部是问答题,有的题中包含计算,无选择填空,共八道大题) PS:本复习资料仅代表2019年考试内容,老师年年会微调考试内容,但大体方向不变。本资料删去无用内容,所有出现的内容均为重点,基本涵盖了所有内容。 资料由往年师兄师姐的精华加以整理,内容以老师PPT为主,加本人的考后整理增加部分复习要点。 第一章概述 信息安全的目标和背景,为什么要学密码学? 密码学是信息安全学科的核心,密码学就是研究与信息安全相关方面诸如保密性、完整性、实体鉴别、抗抵赖性的数学理论与技术。 信息安全的三个基本目标(考题): 保密性:消息能够被安全地传送,即窃听者不能阅读发送的消息 完整性:消息的接收者应该能够验证正在传递的消息过程中有没有被修改,入侵者不能用假消息代替合法的消息。 可用性:即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况 信息安全技术产生的前提(考题): 不可靠的网络传输 阐述古典密码学中的两种主要技术以及公钥密码学思想。 答:代换(Substitution)和置换(Permutation)是古典密码学中两种主要的技术。代替技术就是将明文中每一个字符替换成另外一个字符从而形成密文,置换技术则是通过重新排列明文消息中元素的位置而不改变元素本身从而形成密文。 公钥密码的思想:密码系统中的加密密钥和解密密钥是可以不同的。由于并不能容易的通过加密密钥和密文来求得解密密钥或明文,所以可以公开这种系统的加密算法和加密密钥,用户则只要保管好自己的解密密钥。 密码算法的安全性(考题) 无条件安全:无论破译者有多少密文,给出无限的资源,他也无法解出对应的明文。 计算上安全:破译的代价超出本身的价值,破译的时间超出了信息的有效期。 对称密码又可以分成: 流密码和分组密码 分组密码每次对一块数据(Block)加密 流密码每次对一位或一字节加密 第二章数论基础 1.掌握Euclid辗转相除法 2.解一次同余计算式 (不会单独出一道题考你,会整合在RSA那章中出现,两个方法都必须掌握) (a,b)即表示求a,b的最大公约数 计算实例如下图

应用密码学习题答案

《应用密码学》习题和思考题答案 第4章 密码学数学引论 4-1 编写一个程序找出100~200间的素数。 略 4-2 计算下列数值:7503mod81、(-7503)mod81、81mod7503、(-81)mod7503。 解:7503mod81=51 (-7503)mod81=30 81mod7503=81 (-81)mod7503=7422 4-3 证明:(1)[]))(m od (m od )(m od )(m od m b a m m b m a ?=? (2)[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ?+?=+? 证明: (1)设(mod )a a m r =,(mod )b b m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数)。于是有: [](mod )(mod )mod ()(mod )a b a m b m m r r m ?= ()()() ()() ()() 2()(mod )mod mod mod a b a b a b a b a b m r jm r km m r r r km r jm kjm m r r m ?=++=+++= 于是有:[]))(m od (m od )(m od )(m od m b a m m b m a ?=? (2)设(mod )a a m r =,(mod )b b m r =,(mod )c c m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数),c c r im =+(i 为某一整数)。于是有: []()()()()[]()()22()mod (mod ) (mod ) mod mod a b c a b c a b a a a c b c a b a c a b c m r jm r km r im m r jm r km r im m r r r im r km r r r jm kjm r jm ijm m r r r r m ???+=++++????????=++++??=+++++++=+ []()()()()()[]()(mod )()(mod )(mod ) mod mod mod mod a b a c a b a c a b m a c m m r jm r km m r jm r im m m r r r r m ?+?=+++++????=+ 于是有:[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ?+?=+?

应用密码学期末考试复习大纲

应用密码学复习大纲 第一章古典密码 1.1 密码学的五元组(明文,密文,密钥,加密算法,解密算法)(P15) 1.2 密码体制(P21) 完成加密和解密的算法。通常,数据的加密和解密过程是通过密码体制(cipher system) +密钥(keyword)来控制的。密码体制必须易于使用,特别是应当可以在微型计算机使用。密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。 可证明安全性无条件安全性(p18) 1.3 代替密码体制:(单表代替密码多表代替密码)p31 就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反响替换就可以恢复出明文。(在这里具体的代替方案称为密钥) 1.3.1 单表代替密码P31:明文的相同字符用相应的一个密文字符代替。(移位密码,乘数密码,仿射密码,多项式密码,密钥短语密码) 单表代替密码的特点: ▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。 ▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。密钥π不便记忆。 ▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。 单表代替密码的弱点:P32 ▲密钥量很小,不能抵抗穷尽搜索攻击 ▲没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击 ▲不具备雪崩效应▲加解密数学表达式简单 1.3.2 多表代替密码P34:是以一系列(两个以上)代换表依次对明文消息的字母进行代换的方法。(维吉尼亚Vigenere密码,Hill密码,Playfair密码) 多表代替密码的特点:使用了两个或两个以上的替代表。 Vegenere密码算法P38(计算类)15分 第二章对称密码体制 2.1 对称密码体制(分组密码,序列密码)的概念 对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。拥有加密能力就意味着拥有解密能力,反之亦然。对称密码体制保密强度高,但开放性差,它要求发送者和接收者在安全通信之前,需要有可靠的密钥信道传递密钥,而双方用户通信所用的密钥也必须妥善保管。 2.2 分组密码 P63

信息安全期末考试题(卷)库与答案解析

题库 一、选择 1. 密码学的目的是(C)。 A. 研究数据加密 B. 研究数据解密 C. 研究数据某 D. 研究信息安全 2. 从攻击方式区分攻击类型,可分为被动攻击和主动攻击。被动攻击难以(C),然而(C)这些攻击是可行的;主动攻击难以(C),然而(C)这些攻击是可行的。 A. 阻止,检测,阻止,检测 B. 检测,阻止,检测,阻止 C. 检测,阻止,阻止,检测 D. 上面3项都不是 3. 数据某性安全服务的基础是(D)。 A. 数据完整性机制 B. 数字签名机制 C. 访问控制机制 D. 加密机制 4. 数字签名要预先使用单向Hash函数进行处理的原因是(C)。 A. 多一道加密工序使密文更难破译 B. 提高密文的计算速度 C. 缩小签名密文的长度,加快数字签名和验 证签名的运算速度 D. 保证密文能正确还原成明文 5. 基于通信双方共同拥有的但是不为别人知道的秘密,利用计算机强大的计算能力,以该秘密作为加密和解密的密钥的认证是(C)。 A. 公钥认证 B. 零知识认证 C. 共享密钥认证 D. 口令认证 6. 为了简化管理,通常对访问者(A),以避免访问控制表过于庞大。 A. 分类组织成组 B. 严格限制数量 C. 按访问时间排序,删除长期没有访问的用户 D. 不作任何限制 7. PKI管理对象不包括(A)。 A. ID和口令 B. 证书 C. 密钥 D. 证书撤消 8. 下面不属于PKI组成部分的是(D)。 A. 证书主体 B. 使用证书的应用和系统 C. 证书权威机构 D. AS 9. IKE协商的第一阶段可以采用(C)。 A. 主模式、快速模式 B. 快速模式、积极模式 C. 主模式、积极模式 D. 新组模式 10.AH协议和ESP协议有(A)种工作模式。 A. 二 B. 三 C. 四 D. 五 11. (C)属于Web中使用的安全协议。 A. PEM、SSL B. S-HTTP、S/MIME C. SSL、S-HTTP D. S/MIME、SSL 12. 包过滤型防火墙原理上是基于(C)进行分析的技术。

应用密码学

第1章绪论 1-1为什么会有信息安全问题的出现? 答题要点: (1)当今知识经济社会,信息资源是重要的资源形式,大到一个国家、小至某一个人,拥有的信息资源越多、越早获取到信息资源,就在整个国家安全、经济与社会竞争中处于更有利的地位; (2)网络自身的安全缺陷难以堵住安全漏洞; (3)网络的开放性特征为攻击者提供了方便之门; (4)人为因素,包括人的无意失误、黑客攻击、管理不善等。 1-2简述密码学与信息安全的关系。 答题要点: 密码技术是实现网络信息安全的核心技术,是保护数据最重要的工具之一。通过加密变换,将可读的文件变换成不可理解的乱码,从而起到保护信息和数据的作用。它直接支持机密性、完整性和非否认性。 密码学尽管在网络信息安全中具有举足轻重的作用,但密码学绝不是确保网络信息安全的唯一工具,它也不能解决所有的安全问题。密码编码与密码分析是一对矛和盾的关系。 1-3简述密码学发展的三个阶段及其主要特点。 答题要点:密码学的发展大致经历了三个阶段: (1)古代加密方法。特点:作为密码学发展的起始阶段,所用方法简单,体现了后来发展起来的密码学的若干要素,但只能限制在一定范围内使用。主要基于手工的方式实现。(2)古典密码。特点:加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法更复杂,但其变化量仍然比较小。转轮机的出现是这一阶段的重要标志,传统密码学有了很大的进展,利用机械转轮可以开发出极其复杂的加密系统,缺点是密码周期有限、制造费用高等。 (3)近代密码。特点:这一阶段密码技术开始形成一门科学,利用电子计算机可以设计出更为复杂的密码系统,密码理论蓬勃发展,密码算法设计与分析互相促进,出现了大量的密码算法和各种攻击方法。另外,密码使用的范围也在不断扩张,而且出现了以DES为代表的对称密码体制和RSA为代表的非对称密码体制,制定了许多通用的加密标准,促进网络和技术的发展。 1-4近代密码学的标志是什么? 答:1949年Claude Shannon发表论文The communication theory of secrecy systems,1976年W.Diffie和M.Hellman发表论文New directions in cryptography,以及美国数据加密标准DES 的实施。 1-5安全机制是什么?主要的安全机制有哪些? 答题要点: 所谓安全机制,是指用来保护系统免受侦听、阻止安全攻击及恢复系统的机制。OSI安全框架-X.800方案的安全机制可分为两类:特定的安全机制和通用的安全机制。 主要的安全机制(略)。 1-6什么是安全服务?主要的安全服务有哪些? 答题要点: 安全服务就是加强数据处理系统和信息传输的安全性的一类服务,其目的在于利用一种或多种安全机制阻止安全攻击。 主要的安全服务包括:机密性(消息内容析出,通信量分析)、完整性、鉴别、非否认

应用密码学论文

数学科学学院 数学与应用数学一班110414000 某某某

应用密码学论文 这个学期我通过对应用密码学的学习,深刻地体会到应用密码学的魅力,也认识到随着科学的发展,应用密码学越来越成为一个国家不可缺少的一项科学技术。随着现代科技的发展,应用密码也起着非常重要的作用,但许多种密码总是有被外界容易攻击解密的弱点,因此人们研制出一种“不可破译”的密码——RSA 密码体制,不是不可破译,只是因为要想解它太难了,几乎不可能。 在这个学期对密码学的学习过程中,我查找了大量关于密码学的发展史。密码学主要经历了三个阶段:古代加密方法、古代密码和近代密码。首先,古代加密方法处于手工阶段,其源于应用的无穷需求总是来推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。 首先是公元前400年,斯巴达人就发明了“塞塔式密码”,即把长条纸螺旋形地斜绕在一个多棱棒上,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,写完一行再另起一行从左到右写,直到写完。解下来后,纸条上的文字消息杂乱无章、无法理解,这就是密文,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。这是最早的密码技术。我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。比如:我画蓝江水悠悠,爱晚亭枫叶愁。秋月溶溶照佛寺,香烟袅袅绕轻楼 其次是古典密码(机械阶段),古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。 最后是近代密码,这是计算机阶段,密码形成一门新的学科是在20世纪70年代,这是受计算机科学蓬勃发展刺激和推动的结果。快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。计算机和电子学时代的到来给密码设计者带来了前所未有的自由,他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。总之,利用电子计算机可以设计出更为复杂的密码系统。 关于密码学的一些基础知识,我查看很多书籍和资料,发觉密码学真的十分神奇和奥妙。密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信息进行伪装。一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似

应用密码学 习题

1.下面有关保密通信说法错误的是() A) 原始的消息称为明文B) 经过加密的消息称为密文 C) 用来传输消息的通道称为信道D) 消息的接收者称为信源 2.费吉尼亚密码属于() A) 单表替代密码B) 多表替代密码 C) 移位密码D) 仿射密码 3、RSA使用不方便的最大问题是() A)产生密钥需要强大的计算能力 B)算法中需要大数 C)算法中需要素数 D)被攻击过许多次 4.下列哪个不属于DES要用到的基本运算() A) 初始置换IP B) 行移位变换 C) S-盒运算D) P-置换 5、在密码学中,需要被变换的原消息被称为() A)密文 B)加密算法 C)密码 D)明文 6.与RSA算法相比,DSS不包括() A)数字签名 B)鉴别机制 C)加密机制 D)数据完整性 7.ELGamal密码体制的困难性是基于() A) 有限域上的离散对数问题B) 大整数分解问题 C) 欧拉定理D) 椭圆曲线上的离散对数问题 8、密码学(cryptology)是研究秘密通信的原理和破译密码的方法的一门科学,依此密码学的包含两个相互对立的分支有()A)对称密码和非对称密码 B)密码技术和散列函数 C)密码技术和数字签名 D)密码分析和密码编码学 9、加密技术不能提供一下哪种安全服务() A)鉴别 B)机密性 C)完整性 D)可用性 10、在密码学中,下列对RSA的描述正确的是() A)RSA是秘密密钥算法和对称密钥算法 B)RSA是非对称密钥算法和公钥算法 C)RSA是秘密密钥算法和非对称密钥算法 D)RSA是公钥算法和对称密钥算法 11、AES的密钥长度不可能多少比特() A)192 B)56 C)128 D)256 12.1976年,首次提出了公钥密码体制思想的是() A) 戴维·卡恩B) 迪菲和赫尔曼 C) 香农D) 沙米尔 13、通常使用下列哪种方法来实现抗抵赖性() A)加密 C)时间戳 B)数字签名 D)数字指纹 14.DES的分组长度为() A) 128位B) 256位 C) 16位D) 64位 15.下列哪个不属于AES要用到的基本运算() A) 初始置换IP B) 行移位变换 C) 字节替换变换D) 列混合变换 16.不属于公钥密码体制的是() A) DES B) RSA C) ELGamal D) ECC 17.下面有关AES说法错误的是() A) 属于迭代型密码B) 轮密钥的长度由加解密轮数决定 C) 安全性强于DES D) 实现代价高于DES 18.下面有关盲签名说法错误的是() A) 消息的内容对签名者是不可见的B) 在签名被公开后,签名者能够追踪签名 C) 消息的盲化处理由消息拥有者完成D) 满足不可否认性 19.AES的分组长度为() A) 64位B) 256位

密码学期末考试复习

填空题 1、密码学的主要任务是实现性、鉴别、数据完整性、抗抵赖性。 1、性是一种允许特定用户访问和阅读信息,而非授权用户对信息容不可理解的安全属性。在密码学中,信息的性通过加密技术实现。 2、完整性数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。 3、鉴别是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。 4、抗抵赖性 是一种用于阻止通信实体抵赖先前的通信行为及相关容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。 5、密码编码学的主要任务是寻求有效密码算法和协议,以保证信息的性或认证性的方法。它主要研究密码算法的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是系统设计的基础。 6、密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。 7、明文(Plaintext)是待伪装或加密的消息(Message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。 8、密文(Ciphertext)是对明文施加某种伪装或变换后的输出,也可认为是不可直接理的字符或比特集,密文常用c表示。 9、加密(Encrypt )是把原始的信息(明文)转换为密文的信息变换过程。 10、解密(Decrypt)是把己加密的信息(密文)恢复成原始信息明文的过程。 11、密码算法(Cryptography Algorithm)也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。对明文进行加密时所采用的规则称作加密算法,而对密文进行解密时所采用的规则称作解密算法。加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。 11、密钥(Secret Key )密码算法中的一个可变参数,通常是一组满足一定条件的随机序列 12、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。

密码学探究及几种古典密码的整合

密码学探究及几种古典密码的整合 胡月 四川教育学院数学与应用数学专业2005级2班指导教师:李滨 摘要:随着计算机以及科技的高速发展,密码学已经充斥到了我们生活中的各个角落,例如:经济、医疗、网络、个人隐私、军事等等。对于这样一门在生活中无处不接触的学科,多点了解是好的。所以为了提高人们对密码学的理解,以及为能进一步研究近代密码学,古典密码学就起着基石的作用。本文通过介绍密码学的“隐性”美,以及它简要的发展史,提高人们认识密码学的兴趣。紧接着依靠理论用例子详细研讨几种典型的古典密码体制相互整合之后的加密运算,其中要明确每一种体制中明文、密文、密钥之间的关系,为对近代密码的学习起一个很好的过渡作用。最后简要分析密码学的前景。 关键词:明文;密文;密钥;单表古典密码体制;多表古典密码体制;加密运算 Password explore and study the integration of several classical Password Hu Yue Sichuan college of Education Mathematics and Applied Mathematics 2005 2 classes Supervising teacher: Li Bin Abstract:With the computer, as well as the rapid development of science and technology, the password has been filled to the study of our lives in every corner, such as: economic, medical, network, privacy, military and so on. For such a life is everywhere in contact with the subjects, many points are well know. So in order to enhance people's understanding of cryptography, as well as to further research in modern cryptography, classical cryptography will play the role of the cornerstone. In this paper, through introduction of cryptography "hidden" the United States, as well as its brief history of the development, raising awareness of interest in cryptography. To rely on theory followed by a detailed introduction of several typical examples of classical cryptosystem after integrate encryption algorithms, which must be clear of each system explicitly, ciphertext, key relationship between the password for the Study of Modern an the role of a good transition. Finally a brief analysis of the

《密码学》期末考试试卷

新乡学院 2013-2014 学年度第一学期 《密码学》期末考试试卷 2010级信息与计算科学专业,考试时间:100分钟,考试方式:随堂考,满分100分 一、判断题(每小题2分,正确的在后面的括号内打“√”,错误的在后面的括号内打“×”) 1. 1976年,美国数据加密标准(DES)的公布使密码学的研究公开,从而开创了现在密码 学的新纪元,失眠墓穴发展史上的一次质的飞跃。() 2. 密码学的发展大致经历了两个阶段:传统密码学和现在密码学。() 3. 现在密码体质的安全性不应取决于不易改变的算法,而应取决于可是随时改变的密钥。 () 4. Hash函数也称为散列函数、哈希函数、杂凑函数等,是一个从消息空间到像空间的可逆 映射。() 5. 成熟的公钥密码算法出现以后,对称密码算法在实际中已无太大利用价值了。() 二、选择题(每小题2分,将正确答案的标号写在后面的括号内) 1. 若Alice要向Bob分发一个会话密钥,采用ElGamal公钥加密算法,那么Alice对该回 话密钥进行加密应该选用的是()(A)Alice的公钥(B)Alice的私钥(C)Bob的公钥(D)Bob的私钥 2. 下列算法中,不具有雪崩效应的是() (A)DES加密算法(B)序列密码的生成算法(C)哈希函数(D)RSA加密算法 3. 下列选项中,不是Hash函数的主要应用的是() (A)数据加密(B)数字签名(C)文件校验(D)认证协议 4. 对于二元域上的n元布尔函数,其总个数为()(A)n2(B)n22(C)n2(D)以上答案都不对 5. 下列密码算法中,不属于序列密码范畴的是() (A)RC4算法(B)A5算法(C)DES算法(D)WAKE算法 三、填空题(每小题1分,共20分) 1. 序列密码通常可以分为____序列密码和____序列密码。 2. 布尔函数是对称密码中策重要组件,其表示方法主要有____表示、____表示、____表示、 ____表示、____表示、____表示等。 3. 为了抗击各种已有的攻击方法,密码体制中的布尔函数的设计需要满足各种相应的设计 准则,这些设计准则主要有:________、________、________、________、________。 4. Hash函数就是把任意的长度的输入,通过散列函数,变换成固定长度的输出,该输出称 为____,Hash函数的单向性是指:____________________,Hash函数的抗碰撞性是指:________________。 5. 常用的公钥密码算法有:________、________、________、________。 四、简答题(每小题10分,共30分) 1. 简述RSA公钥密码体制中的密钥对的生成步骤、主要攻击方法以及防范措施。 2. 简述ElGamal公钥密码体制中的加密和解密过程。

应用密码学课程教学大纲

《应用密码学》课程教学大纲 一、课程代码与名称 课程代码:EI439001 中文名称:应用密码学 英文名称:Applied Cryptography 二、课程概述及与相关课程关系 随着通信网络及安全技术的发展,网络与信息的安全性等受到了人们的广泛关注。密码技术作为信息安全的核心技术,为信息的保密性、完整性、可用性和可靠性等提供了实现的一种手段,在电子商务/电子政务、网络通信等方面的受到了高度重视。 密码学是计算机、通信、应用数学、软件工程等专业的交叉学科,本课程主要学习古典密码体制、对称密码体制、非对称密码体制、序列密码体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用。 图1应用密码学与其它课程关系图 《应用密码学》课程与其他课程的关系如图1所示。其中,《工程导论》、《面向对象程序设计》、《数据结构》和《信息安全数学基础》是《应用密码学》课程的前期课程,而具备《微积分Ⅰ》、《微积分Ⅱ》、《线性代数与空间解析几何》、《离散数

学》、《概率论与数理统计》的知识,对于密码学算法的编程实现和理解是有帮助的。 通过本课程的学习,为进一步学习后续专业课程(如《信息安全理论与技术》、《信息对抗理论与技术》、《网络攻击与防御》、《灾难备份技术》、《信息隐藏与数字水印》、《系统加密与解密》和《安全系统整体解决方案设计》等课程)及在从事网 络信息安全应用系统的设计与开发等实际工作奠定理论基础。 三、课程教学对象与教学目的 适用专业:信息安全、信息对抗技术 教学目的: (1)通过本课程的学习,学生能够掌握密码学的基本概念、古典密码体制、序列密码体制、对称密码体制和非对称密钥体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用; (2)通过本课程实验,进一步加深对密码算法及相关知识的理解与掌握; (3)本课程后期的《应用密码学》课程设计,在老师的指导下,以工程应用为背景,学生通过主动查找资料等,运用前期学过程序设计语言编程实现密码算法,进而完成加密/解密(可以实现对任意字符串和文件加密等功能)、消息摘要算法、数字签名、安全传输、安全存储、密钥共享等实用程序,进一步提高学生在实际项 目中分析问题、解决问题和工程应用能力; (4)通过本课程的学习,主要完成如表1所示的指标。 表1 应用密码学主要完成的指标 *注:该表所列指标可对照培养方案中所列指标来解释。I:介绍,指从教、学活动中、从生活经 验和社会经验等多种信息渠道获得知识,侧重知识的获取,没有实训要求。T:讲授,指教、学 活动中由教师引导开展的基础测试或练习,匹配有课程讨论、课后研讨等环节。U:运用,指 以学生为主导,通过实练而形成的对完成某种任务所必须的活动方式,匹配有课程的三级项目 或其它实践环节(本课程有课程实验和课程设计)。

(完整版)密码学期末考试复习

填空题 1、密码学的主要任务是实现机密性、鉴别、数据完整性、抗抵赖性。 1、机密性是一种允许特定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。在密码学中,信息的机密性通过加密技术实现。 2、完整性数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。 3、鉴别是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。 4、抗抵赖性 是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。 5、密码编码学的主要任务是寻求有效密码算法和协议,以保证信息的机密性或认证性的方法。它主要研究密码算法的构造与设计,也就是密码体制的构造。它是密码理论的基础,也是保密系统设计的基础。 6、密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。 7、明文(Plaintext)是待伪装或加密的消息(Message)。在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。 8、密文(Ciphertext)是对明文施加某种伪装或变换后的输出,也可认为是不可直接理的字符或比特集,密文常用c表示。 9、加密(Encrypt )是把原始的信息(明文)转换为密文的信息变换过程。 10、解密(Decrypt)是把己加密的信息(密文)恢复成原始信息明文的过程。 11、密码算法(Cryptography Algorithm)也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。对明文进行加密时所采用的规则称作加密算法,而对密文进行解密时所采用的规则称作解密算法。加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。 11、密钥(Secret Key )密码算法中的一个可变参数,通常是一组满足一定条件的随机序列 12、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。 13、根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多

相关文档
最新文档