当前位置:文档之家› 密码学对称加密算法

密码学对称加密算法

密码学对称加密算法
密码学对称加密算法

对称加密算法

一、网络安全

1.网络安全

(1) 网络的安全问题:有以下四个方面

A. 端-端的安全问题,主要指用户(包括代理)之间的加密、鉴别和数据完整性维护。

B. 端系统的安全问题,主要涉及防火墙技术

C. 安全服务质量问题,主要指如何保护合法用户的带宽,防止用户非法占用带宽。

D. 安全的网络基础设施,主要涉及路由器、DNS服务器,以及网络控制信息和管理信息的安全问题。

(2)网络的安全服务:有以下五个方面

A.身份认证:这是考虑到在网络的应用环境下,验证身份的双方一般是通过网络而非直接交互,所以传统的验证手段如根据对方的指纹等方法就无法应用。同时大量的黑客随时都可能尝试向网络渗透,截获合法用户的口令并冒充顶替,以合法身份入网。所以应该提供一种安全可靠的身份认证的手段。

B.授权控制:授权控制是控制不同用户对信息资源的访问权限。授权控制是以身份认证为基础的。通过给不同用户的提供严格的不同层次和不同程度的权限,同时结合可靠的身份认机制,可以从很大程度上减少非法入侵事件发生的机会。

C.数据加密:数据加密技术顾名思义。在互联网上应用加密技术来保证信息交换的可靠性已经的到了人们普遍的认可,已经进入了应用阶段。目前的加密技术主要有两大类:一类是基于对称密钥加密的算法,另一类是基于非对称密钥加密的算法。它们都已经达到了一个很高的强度,同时加密算法在理论上也已经相当的成熟,形成了一门独立的学科。而从应用方式上,一般分成软件加密和硬件加密。前者成本低而且实用灵活,更换也方便;而后者加密效率高,本身安全性高。在应用中,可以根据不同的需要来进行选择。

D.数据完整性:数据完整性是指通过网上传输的数据应该防止被修改、删除、插入、替换或重发,以保证合法用户接收和使用该数据的真实性。

E.防止否认:在网上传输数据时,网络应提供两种防止否认的机制:一是防止发送方否认自己发送过的信息,而谎称对方收到的信息是别人冒名或篡改过的;二是防止接收方否认自己收到过信息。利用非对称加密技术可以很好的实现第一个否认机制。

二、加密技术

(1) 加密技术的产生和发展

A. 古代,目前记录的比较早的是一个在公元前2世纪,由一个希腊人提出来的,26个字母放在一个5×5的表格里,这样所有的源文都可以行列号来表示。

B. 近代,在第二次世界大战里,密码机(如紫罗兰)得到了比较广泛的已经技术,同时破译密码的技术也得到了发展,出现了一次性密码技术。同时密码技术也促进了计算机的发展。

C. 现代,由于计算机和计算机网络的出现,对密码技术提出了更高的需求。密码学的论文和会议不断的增加,以密码技术为主的商业公司开始出现,密码算法层出不穷,并开始走向国际标准化的道路,出现了DES,AES等国家(美国的)标准。同时各个国家和政府对密码技术也越来越重视,都加密技术的出口和进口都作了相当严格的规定。

(2) 加密技术的分类

A.对称加密技术

a. 描述

对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性

至关重要。

b.特点分析

对称加密的优点在于算法实现后的效率高、速度快。

对称加密的缺点在于密钥的管理过于复杂。如果任何一对发送方和接收方都有他们各自商议的密钥的话,那么很明显,假设有N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时,记住是不可能的,而保留起来又会引起密钥泄漏可能性的增加。常用的对称加密算法有DES,DEA等。

B.非对称加密技术

a.描述

非对称加密(dissymmetrical encryption),有时又叫公开密钥算法(public key algorithm)。这种加密算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以又叫做公开密钥算法是由于加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密钥(public key),而解密密钥被叫做私有密钥(private key)。

b.特点分析

非对称加密的缺点在于算法实现后的效率低、速度慢。

非对称加密的优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,而且即使双方根本互不相识。但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制,这种公开密钥管理机制还要解决其他一些公开密钥所带来的问题。常用的非对称加密算法有RSA等。

(3) 关于密码技术

密码技术包括加密技术和密码分析技术,也即加密和解密技术两个方面。在一个新的加密算法的研发需要有相应的数学理论证明,证明这个算法的安全性有多高,同时还要从密码分析的角度对这个算法进行安全证明,说明这个算法对于所知的分析方法来说是有防范作用的。

三、对称加密算法分析

对称加密算法的分类

对称加密算法可以分成两类:一类为序列算法(stream algorithm):一次只对明文中单个位(有时为字节)加密或解密运算。另一类为分组算法(block algorithm):一次明文的一组固定长度的字节加密或解密运算。

现代计算机密码算法一般采用的都是分组算法,而且一般分组的长度为64位,之所以如此是由于这个长度大到足以防止分析破译,但又小到足以方便使用。

1.DES加密算法(Data Encryption Standard )

(1)算法简介

1973 年 5 月 15 日,美国国家标准局 (NBS) 在“联邦注册”上发布了一条通知,征求密码算法,用于在传输和存储期间保护数据。IBM 提交了一个候选算法,它是 IBM 内部开发的,名为LUCIFER。在美国国家安全局(NSA) 的“指导”下完成了算法评估之后,在1977 年 7 月 15 日,NBS 采纳了 LUCIFER 算法的修正版作为新的数据加密标准。

原先规定使用10年,但由于新的加密标准还没有完成,所以DES算法及其的变形算法一直广泛的应用于信息加密方面。

(2) 算法描述 (包括加密和解密)

Feistel结构(画图说明)。

DES 的工作方式:可怕的细节

DES 将消息分成 64 位(即 16 个十六进制数)一组进行加密。DES 使用“密钥”进行加密,从符号的角度来看,“密钥”的长度是 16 个十六进制数(或 64 位)。但是,由于某些原因(可能是因为 NSA 给 NBS 的“指引”),DES 算法中每逢第 8 位就被忽

略。这造成密钥的实际大小变成 56 位。编码系统对“强行”或“野蛮”攻击的抵抗力与

其密钥空间或者系统可能有多少密钥有直接关系。使用的位数越多转换出的密钥也越多。密钥越多,就意味着强行攻击中计算密钥空间中可能的密钥范围所需的时间就越长。从总长度中切除 8 位就会在很大程度上限制了密钥空间,这样系统就更容易受到破坏。

DES 是块加密算法。这表示它处理特定大小的纯文本块(通常是64 位),然后返回相同大小的密码块。这样,64 位(每位不是 0 就是 1)有 264 种可能排列,DES 将生成其中的一种排列。每个 64 位的块都被分成 L、R 左右两块,每块 32 位。

DES 算法使用以下步骤:

1.创建16 个子密钥,每个长度是48 位。根据指定的顺序或“表”置换64 位的密钥。如果表中的第一项是"27",这表示原始密钥K 中的第27 位将变成置换后的密钥K+ 的第一位。如果表的第二项是36,则这表示原始密钥中的第36 位将变成置换后密钥的第二位,以此类推。这是一个线性替换方法,它创建了一种线性排列。置换后的密钥中只出现了原始密钥中的 56 位。

2. 接着,将这个密钥分成左右两半,C0 和 D0,每一半 28 位。定义了 C0 和 D0 之后,创建 16 个 Cn 和 Dn 块,其中 1<=n<=16。每一对 Cn 和 Dn 块都通过使用标识“左移位”的表分别从前一对 Cn-1 和 Dn-1 形成,n = 1, 2, ..., 16,而“左移位”表说明了要对哪一位进行操作。在所有情况下,单一左移位表示这些位轮流向左移动一个位置。在一次左移位之后,28 个位置中的这些位分别是以前的第 2、3……28 位。

通过将另一个置换表应用于每一个 CnDn 连接对,从而形成密钥 Kn,1<=n<=16。每一对有56 位,而置换表只使用其中的 48 位,因为每逢第 8 位都将被忽略。

3. 编码每个 64 位的数据块。

64 位的消息数据M 有一个初始置换IP。这将根据置换表重新排列这些位,置换表中的项按这些位的初始顺序描述了它们新的排列。我们以前见过这种线性表结构。

使用函数f 来生成一个32 位的块,函数f 对两个块进行操作,一个是32 位的数据块,一个是 48 位的密钥 Kn,连续迭代 16 次,其中 1<=n<=16。用 + 表示 XOR 加法(逐位相加,模除 2)。然后,n 从 1 到 16,计算Ln = Rn-1 Rn = Ln-1 + f(Rn-1,Kn)。即在每次迭代中,我们用前一结果的右边 32 位,并使它们成为当前步骤中的左边 32 位。对于当前步骤中的右边 32 位,我们用算法 f XOR 前一步骤中的左边 32 位。

要计算 f,首先将每一块 Rn-1 从 32 位扩展到 48 位。可以使用选择表来重复 Rn-1 中的一些位来完成这一操作。这个选择表的使用就成了函数f。因此f(Rn-1) 的输入块是32 位,输出块是 48 位。f 的输出是 48 位,写成 8 块,每块 6 位,这是通过根据已知表按顺序选择输入中的位来实现的。

我们已经使用选择表将 Rn-1 从 32 位扩展成 48 位,并将结果 XOR 密钥 Kn。现在有48 位,或者是 8 组,每组 6 位。每组中的 6 位现在将经历一次变换,该变换是算法的核心部分:在叫做“S 盒”的表中,我们将这些位当作地址使用。每组 6 位在不同的 S 盒中表示不同的地址。该地址中是一个 4 位数字,它将替换原来的 6 位。最终结果是 8 组,每组 6 位变换成 8 组,每组 4 位(S 盒的 4 位输出),总共 32 位。

f 计算的最后阶段是对S 盒输出执行置换P,以得到f 的最终值。f 的形式是f = P(S1(B1)S2(B2)...S8(B8))。置换P 根据32 位输入,在以上的过程中通过置换输入块中的位,生成 32 位输出。

解密只是加密的逆过程,使用以上相同的步骤,但要逆转应用子密钥的顺序。DES 算法是可逆的

(2)算法的安全性分析

在知道一些明文和密文分组的条件下,从理论上讲很容易知道对DES进行一次穷举攻击的复杂程度:密钥的长度是56位,所以会有种的可能的密钥。

在1993年的一年一度的世界密码大会上,加拿大北方电信公司贝尔实验室的Michael Wiener 描述了如何构造一台专用的机器破译DES,该机器利用一种每秒能搜索5000万个

密钥的专用芯片。而且此机器的扩展性很好,投入的经费越多则效率越高。用100万美元构造的机器平均3.5小时就可以破译密码。

如果不用专用的机器,破译DES也有其他的方法。在1994年的世界密码大会上,M.Matsui 提出一种攻克DES的新方法--"线性密码分析"法。它可使用平均个明文及其密文,在12台HP9000/735工作站上用此方法的软件实现,花费50天时间完成对DES的攻击。

如前所述DES作为加密算法的标准已经二十多年了,可以说是一个很老的算法,而在新的加密算法的国际标准出现之前,许多DES的加固性改进算法仍有实用价值,在本文的3.4节详细的描述,同时考虑的以上所述DES的安全性已受到了威胁。

(4) 算法的变体

三重DES(TDEA),使用3个密钥,执行3次DES算法:

加密:C = E k3[D k2[E k1[P]]]

解密:P = D k1[E k2[D k3[C]]]

特点:安全性得到增强,但是速度变慢。

2.AES

自20 世纪70 年代以来一直广泛使用的“数据加密标准”(DES) 日益显出衰老的痕迹,而一种新的算法 -- Rijndael -- 正顺利地逐渐变成新标准。这里,Larry Loeb 详细说明了每一种算法,并提供了关于为什么会发生这种变化的内幕信息。

DES 算法是全世界最广泛使用的加密算法。最近,就在2000 年10 月,它在其初期就取得的硬件方面的优势已经阻碍了其发展,作为政府加密技术的基础,它已由“高级加密标准”(AES) 中包含的另一种加密算法代替了。AES 是指定的标准密码系统,未来将由政府和银行业用户使用。AES 用来实际编码数据的加密算法与以前的DES 标准不同。我们将讨论这是如何发生的,以及 AES 中的 Rijndael 算法是如何取代 DES 的算法的。“高级加密标准”成就

但直到 1997 年,美国国家标准技术局 (NIST) 才开始打着 AES 项目的旗帜征集其接任者。1997 年 4 月的一个 AES 研讨会宣布了以下 AES 成就的最初目标:

?可供政府和商业使用的功能强大的加密算法

?支持标准密码本方式

?要明显比 DES 3 有效

?密钥大小可变,这样就可在必要时增加安全性

?以公正和公开的方式进行选择

?可以公开定义

?可以公开评估

AES 的草案中最低可接受要求和评估标准是:

A.1 AES 应该可以公开定义。

A.2 AES 应该是对称的块密码。

A.3 AES 应该设计成密钥长度可以根据需要增加。

A.4 AES 应该可以在硬件和软件中实现。

A.5 AES 应该 a) 可免费获得。

A.6 将根据以下要素评价符合上述要求的算法:

1.安全性(密码分析所需的努力)

2.计算效率

3.内存需求

4.硬件和软件可适用性

5.简易性

6.灵活性

7.许可证需求(见上面的 A5)

Rijndael:AES 算法获胜者

1998年8月20日NIST召开了第一次AES侯选会议,并公布了15个AES侯选算法。经过一年的考察,MARS,RC6,Rijndael,Serpent,Twofish共5种算法通过了第二轮的

选拔。2000 年 10 月,NIST 选择 Rijndael(发音为 "Rhine dale")作为 AES 算法。它目前

还不会代替 DES 3 成为政府日常加密的方法,因为它还须通过测试过程,“使用者”将在该测试过程后发表他们的看法。但相信它可以顺利过关。

Rijndael 是带有可变块长和可变密钥长度的迭代块密码。块长和密钥长度可以分别指定成 128、192 或 256 位。

Rijndael 中的某些操作是在字节级上定义的,字节表示有限字段 GF(28) 中的元素,一个字节中有 8 位。其它操作都根据 4 字节字定义。

加法照例对应于字节级的简单逐位 EXOR。

在多项式表示中,GF(28) 的乘法对应于多项式乘法模除阶数为 8 的不可约分二进制多项式。(如果一个多项式除了1 和它本身之外没有其它约数,则称它为不可约分的。)对于 Rijndael,这个多项式叫做 m(x),其中:m(x) = (x8 + x4 + x3 + x + 1)或者十六进制表示为 '11B'。其结果是一个阶数低于 8 的二进制多项式。不像加法,它没有字节级的简单操作。

不使用 Feistel 结构!

在大多数加密算法中,轮回变换都使用著名的 Feistel 结构。在这个结构中,中间State 的位部分通常不做更改调换到另一个位置。(这种线性结构的示例是我们在 DES 部分中讨论的那些表,即使用固定表的形式交换位。)Rijndael 的轮回变换不使用这个古老的 Feistel 结构。轮回变换由三个不同的可逆一致变换组成,叫做层。(“一致”在这里表示以类似方法处理 State 中的位。)

线性混合层保证了在多个轮回后的高度扩散。非线性层使用S 盒的并行应用,该应用程序有期望的(因此是最佳的)最差非线性特性。S 盒是非线性的。依我看来,这就DES 和 Rijndael 之间的密钥概念差异。密钥加法层是对中间 State 的轮回密钥 (Round Key) 的简单 EXOR,如以下所注。

Rijndael算法

加密算法

Rijndael算法是一个由可变数据块长和可变密钥长的迭代分组加密算法,数据块长和密钥长可分别为128,192或256比特。

数据块要经过多次数据变换操作,每一次变换操作产生一个中间结果,这个中间结果叫做状态。状态可表示为二维字节数组,它有4行,Nb列,且Nb等于数据块长除32。如表2-3所示。

a0,0a0,1a0,2a0,3a0,4a0,5

a1,0a1,1a1,2a1,3a1,4a1,5

a2,0a2,1a2,2a2,3a2,4a2,5

a3,0a3,1a3,2a3,3a3,4a3,5

数据块按a0,0 , a1,0 , a2,0 , a3,0 , a0,1 , a1,1 , a2,1 , a3,1 , a0,2…的顺序映射为状态中的字节。在加密操作结束时,密文按同样的顺序从状态中抽取。

密钥也可类似地表示为二维字节数组,它有4行,Nk列,且Nk等于密钥块长除32。算法变换的圈数Nr由Nb和Nk共同决定,具体值列在表2-4中。

表3-2 Nb和Nk决定的Nr的值

Nr Nb = 4 Nb = 6 Nb = 8

Nk = 4 10 12 14

Nk = 6 12 12 14

Nk = 8 14 14 14

3.2.1圈变换

加密算法的圈变换由4个不同的变换组成,定义成:

Round(State,RoundKey)

{

ByteSub(State);

ShiftRow(State);

MixColumn(State);

AddRoundKey(State,RoundKey); (EXORing a Round Key to the State)

}

加密算法的最后一圈变换与上面的略有不同,定义如下:

FinalRound(State,RoundKey)

{

ByteSub(State);

ShiftRow(State);

AddRoundKey(State,RoundKey);

}

ByteSub变换

ByteSub变换是作用在状态中每个字节上的一种非线形字节变换。这个S盒子是可逆的且

由以下两部分组成:

把字节的值用它的乘法逆替代,其中‘00’的逆就是它自己。

经(1)处理后的字节值进行如下定义的仿射变换:

y0 1 1 1 1 1 0 0 0 x0 0

y1 0 1 1 1 1 1 0 0 x1 1

y2 0 0 1 1 1 1 1 0 x2 1

y3 0 0 0 1 1 1 1 1 x3 0

y4 = 1 0 0 0 1 1 1 1 x4 + 0

y5 1 1 0 0 0 1 1 1 x5 0

y6 1 1 1 0 0 0 1 1 x6 1

y7 1 1 1 1 0 0 0 1 x7 1

ShiftRow变换

在ShiftRow变换中,状态的后3行以不同的移位值循环右移,行1移C1字节,行2移C2字节,行3移C3字节。

移位值C1,C2和C3与加密块长Nb有关,具体列在表2-5中:

表3-3 不同块长的移位值

Nb C1 C2 C3

4 1 2 3

MixColumn变换

在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式与一固定多项式c(x)

相乘然后模多项式x4+1,其中c(x)为:

c(x) =‘03’x3+ ‘01’x2+ ‘01’x + ‘02’

圈密钥加法

在这个操作中,圈密钥被简单地使用异或操作按位应用到状态中。圈密钥通过密钥编制得到,圈密钥长等于数据块长Nb。

在这个表示法中,“函数”(Round, ByteSub, ShiftRow,...) 对那些被提供指针(State, RoundKey) 的数组进行操作。ByteSub 变换是非线性字节交换,各自作用于每个 State 字节上。在 ShiftRow 中,State 的行按不同的偏移量循环移位。在 MixColumn 中,将 State

的列视为 GF(28) 多项式,然后乘以固定多项式 c( x ) 并模除 x4 + 1,其中c( x ) = '03' x3 + '01' x2+ '01' x + '02'。这个多项式与x4 + 1互质,因此是可逆的。

轮回密钥通过密钥计划方式从密码密钥 (Cipher Key) 派生而出。它有两个组件:密钥扩展(Key Expansion) 和轮回密钥选择 (Round Key Selection)。轮回密钥的总位数等于块长度乘以轮回次数加 1(例如,块长度等于 128 位,10 次轮回,那么就需要 1408 个轮回密钥位)。

密码密钥扩充成扩展密钥 (Expanded Key)。轮回密钥是通过以下方法从这个扩展密钥中派生的:第一个轮回密钥由前Nb(Nb = 块长度)个字组成,第二个由接着的Nb 个字组成,以此类推。

加密算法由以下部分组成:初始轮回密钥加法、Nr-1 个轮回和最后一个轮回。在伪 C 代码中:

Rijndael(State,CipherKey)

{

KeyExpansion(CipherKey,ExpandedKey);

AddRoundKey(State,ExpandedKey);

For( i=1 ; i

FinalRound(State,ExpandedKey + Nb*Nr).

}

如果已经预先执行了密钥扩展,则可以根据扩展密钥指定加密算法。

Rijndael(State,ExpandedKey)

{

AddRoundKey(State,ExpandedKey);

For( i=1 ; i

FinalRound(State,ExpandedKey + Nb*Nr);

}

由于 Rijndael 是可逆的,解密过程只是颠倒上述的步骤。

最后,开发者将仔细考虑如何集成这种安全性进展,使之成为继 Rijndael 之后又一个得到广泛使用的加密算法。AES 将很快应一般商业团体的要求取代 DES 成为标准,而该领域的发展进步无疑将追随其后。

3.IDEA加密算法

(1) 算法简介

IDEA算法是International Data Encryption Algorithmic 的缩写,意为国际数据加密算法。是由中国学者朱学嘉博士和著名密码学家James Massey 于1990年联合提出的,当时被叫作PES(Proposed Encryption Standard)算法,后为了加强抵抗差分密码分,经修改于1992年最后完成,并命名为IDEA算法。

(2) 算法描述

这个部分参见论文上的图

(3) 算法的安全性分析

安全性:IDEA的密钥长度是128位,比DES长了2倍多。所以如果用穷举强行攻击的话,么,为了获得密钥需要次搜索,如果可以设计一种每秒能搜索十亿把密钥的芯片,并且

采用十亿个芯片来并行处理的话,也要用上年。而对于其他攻击方式来说,由于此算法

比较的新,在设计时已经考虑到了如差分攻击等密码分析的威胁,所以还未有关于有谁

发现了能比较成功的攻击IDEA方法的结果。从这点来看,IDEA还是很安全的。

4.总结

速度:在

Celeron 1GHz的机器上AES的速度,加密内存中的数据

128bits

256bits

安全性

1990年以来,特制的"DES Cracker"的机器可在几个小时内找出一个DES密钥。换句话说,通过测试所有可能的密钥值,此硬件可以确定用于加密信息的是哪个密钥。假设一台一秒内可找出DES密钥的机器(如,每秒试255个密钥),如果用它来找出128-bit AES的密钥,大约需要149万亿年。

四、对称加密应用

在保密通信中的应用。(保密电话)

附加内容

安全哈希算法(SHA)

由NIST开发出来的。

此算法以最大长度不超过264位的消息为输入,生成160位的消息摘要输出。主要步骤:1.附加填充位

2.附加长度

3.初始化MD缓冲区,为160位的数据

A=67452301

B=EFCDAB89

C=89BADCFE

D=10325476

E=C3D2E1F0

4.处理512位消息块,将缓冲虚数据和消息块共同计算出下一个输出

5.输出160位摘要

此外还有其他哈希算法,如MD5(128位摘要),RIPEMD-160(160位摘要)等。

密码学对称加密算法

对称加密算法 一、网络安全 1.网络安全 (1) 网络的安全问题:有以下四个方面 A. 端-端的安全问题,主要指用户(包括代理)之间的加密、鉴别和数据完整性维护。 B. 端系统的安全问题,主要涉及防火墙技术 C. 安全服务质量问题,主要指如何保护合法用户的带宽,防止用户非法占用带宽。 D. 安全的网络基础设施,主要涉及路由器、DNS服务器,以及网络控制信息和管理信息的安全问题。 (2)网络的安全服务:有以下五个方面 A.身份认证:这是考虑到在网络的应用环境下,验证身份的双方一般是通过网络而非直接交互,所以传统的验证手段如根据对方的指纹等方法就无法应用。同时大量的黑客随时都可能尝试向网络渗透,截获合法用户的口令并冒充顶替,以合法身份入网。所以应该提供一种安全可靠的身份认证的手段。 B.授权控制:授权控制是控制不同用户对信息资源的访问权限。授权控制是以身份认证为基础的。通过给不同用户的提供严格的不同层次和不同程度的权限,同时结合可靠的身份认机制,可以从很大程度上减少非法入侵事件发生的机会。 C.数据加密:数据加密技术顾名思义。在互联网上应用加密技术来保证信息交换的可靠性已经的到了人们普遍的认可,已经进入了应用阶段。目前的加密技术主要有两大类:一类是基于对称密钥加密的算法,另一类是基于非对称密钥加密的算法。它们都已经达到了一个很高的强度,同时加密算法在理论上也已经相当的成熟,形成了一门独立的学科。而从应用方式上,一般分成软件加密和硬件加密。前者成本低而且实用灵活,更换也方便;而后者加密效率高,本身安全性高。在应用中,可以根据不同的需要来进行选择。 D.数据完整性:数据完整性是指通过网上传输的数据应该防止被修改、删除、插入、替换或重发,以保证合法用户接收和使用该数据的真实性。 E.防止否认:在网上传输数据时,网络应提供两种防止否认的机制:一是防止发送方否认自己发送过的信息,而谎称对方收到的信息是别人冒名或篡改过的;二是防止接收方否认自己收到过信息。利用非对称加密技术可以很好的实现第一个否认机制。 二、加密技术 (1) 加密技术的产生和发展 A. 古代,目前记录的比较早的是一个在公元前2世纪,由一个希腊人提出来的,26个字母放在一个5×5的表格里,这样所有的源文都可以行列号来表示。 B. 近代,在第二次世界大战里,密码机(如紫罗兰)得到了比较广泛的已经技术,同时破译密码的技术也得到了发展,出现了一次性密码技术。同时密码技术也促进了计算机的发展。 C. 现代,由于计算机和计算机网络的出现,对密码技术提出了更高的需求。密码学的论文和会议不断的增加,以密码技术为主的商业公司开始出现,密码算法层出不穷,并开始走向国际标准化的道路,出现了DES,AES等国家(美国的)标准。同时各个国家和政府对密码技术也越来越重视,都加密技术的出口和进口都作了相当严格的规定。 (2) 加密技术的分类 A.对称加密技术 a. 描述 对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性

现代密码学 学习心得

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

密码学试题

密码学试题 选择题 1、如果发送方用私钥加密消息,则可以实现() A、保密性 B、保密与鉴别 C、保密而非鉴别 D、鉴别 2、在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是() A、非对称算法的公钥 B、对称算法的密钥 C、非对称算法的私钥 D、CA中心的公钥 3、以下关于加密说法,不正确的是() A、加密包括对称加密和非对称加密两种 B、信息隐蔽是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行解密 D、密钥的位数越多,信息的安全性就越高 4、以下关于混合加密方式说法不正确的是:() A、采用公开密钥体制进行通信过程中的加解密处理 B、采用公开密钥体制对对称密钥体制的密钥进行加密后的通信 C、采用对称密钥体制对对称密钥体制的密钥进行加密后的通信 D、采用混合加密方式,利用了对称密钥体制的密钥容易管理和非对称密钥体制的加解密处理速

度快的双重优点 5、两个不同的消息摘要具有相同的值时,称为() A、攻击 B、冲突 C、散列 D、都不是 6、()用于验证消息完整性。 A、消息摘要 B、加密算法 C、数字信封 D、都不是 7、HASH函数可应用于()。 A、数字签名 B、生成程序或文档的“数字指纹” C、安全存储口令 D、数据的抗抵赖性 8、数字证书采用公钥体制,每个用户设定一把公钥,由本人公开,用它进行: A、加密和验证签名 B、解密和签名 C、加密 D、解密 9、数字签名为保证其不可更改性,双方约定使用() A、HASH算法 B、RSA算法 C、CAP算法 D、ACR算法

10、1是网络通信中标志通信各方身份信息的一系列数据,提供一种在Internet上验证身份的 方式 A、数字认证 B、数字证书 C、电子证书 D、电子认证 11、以下关于CA认证中心说法正确的是 A、CA认证是使用对称密钥机制的认证方法 B、CA认证中心只负责签名,不负责证书的产生 C、CA认证中心负责证书的颁发和管理、并依靠证书证明一个用户的身份 D、CA认证中心不用保持中立,可以随便找一个用户来做为CA认证中心 12、关于CA 和数字证书的关系,以下说法不正确的是 A、数字证书是保证双方之间的通讯安全的电子信任关系,他由CA签发 B、数字证书一般依靠CA中心的对称密钥机制来实现 C、在电子交易中,数字证书可以用于表明参与方的身份 D、数字证书能以一种不能被假冒的方式证明证书持有人身份 13、以下关于数字签名说法正确的是 A、数字签名是在所传输的数据后附加上一段和传输数据毫无关系的数字信息 B、数字签名能够解决数据的加密传输,即安全传输问题 C、数字签名一般采用对称加密机制 D、数字签名能够解决篡改、伪造等安全性问题 14、密钥交换问题的最终解决方案是使用 A、身份证

现代密码学课后题答案

《现代密码学习题》答案 第一章 判断题 ×√√√√×√√ 选择题 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希尔密码

分组密码算法

实验二分组密码算法DES 一、实验目的 通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。 二、实验原理 分组密码是一种对称密码体制,其特点是在明文加密和密文解密的过程中,信息都是按照固定长度分组后进行处理的。在分组密码的发展历史中,曾出现了许多优秀的算法,包括DES,IDEA,AES,Safer++等等。下面以DES算法为例介绍分组密码算法的实现机制。 DES算法将明文分成64位大小的众多数据块,即分组长度为64位。同时用56位密钥对64位明文信息加密,最终形成64位的密文。如果明文长度不足64位,即将其扩展为64位(如补零等方法)。具体加密过程首先是将输入的数据进行初始置换(IP),即将明文M中数据的排列顺序按一定的规则重新排列,生成新的数据序列,以打乱原来的次序。然后将变换后的数据平分成左右两部分,左边记为L0,右边记为R0,然后对R0实行在子密钥(由加密密钥产生)控制下的变换f,结果记为f(R0,K1),再与L0做逐位异或运算,其结果记为R1,R0则作为下一轮的L1。如此循环16轮,最后得到L16、R16,再对L16、R16实行逆初始置换IP-1,即可得到加密数据。解密过程与此类似,不同之处仅在于子密钥的使用顺序正好相反。DES全部16轮的加密过程如图1-1所示。 DES的加密算法包括3个基本函数: 1.初始置换IP 它的作用是把输入的64位数据块的排列顺序打乱,每位数据按照下面的置换规则重新排列,即将第58位换到第一位,第50位换打第2位,…,依次类推。置换后的64位输出分为L0、R0(左、右)两部分,每部分分别为32位。 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 1

非对称密码体制的认证与对称密码体制的加密

非对称密码体制的认证和对称密码体制的加密 仵惠婷 22620139407 摘要:本文主要介绍在安全网络通信过程中:用非对称密码体制即公钥密码来进行通信双方的身份认证,以确保发送方是真的发送方,接收方是真的接收方;用对称密码体制对通信双方交互的通信数据进行加密的安全网络通信方案。非对称密码体制方案较对称密码体制方案处理速度慢,因此,通常把非对称密钥与对称密钥技术结合起来实现最佳性能。即用非对称密钥技术在通信双方之间传送会话密钥,而用会话密钥来对实际传输的数据加密解密。另外,非对称加密也用来对对称密钥进行加密。 关键词:非对称密码体制;认证;对称密码体制;加密; 1.引言 在要求安全的网络环境下通信双方首先要确认对方的身份是否属实,以防止伪造身份的恶意程序向正常服务发起服务请求,以防止恶意程序截获交付给正常客户程序的正常服务。然后要在整个通信过程中对通信双方交互的通信数据进行加密,以防止即使数据被泄露或者截获也不易被恶意程序篡改或伪造等。在现有密码技术条件下,应用非对称密码体制对通信双方进行身份认证,应用对称密码体制对通信数据进行加密的方案可谓设计精妙。 2.非对称密码体制的认证 非对称密码体制可以对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。 首先要介绍的是证书和CA。其中证书是将公钥和公钥主人名字放在一起被CA权威机构的私钥签名,所以大家都认可这个证书,而且知道了公钥的主人。而CA就是这个权威机构,也拥有一个证书,也有私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书,用以验证它所签发的证书。如果一个用户想鉴别另一

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

第一章 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

对称密钥与非对称密钥的区别

对称密钥与非对称密钥的区别 一、对称加密(Symmetric Cryptography) 对称密钥加密,又称私钥加密,即信息的发送方和接收方用同一个密钥去加密和解密 数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个 问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。 对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。 二、非对称加密(Asymmetric Cryptography) 非对称密钥加密系统,又称公钥密钥加密。非对称加密为数据的加密与解密提供了一 个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用 这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

目前最常用的非对称加密算法是RSA算法。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。 虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程,请看下面的例子: (1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3)银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6)银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 三、总结 (1)对称密钥加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在

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

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

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

填空题 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、根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多

现代密码学小论文

目录 现代密码学的认识与应用 (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系列,一直以来,对于这些算法的安全性分析结果没有很大突破,这给了人们足够的信心相信它们是足够安全的,并被广泛应用于网络通信协议当中。

密码学试题

选择题 1、如果发送方用私钥加密消息,则可以实现() A、保密性 B、保密与鉴别 C、保密而非鉴别 D、鉴别 2、在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是() A、非对称算法的公钥 B、对称算法的密钥 C、非对称算法的私钥 D、CA中心的公钥 3、以下关于加密说法,不正确的是() A、加密包括对称加密和非对称加密两种 B、信息隐蔽是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行解密 D、密钥的位数越多,信息的安全性就越高 4、以下关于混合加密方式说法不正确的是:() A、采用公开密钥体制进行通信过程中的加解密处理 B、采用公开密钥体制对对称密钥体制的密钥进行加密后的通信 C、采用对称密钥体制对对称密钥体制的密钥进行加密后的通信 D、采用混合加密方式,利用了对称密钥体制的密钥容易管理和非对称密钥体制的加解密处理速度快的双重优点 5、两个不同的消息摘要具有相同的值时,称为() A、攻击 B、冲突 C、散列 D、都不是

6、()用于验证消息完整性。 A、消息摘要 B、加密算法 C、数字信封 D、都不是 7、HASH函数可应用于()。 A、数字签名 B、生成程序或文档的“数字指纹” C、安全存储口令 D、数据的抗抵赖性 8、数字证书采用公钥体制,每个用户设定一把公钥,由本人公开,用它进行: A、加密和验证签名 B、解密和签名 C、加密 D、解密 9、数字签名为保证其不可更改性,双方约定使用() A、HASH算法 B、RSA算法 C、CAP算法 D、ACR算法 10、1是网络通信中标志通信各方身份信息的一系列数据,提供一种在Internet上验证身份的方式 A、数字认证 B、数字证书 C、电子证书 D、电子认证 11、以下关于CA认证中心说法正确的是

密码学发展史

密码学发展简史 学院:数学与统计学院专业:信息与计算科学学生:卢富毓学号:20101910072 密码是什么?什么是密码学? 信息泛指人类社会传播的一切内容。人通过获得、识别自然界和社会的不同信息来区别不同事物,得以认识和改造世界。而密码便是对信息进行隐藏的一种手段。它既是一种工具又是一门艺术。 《破译者》一书说:“人类使用密码的历史几乎与使用文字的时间一样长。”因为自从有了文字以来,人们为了某种需要总是想方设法隐藏某些信息,以起到保证信息安全的目的。人们最早为了包通信的机密,通过一些图形或文字互相传达信息的密令。连闯荡江湖的侠士和被压迫起义者各自有一套秘密的黑道行话和地下联络的暗语。 而在今天信息泛滥的计算机世界里,如何保护好自己的重要信息不被泄露,保护自己的通讯不被窃听等一系列与信息有关的内容中,同样需要一个较好的密码协议来完成对信息的私密化!可以看出密码学在不同的时代里有着不同的诠释。 所以密码学是一门既古老又新兴的学科。 古典密码学 密码学大致可以分为五个时期: 1、第一阶段从古代到1949,这一时期称为古典密码时期,密码学可以 说是一门艺术,而不是一种学科。(发展缓慢) 2、第二阶段是从1949年到1976年,这一时期,由香浓发表的“保密系 统的信息理论”一文产生了信息论,信息论为对称密码系统建立了理论基础,从此密码学成为一门学科。 3、第三个阶段是从1976年到1984年。1976年Diffie和Hellman发表了 《密码学新方向》一文,从而导致了密码学上的一场革命。他们首次证明了发送端和接收端无密钥传输的保密通讯是可能的,从而开创了公钥密码学的新纪元。 4、第四个阶段是从1984年至今,1984年Goldwasser和Micali首次提出 了证明安全的思想。他们讲概率论中的东西引入到密码学,在计算复杂度理论假设下,安全性是可以证明的。 5、第五个阶段,这是我个人认为有必要写出来的——两字密码学时期: 当量子计算机大量的投入使用后,可以预见好多目前主流的加密算法将不再实用,新的方案新的体系将被人们发现利用。 公元前400年,斯巴达人就发明了“塞塔式密码”,即把长条纸螺旋形地斜绕在一个多棱棒上,将文字沿棒的水平方向从左到右书写,写一个字旋转一下,写完一行再另起一行从左到右写,直到写完。解下来后,纸条上的文字消息杂乱无章、无法理解,这就是密文,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。这是最早的密码技术。

对称密钥密码系统

对称密钥密码系统 2000多年以前,罗马国王Julius Caesar使用过现今被称为“凯撒密码”的加密算法。此加密算法其实是“移位密码”算法的一个特例。由于移位密码安全性不高,使用穷举爆力技术很容易将其破解,于是人们发明了“代换密码”。而移位密码其实是代换密码的一个子集。虽然代换密码安全性有所提高,使用穷举爆力技术较难破解,然而使用统计密码分析技术却可以很容易地破解代换密码。 到了几百年前,有人发明了“置换密码”有时也叫“换位密码”,之后现代密码技术开始出现。很多人把Claude Shannon誉为现代密码学之父,他提出了“扩散”和“混淆”来构造密码体制的基本要素。这种加密技术可以有效的挫败使用统计分析技术来破解密码。 1973年,Horst Feistel公开了他的“Feistel密码”,这是第一个体现密码之父Shannon思想的密码系统。目前,几乎所有的对称密码系统都使用了Feistel密码的设计特征。 1973年,(美)国家标准局(NBS),即现在的(美)国家标准技术研究所(NIST)公布了征求国家密码标准的提案,人们建议了许多的密码系统。 1977年7月,NBS经过对众多的密码系统进行评估后,采纳了IBM在20世纪60年代(1960s)研制出来的一个密码系统作为数据加密标准(DES),此系统是由Horst Feistel领导的一个研究组研制出来的。这个密码系统基于一个称为LUCIFER[Fic73]的密码系统。LUCIFER密码系统本质上是Feistel密码的一个推广。 1983年、1988年和1993年,DES再度被认定为(美)国家标准。 1997年,RSA实验室发布了一个以10000美元作为酬金的挑战:寻找一个前面带有一个已知明文块的密文的DES密钥。由Roche Verse牵头的一个工程小组动用了70000多台通过因特网连接起来的计算机系统,使用穷举爆力攻击程序大约花费96天的时间找到了正确的DES密钥。意识到DES已经快完成它的历史使命,NIST于1997年1月宣布了一项选择一个用作高级加密标准(AES)的候选算法的计划:这个新的标准的将取代DES。

密码学应用-对称加密算法DES的应用

密码学应用-对称加密算法DES的应用 实验虚拟主机用户密码如下: H-basiclinux--1主机: 用户:root 密码:123456 第一步、进入basiclinux 实验机,开始实验 第二步、基本加密 1) 看明文文件a.txt # cat a.txt 2) 执行#openssl des3 -pass pass:"123" -in a.txt -out a.txt.des3

注:其中加密算法是des3,密钥是123,明文文件是a.txt, 密文文件是a.txt.des3 加密结果在a.txt.des3中。 3) 查看a.txt.des3 的内容#cat a.txt.des3 第三步、基本解密 执行#openssl enc -d -des3 -pass pass:"123" -in a.txt.des3 -out b.txt 第四步、3des算法的初始值

除密钥,明文文件外,3des 算法需要salt,key和iv值。通过以下命令可以获得 从上述操作可以获得des3 加密的三个初始值:salt,key 和iv。 第五步、每次加密3des 加密的初始值是不同的 执行多次#openssl enc -P -des3 -pass pass:123 -in a.txt 由于key 是由salt + pass 生成的,尽管pass 都相同,但key 都是不同的, 第五步、缺省的加密过称是使用salt 的,加盐法的最大特色是增加加密强度,它是一种动态方法。经过加盐处理可以做到,即使用同样的明文、同样的用户密码每次加密得到的密文都不一样,密码、明文、密文没有固定的对应关系这样当然不好分析了。下面我们使用没

对称密钥密码

1引言 计算机的发展给人类带来了前所未有的便利,以计算机信息技术为手段的企业信息化建设,已成为企业必不可少的部分。计算机CAD技术高速度、高精度和高效等的优点,已经逐步取代手工设计,广泛应用于产品设计工作中。CAD图纸,在任何时候,都是一个企业的命脉。在使用SolidWorks等软件绘制图纸的过程中,作为企业是否经常会考虑:我们厂刚刚设计出来的新产品,怎么市场上别的牌子的产品也已经上市啦?技术人员的流动,是否会同时有图纸的流动?我们花了几十万买的图纸,怎么隔壁的那个厂子图纸和我们的一样呢?我们的光驱、软驱、U盘接口都封掉了,可是图纸怎么还是传出去啦?解决这些问题的一种有效方法就是使用现代密码技术,加密技术是保障信息安全的最基本的、最核心的技术措施。对CAD图纸进行加密应该是一种比较合适的安全保密措施 2密码技术 2.1基本概念 密码学是研究编制密码和破译密码的技术科学。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。随着先进科学技术的应用,密码学已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码就是一组含有参数K的变换E。设已知信息M,通过变换E得到密文C。即C=EK(M)这个过程称之为加密,参数K称为密钥。

2.1.1传统密码学 自从有了人类社会就有了信息交流,特别是出现了战争,为了信息交流的安全,就出现了密码技术。从古代到16世纪末由于这个时期生产力低下,产生的许多密码体制都是可用纸笔或者简单的器械实现加密/解密的,这个时期的密码体制主要有两大类:一类是换位密码体制,另一类是代替密码体制。从二十世纪初到20世纪50年代末,为了适应密码通信的需要,密码设计者设计出了一些采用复杂的机械和电动机械设备实现信息加密/解密操作,他们代替了繁重的手工作业方式,在战争中发挥了重要的作用。转轮密码机是这一时期的杰出代表。 2.1.2现代密码学 对称密钥密码体制又称为单密钥密码体制或秘密密钥密码体制。这种密码体制的加密密钥和解密密钥相同,或者虽然不相同,但可由其中的任意一个可以和容易地推导出另一个。传统的密码学都是属于对称密钥密码体制。现在,在传统密码学地基础上对称密码体制也有了新地发展,像序列密码,分组密码,还有对称密钥密码体制的典型代表:数据加密标准DES和高级数据加密标准AES。非对称密钥密码体制又称为双密钥密码体制或公开密钥密码体制。这种密码体制的加密/解密操作分别使用两个不同地密钥,并且不可能由加密密钥推导出解密密钥。采用非对称密钥密码体制的每个用户都有一对相互关联而又彼此不同地密钥,使用其中的一个密钥加密的数据,不能使用该密钥自身进行解密,而只能使用对应的另一个密钥进行解密。在这一对密钥中,其中一个密钥称为公钥,它可以公开并通过公开的信道发给任何一位想与自己通信的另

现代密码学总结汇总

现代密码学总结 第一讲绪论 ?密码学是保障信息安全的核心 ?安全服务包括:机密性、完整性、认证性、不可否认性、可用性 ?一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。 ?现代密码学分类: ?对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 ?非对称密码体制:(又称为双钥密码体制或公开密钥密码体制) 典型算法:RSA、ECC 第二讲古典密码学 ?代换密码:古典密码中用到的最基本的处理技巧。将明文中的一个字母由其它字母、数字或符号替代的一种方法。 (1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26) (2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26) (3)单表代换、多表代换 Hill密码:(多表代换的一种) ——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵} ——加密c = p * K mod 26 解密p = c * K-1 mod 26 Vigenere密码:查表解答 (4)转轮密码机: ?置换密码 ? ? ?:将明文字符按照某种规律重新排列而形成密文的过程 列置换,周期置换 ?密码分析: ?统计分析法: 移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用 统计分析法 ?重合指数法

? 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065 ? 实际使用CI 的估计值CI ’:L :密文长。 fi :密文符号i 发生的数目。 第三讲 密码学基础 第一部分 密码学的信息论基础 ? Shannon 的保密通信系统模型 发送者 接收者 信源 分析者 加密 解密安全信道 无噪信道 安全信道 M M M C K K 密钥源 发送者 接收者 信源 分析者 加密 解密无噪信道 安全信道 M M M C K K ’密钥源 无噪信道 ? 一个密码体制是一个六元组:(P, C, K 1, K 2, E, D ) P--明文空间 C--密文空间 K 1 --加密密钥空间

非对称密码体制

云南大学数学与统计学实验教学中心实验报告 一、实验目的: 通过实验掌握非对称密码体制的重要思想。 二、实验内容: 查阅资料,实现RSA密码体制的编码算法、译码算法、密钥生成算法 查阅资料,实现ECC密码体制的编码算法、译码算法、密钥生成算法 三、实验环境 Win7、Eclipse 四、实验过程(请学生认真填写): 实验过程、结果以及相应的解释: 1. 预备知识 非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。 在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。公钥密码体制的算法中最著名的代表是RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、Rabin、零知识证明、椭圆曲线、EIGamal算法等。公钥密钥的密钥管理比较简单,并且可以方便的实现数字签名和验证。但算法复杂,加密数据的速率较低。公钥加密系统不存在对称加密系统中密钥的分配和保存问题,对于具有n个用户的网络,仅需要2n个密钥。公钥加密系统除了用于数据加密外,还可用于数字签名。 2. 实验过程 (一)RSA加密算法 A、原理分析: RSA的具体计算算法: 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生 一个公钥和一个私钥: 1.随意选择两个大的质数p和q,p不等于q,计算N=pq。 2.根据欧拉函数,求得r= φ(n) = φ(p)φ(q) = (p-1)(q-1) 3.选择一个小于r的整数e,求得e关于模r的模反元素,命名为d。(模反元素存在,当且 仅当e与r互质) 4.将p和q的记录销毁。

相关主题
文本预览
相关文档 最新文档