搜档网
当前位置:搜档网 › 现代密码学 学习心得

现代密码学 学习心得

现代密码学  学习心得
现代密码学  学习心得

混合离散对数及安全认证

摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。

对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。虽然其具有很高的安全性,却导致高负荷运算。最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。

本文研究混合系数的离散对数问题,也即信息不可识别性。我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。

1.概述

在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。然而,效率一直就是一个难以实现的属性。即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。其原因就是零知识协议的广泛应用。

身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。然而,其约减的代价太高,使得其不适用于现实中的问题。

几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。而对于“信息不可分辨”属性,则意味着在攻击者方面看来,证据所用的私钥是不受约束的。也就是说有许多的私钥对应于一个公钥,证据仅仅传递了有这样一个私钥被使用了这样一个信息,但是用的是哪个私钥,并没有在证据传递的信息中出现。下面,我们集中考虑后一种属性,它能够提供一种三次传递识别方案并且对抗主动攻击。Okamoto 描述了一些schnorr和guillou-quisquater识别方案的变种,是基于RSA假设和离散对数子群中的素数阶的。

随机oracle模型:最近几年,随机oracle模型极大的推动了研究的发展,它能够用来证明高效方案的安全性,为设计者提供了一个有价值的工具。这个模型中理想化了一些具体的密码学模型,例如哈希函数被假设为真正的随机函数,有助于给某些加密方案和数字签名等提供安全性的证据。尽管在最近的报告中对于随机oracle模型采取了谨慎的态度,但是它仍然被普遍认为非常的有效被广泛的应用着。例如,在这个模型中被证明安全的OAPE加密

方案就被集成进 VISA 和Master 信用卡系统的模块中。有许多其他的方案在这个模型中的安全性也是有效的。

1.1相关的工作:前几年,Schnorr 提出了一个高效的基于素数阶子群离散对数问题的识别方案和签名方案的变种,这个著名的方案我们就不再介绍了。这个以零知识闻名的方案为了抵抗主动攻击获得较高的安全性,使用了许多次固定长度的挑战应答交互。这样,高的安全性就需要很大的通信量和很大的存储空间存储预计算量。虽然没有提出安全的预处理方案,还是有许多应用中假定如果使用较大规模的挑战应答它的安全性与基本的三次通过协议相当。其安全性依赖于未经证明的假设,即假设这个方案是“信息隐藏”的。

在定义了信息隐藏和信息不可分辨属性以后,brickell 和mccuely 提出了使用信息隐藏属性的schnorr 方案的一个变种。接着,okamoto 提出了一个基于信息不可分辨属性的三次通过协议,可以证明其安全性可以抵挡主动攻击。这些协议中有些是基于素数阶子群的离散对数问题,有的是基于RSA 假设。但是所以这些方案都并不比原来的schnorr 方案更加有效。

在1991年,Grault 利用合数作为模代替素数,提出了schnorr 的一个变种,从证明者的角度来说提高了效率。Poupard 和stern 给出了这个方案的统计意义上的零知识属性的证明,证实了这个方案的安全性等价于合数的离散对数问题。然而,这个方案,对于高的安全性要求也需要许多次交互,而大的简化只能适用于大的不实用的数据。最近他们改进了他们的简化,使其安全性仅仅等价于因数分解。这是仍在进行的一项工作。

至于签名方案,由于在pointcheval-stern 和ohta-ocamoto 的论文中已经能够有效的将任何三次通过协议转化成签名方案,这样,对于识别协议的有效解决,对于签名协议也同样有效。

盲签名:在1982年,chau 就想要产生一种电子货币的属性,也就是具有匿名性。他指出一种方法就是将电子货币的概念和盲签名结合起来。盲签名需要涉及到银行和用户两个参与者。用户想要得到一个经过银行签名的货币,但是在签名以后,银行无法追踪这个货币和签名。后来就提出了基于RSA 和离散对数问题的签名方案。

但是这些方案都无法证明是安全的,而可以证明为安全的方案只有理论上的应用,没有什么实践价值。一直到1996年盲签名才可以证明为安全的。它们是基于okamoto 的信息不可分辨协议,可以证明碰撞是很难被计算出来的。

——代表系问题=离散对数:p h g s r f s r h g p mod ),(,,=。一个碰撞泄漏了h 在基g 中的离散对数,即:

p g h s r f s r f s s r r h g p h g p mod )','(),()/()(,,,,'

'--=?=

——RSA 问题/因式分解:N s a s r f e r e a N mod ),(,,=

选取适当参数,一个碰撞泄漏了a 模N 的e 阶根,即: N s s a s r f s r f r r e a N e a N mod )/()','(),(',,,,'

=?=-

对足够大的质数e ,则根据Bezout 等式可以解得a 模N 的e 阶根,否则,如果e 是一个合数而N 是一个Blum 整数,则我们可以得到N 的因式分解。

后来,另一个有名的信息不可识别性问题被用到模二次方根:N x x f N mod )(2= 对于任意的 2/0N x ≤≤ 满足 }{),gcd()()(的因子N y x N y f x f N N ∈-?=

在这些论文中,盲签名方案被认为是可证明安全性的,可以抵御比较攻击。这就意味着银行保证10美元给用户后,用户得到的不能多于10美元。

然而这些方案的主要缺点是计算量大。至今,盲签名所面对的一个重要挑战是:从签名者角度看来,他们需要高效并且可证明是安全的签名,因为他们可能同时会签成千上万的签名。

1.2论文要点

本文中,我们首次研究通过混合系数的离散对数所提供的信息不可识别性。我们首先回顾Girault的方案,不幸的是相对Schnorr的方案,这个方案仅仅使用固定长度的挑战证明零知识,需要很多次的迭代才产生高安全性。这里,我们使用信息不可识别性证明这个方案的安全性,即使它仅仅通过一次迭代。对于先前的结果,在实用性方面有了很大提高。更进一步,即使我们使用很小的密钥,我们也可以对一个有效的方案证明其安全性。

其后我们认为基于该问题的盲签名的安全证明和因式分解相同。除了可证明安全性,新方案的主要特性是有效性,从银行角度看来,它仅仅需要一次乘法(不是模乘)。

2.离散对数问题

feige和shamir已经证明,信息不可分辨属性对于识别协议来说已经足够提供用于抵抗主动攻击的安全性了。Pointcheval和stern进一步证明了盲签名的这一属性还提供了抵抗并行攻击下的多次伪装攻击的安全性。这是利用了函数f N,g(x)=g x mod N,其中N,g是选择好的。下面我们定义一些有用的概念。

定义一(α-强素数)如果一个素数p=2r+1,其中r是一个大整数,其素数因子都大于α,则称p是α-强素数。

定义二(α-强RSA模数)如果N=pq,并且p和q都是α-强素数,N就被称为α强RSA模数。

定义三(不对称基)N=pq是一个RSA模数,在Z N*中的基g如果在Zp*和在Zq*中的Ord(g)的奇偶性不一样,就说它是不对称基。也就是说,不对称基就是仅仅在Zp*和Zq*的两个子群其中之一的一个二次剩余。

定理四如果N=pq是一个任意的α-强RSA模数,对于某些α>2,g是一个阶大于α的在Z N*中的任意不对称基,那么定义为x->g x mod N的一个f N,g()的碰撞,可以将N分解。

证明:我们用2l标记在Z N*中g的阶。可以认为这一阶就是偶数,因为它至少,并且恰在子群中的一个,例如Z p*中是偶数。而且,l是奇数,并且大于α,因为l大于α/2>1,(p-1)/2和(q-1)/2的任何素数因子都是奇数,并且大于α。因此,

g2l=1mod p, g2l=1modq,但是g l=-1mod p,g l=1mod q..

让我们假设我们有一个x

这样g b就是Z N*中的1的一个不可忽略的平方根:gcd(g b,n)∈{p,q}.

这样我们就得到了一个难题,两个不同的解提供了模数N的因式分解。

3.密码协议中的应用:

我们首先考虑识别协议,可以由此导出签名协议。然后我们考虑一个盲签名方案。3.1身份识别

描述让我们先回忆一下girault的方案。如下所示:

N=pq是一个RSA模块,g是属于Z N*的一个高阶元素。

私钥:s属于{0,……….,s-1}

公钥:v=g-s mod N。

随机数:r属于{0,。。。。。。,R-1}

证明者验证者

x=g r mod N―――――――――――――>

←------------------------------------e∈{0,...2k-1}

y=r+es -------------------------------------→

x=g y v e mod N ——我们有两个安全参数k和k’,其中k代表了挑战的长度,k’代表了泄漏的信息。还有私钥的一个范围。接着,我们定义R=2k+k’S。我们使用RSA模N=pq以及属于Z N*的一个高阶元素。证明者随机的选择一个属于{0,::::::::::,S-1}的私钥s,公布v=g-s mod N。

——证明者选择一个随机数r属于{0,。。。。。。,R-1},发送数值x=g r mod N;验证者随机的选择一个挑战e属于{0,...2k-1},送给证明者;最后,证明者计算并且发送y=r+es;

——验证者检验是否x=g y v e mod N.

不能说这是知道基g模N中关于v的离散对数的证据,但是在特殊情况下,N是一个2k-强RSA模数时(包括实际应用中典型的强RSA模数)可以应用下面的定理:定理5假设N是一个2k-强RSA模数,如果存在一个攻击者A,其运行时间界定为T,对于不可忽略的小量v,能够以大于2×2-k的概率ε被接受,那么基g模N的离散对数可以在界定为4T/ε×S/Ord(g)的时间内被计算出来。

证明用古典的开方技术,我们能够得到两个对于同一个声明x的有效证明,一对(α,β)使得vα=bβmod N,其中0<α<2k.而且,这些可以在期望的时间4T/ε内被完成。

如果首先进行化简v=gγmod N,对于一个随机选择的小于S的γ,那么可以得到(α1,β1)使得

L=α1γ-β1=0mod Ord(g).它非零的概率大于(S/Ord(g)-1)-1.

然后用想知道其离散对数x的v来进行这样的化简,得到(α2,β2)。让我们用l0初始化上面得到的L,接着递归的计算l i+1=l i/gcd(α2,l i),直到gcd等于1。极限用l来标记。既然α2<2k,小于λ(N)的所有奇素因子,那么2l仍然是Ord(g)倍数。然后我们计算y=βα-1mod l,得到x=y+cl mod Ord(g),其中c∈{0,1}.我们只需要检查一下c的正确值。

2

可以认为在特殊情况下,g是λ(N)的最大的阶,Ord(g)=λ(N)的倍数导致了N 的分解。

定理6 这一协议在统计意义上是零知识的。

证明读者可以参考poupard-stern的论文或者下面陈述的证明。

要指出的是,交互验证知识协议的零知识属性对于识别协议来说是一个足够强大的属性,主要的缺点是基础方案为了达到高的安全性所需要的一系列的交互。这样信息不可分辨属性也就足够确保抵抗主动攻击的安全性,而提供一个更加有效率的方案。

定理7 这一协议是统计意义上信息不可分辨的。

证明我们必须证明即使对于一个不诚实的验证者来说,证明者所用的私钥也是独立于所发布的信息的。令s1

g-s1=g-s2=v mod N.

我们可以证明下面的发布信息是不可识别的,假设r是在{1,…R-1}中随机选择的,S表示攻击者以可能的概率用某种方式得到x的挑战e。那么:

δ1={(x=g r mod N,e,y)|y=r+s1e,e=S(x)},

δ2={(x=g r mod N,e,y)|y=r+s2e,e=S(x)}.

事实上,如果对任何三元组(α,β,γ),对应α=gγvβmod N,我们定义pi(α,β,γ)=Pr[(x,e,y)=(α,β,γ)],对I=1,2.(x,e,y)∈δi.

我们用pα,β表示对于方法S来说,输入为α,输出为β的概率,δ是一个布尔函数,定义为δ(true)=1,δ(false)=0,这样我们得到:

pi(α,β,γ)=Pr[α=g r mod N,β=S(α),γ=r+siβ]

=Pr[α=g r mod N]*pα,β*Pr[γ=r+siβ|γ=r+siβmod Ord(g)]

=(1/Ord(g))*pα,β*δ(0=<γ-siβ<=R)*Ord(g)/R。

简单的化简可以得到pα,β/R×δ(0=<γ-siβ<=R)。这样发布信息δ1和δ2之间的距离就是所有的三元组(α,β,γ)使得γ=logα-s1β mod Ord(g):

sum=∑pα,β*2(s2-s1)β/R*Ord(g)=<(2S*∑βpα,β)/R*ord(g).

通过定义概率pα,β,显然对于任何α,∑βpα,β=1。对于所有可能的α之和,等于Ord (g)。既然β<2k,R=2k+k’S,我们得到:

sum=<2S*2k/R=2/2k’.

由于它的信息不可分辨性,使得我们获得一个经过三次互通就可以实现的高效的安全的识别协议。

定理8 N是一个2k-强RSA模数,g是在Z N*中的一个高阶不对称基,如果S>=2×Ord(g),这一协议抵抗主动攻击的安全性是等价于分解N的。

证明为了证明这个识别方案的安全性能够抵抗主动攻击,我们选择一个随机的私钥s

这样我们就可以对原来的识别协议进行修改。修改后的协议如图所述。

N=pq是一个2k-强RSA模块,

g是属于Z N*的一个不对称基元素,阶高于2k。

H是一个超过80位的哈希函数。

私钥:s属于{0,……….,s-1}

公钥:v=g-s mod N。

随机数:r属于{0,。。。。。。,R-1}

证明者验证者

x=g r mod N

h=H(x)―――――――――――――>

←------------------------------------e∈{0,...2k-1}

y=r+es -------------------------------------→

h=H(g y v e mod N)?

备注9 需要注意的是我们仅仅证明了在伪装的主动攻击下比因式分解更为困难,这个交互协议的安全性实际上已经用零知识属性证明了是等价于合数离散对数问题的。

尽管如此,当我们有了N的因式分解,剩下的安全性就完全等价于schnorr识别方案,可以预见,素数阶子群的离散对数问题仍然难以解决。

而且,即使为了高的安全性级别而提高挑战程度,安全性仍然保持。而基于零知识属性的协议就不具备这种特点。

让我们比较一下从伪装者那获得两个应答的简化的花费。利用Poupard和stern的证明,这将导致计算v的离散对数的更多的计算量,用我们的证明,这立刻就导致了N的分解。

Poupard和stern的约减。我们假设使用k位的挑战,存在一个以概率ε>=2*2-k成功的伪装者,显然,在经过一个不超过4/ε次交互以后,我们以超过一半的概率得到两个有效应答。这样,在时间T之内,概率超过2*2-k消极伪装,能够被用来在时间4T/ε之内找到同一个声明x的两个不同的应答。另外,在时间T之内,概率超过2*2-k的积极伪装,在经过l

次主动攻击之后,能够在时间4T/ε+l*2k内找到同一个声明的两个不同的应答。这一模仿需要很多次重启,几乎是等同于l*2k*T。

我们的约减利用信息不可分辨属性,被动伪装需要同样的复杂性。另一方面,主动攻击的伪装既然没有模仿,只要时间4T/ε就可以找到同一声明的两个不同应答。

总结以大于2×2-k的概率ε进行伪装攻击,l次以后能够在2k lT的时间内算出离散对数(由于零知识属性)或者在时间4T/ε内因式分解N(由于信息不可分辨属性)。后者比前者的时间要少很多。这样抵抗主动攻击的高安全等级等价于因式分解:例如k=30,l=240,因式分解的约减花费少于230,而离散对数的花费要270,没有什么实际意义。

通信负荷由以上证明,S可以被选择为非常少的字位数,只要S>=2Ord(g)而且,通信量也可以通过使用gitault和stern的技巧进行优化。事实上,一个返回值为80位消息摘要的哈希函数需要264次计算才可能碰到5次碰撞。所有的这些特性都有利于产生非常高效和低花费的协议。

3.2签名

我们当然可以将前面的识别协议转换为签名协议,只要使用一个哈希函数产生一个随机的挑战就可以了。这一方案介绍如下:

初始化。N=pq是一个2k-强RSA模块,

g是属于Z N*的一个不对称基元素,阶高于2k。

H是一个哈希函数。

产生密钥。私钥:s属于{0,……….,s-1}

公钥:v=g-s mod N。

对消息m签名。产生随机数:r属于{0,。。。。。。,R-1},计算x=g r mod N,得到e =H(m,x),在计算y=r+es,签名就是:

∑(e,y);

验证(m,e,y):e=H(m,g y v e mod N)?

这一方案抵抗伪装者使用零消息攻击的安全性在随机oracle模型中表现的十分清楚。由于信息不可分辨属性,我们不需要进行伪装以抵抗动态选择消息攻击。事实上,我们可以利用一个有私钥s1的签名者,使用分支引理或者ID化简引理,分离出第二个私钥。正如前述,只要S>=2Ord(g),我们就能以很高的概率得到模数N。

定理10 如果S>=2Ord(g),使用动态选择消息攻击的潜在伪装者攻击这个方案的难度要高于因式分解。

3.3盲签名

现在,我们考虑一个基于前面所述问题的盲签名方案。如下所示:

N=pq是一个2k-强RSA模块,

g是属于Z N*的一个不对称基元素,阶高于2k。

私钥:s属于{0,……….,s-1}

公钥:v=g-s mod N。

随机数:r属于{0,。。。。。。,R-1}

银行用户

x=g r mod N―――――――――――――>

β∈{0,…M-1},

h=gβmod N,

γ∈{-2k...2k-1,}

α=xhvγmod N

ε=f(m,α)

e=ε-γ

←------------------------------------直到e∈{0,...2k-1}

y=r+es -------------------------------------→

x=g y v e mod N?

u=y+β

α=g u vεmod N?

盲签名方案并不是那么简单,因为这一方案的初始化需要仔细的选择安全参数。然而,所产生的方案从银行的角度来说很有用。事实上,它的计算量是很少的。

描述由于上面所述的信息不可分辨属性,我们希望得到一个至少比因式分解的安全性更高的盲签名方案。其中,k是安全参数,k’是泄漏信息参数:我们定义R=2k+k‘S和M=2k+2k’S,其中S>=2Ord(g),定义了私钥的范围。

安全性首先我们要证明这个方案是盲的。例如,即使是一个不诚实的银行,也无法在以后将一个用户和一个消息签名对联系起来。这是匿名协议非常重要的一个属性。我们想要银行无法认出用户,即使拥有了消息和签名对。

定理11 这一方案是统计上的盲签名方案。

证明这一协议的输出的签名在前面已经经过了讨论,已证明了是安全的。现在我们只要证明它是盲的就可以了。

令(m,α,ε,ρ)是在执行完一次盲签名方案,经过两次交互(x1,e1,y1),(x2,e2,y2).所得到的签名。要看是否有可能知道它是来自那一次的结果。这样,我们就要研究下面的一些可能性。对于i=1,2:

pi(α,ε,ρ)=Pr[α=xigβvγ,ε=ei+γ,ρ=yi+β|0=<ε-γ=<2k-1].

对于i的两个值,有:

pi(α,ε,ρ)=Pr[γ=ε-ei,β=ρ-yi|0=<ε-γ=<2k-1].

=δ(0=<ρ-yi=

那么两个发布消息的距离等于

sun=∑2|y2-y1|/2k M=<2∑2k S(1+2k’)/2k M

=<2*(1+2k’)/22k’=<3/2k’.

相对于泄漏参数k’的信息这一距离可以忽略。

定理12 对这一盲签名方案进行旧消息伪装下的并行攻击要比因式分解更加困难。相关的证明可以参见有关的文献。

4.安全性和高效性

从实践的角度来说,选择一个1024位的模数N和160位长的不对称基g为阶更加方便。泄漏信息参数k’可以被固定在64位长,安全参数可以根据情况选择24位到128位。这样其安全性可以证明是等价于1024位模数的因式分解。一旦发现一种新的有效的算法对大数进行因式分解,其安全级别就一下子降到了schnorr方案的程度,素数阶子群的离散对数问题。(对于识别协议未经证明为安全,但是对签名方案证明是安全的)。从证明这的角度来说,

这些协议是非常有效地。事实上,如果我们仅仅考虑所需要进行的实时的运算,仅包括自然整数N上的一次乘法和一次加法。而且使用的数字非常小。

从下面表中,我们对算法的效率能有一个更直观的理解。

方案识别签名盲签名

模|N| = 1024 位; |p|=|q| = 512位

Ord(g) 160位

安全参数k=24 K=128

消息泄漏参数K’=64

|S| (>|Ord(g)|) 168位

|R| (=|S|+k+k’) 256位360位

|M|

(=|S|+k+2k’)

424位

在线花费(证明者)

Mult(24,168)

+Add(256,192)

Mult(128,168)+Add(360,296)

通信360位(45字节)

签名大小488位

(61字节)

552位(69字节)

可以看到,既然声明可以预先计算,在一次证明中证明者只要进行一次加法和一次乘法。对于一个使用推荐的参数的盲签名来说,银行只要将128位的整数与168位的相乘,然后加上一个360位的整数。与shnorr方案相比,最重要的受益是对于模数化简的压缩。

然后花少量的存储空间,银行就可以每秒盲签成千上万的消息。而且由它的安全性,也可以安全的执行并行的撤销操作。

5 结论

在这篇论文中,介绍了一些基于合数离散对数问题的方案。从识别协议到盲签名方案都非常高效,而且可以证明其安全性至少等价于因式分解。

主要的贡献在于小的私钥使用的可能性以及使用大的挑战的三次通过识别协议的安全性证明。这都是来自于协议的信息不可分辨属性。当使用了哈希函数后,能够有比因式分解更高的安全性和更短的签名。我们还提供了一个新的盲签名方案,从银行的角度来说非常高效。事实上,这一方案允许并行的撤销,以及以非常小的计算量来提供非常高的速度。因此这一方案非常适用于拥有成千上万用户的大规模应用程序。

《应用密码学》课程试卷(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

(完整版)北邮版《现代密码学》习题答案.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 )。

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、关于密码学的讨论中,下列(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

现代密码学 学习心得

混合离散对数及安全认证 摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后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.选择题

密码学级考卷A卷 答案

试题 2015 年~ 2016 年第1 学期 课程名称:密码学专业年级: 2013级信息安全 考生学号:考生姓名: 试卷类型: A卷■ B卷□考试方式: 开卷□闭卷■……………………………………………………………………………………………………… 一. 选择题(每题2分,共20分) 1.凯撒密码是有记录以来最为古老的一种对称加密体制,其加密算法的定义为, 任意,,那么使用凯撒密码加密SECRET的结果是什么()。 A. UGETGV B. WIGVIX C. VHFUHW D. XIVGIW 2.在一下密码系统的攻击方法中,哪一种方法的实施难度最高的()。 A. 唯密文攻击 B. 已知明文攻击 C. 选择明文攻击 D. 选择文本攻击 3.仿射密码顺利进行加解密的关键在于保证仿射函数是一个单射函数,即对于 任意的同余方程有唯一解,那么仿射密码的密钥空间大小是()。(表示中所有与m互素的数的个数) A. B. C. D. 4.为了保证分组密码算法的安全性,以下哪一点不是对密码算法的安全性要求

()。 A. 分组长度足够长 B. 由密钥确定置换的算法要足够复杂 C. 差错传播尽可能地小 D. 密钥量足够大 5.以下哪一种分组密码工作模式等价于同步序列密码()。 A. 电码本模式(ECB模式) B. 密码分组链接模式(CBC模式) C. 输出反馈模式(OFB模式) D. 密码反馈模式(CFB模式) 6.以下对自同步序列密码特性的描述,哪一点不正确()。 A.自同步性 B.无错误传播性 C.抗主动攻击性 D.明文统计扩散性 7.如下图所示的线性移位寄存器,初始值为,请问以下哪 一个选项是正确的输出序列()。 A. B. C. D. 8.以下关于消息认证码的描述,哪一点不正确()。 A.在不知道密钥的情况下,难以找到两个不同的消息具有相同的输出 B.消息认证码可以用于验证消息的发送者的身份 C.消息认证码可以用于验证信息的完整性 D.消息认证码可以用于加密消息 9.以下哪些攻击行为不属于主动攻击()。 A.偷听信道上传输的消息

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

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

06计算机密码学试卷A

计算机密码学试卷A 学号:姓名:成绩: 班级:计算机科学与技术(信息安全)031预科、031、032班 一、选择与填空:(24分,每题2分) 1、5 mod 13的乘法逆元是:,负元是:。 2、从信息论的角度看,要提高密码的保密性,应该通过两个途径,一是通过:,二是。 3、DES密码有次迭代,它的加/解密算法仅不同。 4、有限状态自动机在流密码中的作用是:。 5、两密钥三DES加密算法中的加密可以表示为:。 6、强单向杂凑函数是指:。 7、在密钥的生成、分配、管理中KDC叫,它的作用是: 。 8、设已知乘数密码明文字母 J(9)对应于密文字母 P(15),即 9k mod 26 = 15, 密钥 k是:。 9、AES算法如果密钥为192位,则种子密钥阵列为:字节的阵列。 10、对一个分组,SHA要经过轮,步运算。 11、选择明文攻击的前提是:。 12、在认证协议中,时间戳的作用是为了防止攻击。 二、简答:(20分,每题5分) 1、简述CA机构为客户颁发公钥证书的过程,X.509公钥证书中主要包含了哪些项目。

2、简述DSS数字签名标准。 3、简述分组密码的密码反馈模式的工作原理,如果按照16bit反馈,使用DES工作 于密码反馈模式,这时如果某分组的密文中出现了1bit的错误,则此错误在怎样的情况下会影响以后分组的正确性?最多会影响几个分组? 4、怎么样去找一个大素数?素性检测的原理和作用是什么? 三、计算与证明:(56分) 1、用RSA加密:p=7,q=17,e=13,M=10。(4分)

2、求: 11的所有本原根(6分)。 3、用费尔玛和欧拉定理求:6208 mod 11 (4分) (1,3)表示y≡x3+x+3 mod 11 求: 4、椭圆曲线E 11 =3,计算其公钥。(4分) ①曲线上所有的点。(5分)②生成元G(1,4),私钥n A ③若明文为Pm = (4,7),k取2,计算密文Cm。(4分) x≡ 2 mod 3 4、求同余方程组:x≡ 4 mod 5 (5分) x≡ 6 mod 7

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

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

应用密码学试题

东华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 特性和安全要求

密码学期末考试复习

填空题 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、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。

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

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

现代密码学小论文

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

应用密码学习题答案

《应用密码学》习题和思考题答案 第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 ?+?=+?

《密码学》期末考试试卷

新乡学院 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公钥密码体制中的加密和解密过程。

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

应用密码学复习大纲 第一章古典密码 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

JNU2012密码学期末真题考题

密码学作业 作业要求 1按下面各题要求回答问题; 2上机进行实验 3索引二篇公开发表有关计算机密码学的文章。时间发表在2009年以后 4考试当日,答题前交到监考老师处(二篇文章,本作业) 二.密码体制分类 密码体制从原理上可分为两大类,即单钥体制和双钥体制。 单钥体制的加密密钥和解密密钥相同。采用单钥体制的系统的保密性主要取决于密钥的保密性,与算法的保密性无关,即由密文和加解密算法不可能得到明文。换句话说,算法无需保密,需保密的仅是密钥。 换句话说,算法无需保密,需保密的仅是密钥。根据单钥密码体制的这种特性,单钥加解密算法可通过低费用的芯片来实现。密钥可由发送方产生然后再经一个安全可靠的途径(如信使递送)送至接收方,或由第三方产生后安全可靠地分配给通信双方。如何产生满足保密要求的密钥以及如何将密钥安全可靠地分配给通信双方是这类体制设计和实现的主要课题。密钥产生、分配、存储、销毁等问题,统称为密钥管理。这是影响系统安全的关键因素,即使密码算法再好,若密钥管理问题处理不好,就很难保证系统的安全保密。单钥体制对明文消息的加密有两种方式:一是明文消息按字符(如二元数字)逐位地加密,称之为流密码;另一种是将明文消息分组(含有多个字符),逐组地进行加密,称之为分组密码。单钥体制不仅可用于数据加密,也可用于消息的认证。 双钥体制是由Diffie和Hellman于1976年首先引入的。采用双钥体制的每个用户都有一对选定的密钥:一个是可以公开的,可以像电话号码一样进行注册公布;另一个则是秘密的。因此双钥体制又称为公钥体制。 双钥密码体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而使多个用户可以解读。前者可用于公共网络中实现保密通信,而后者可用于实现对用户的认证。 三.扩散和混淆 扩散和混淆是由Shannon提出的设计密码系统的两个基本方法,目的是抗击敌手对密码系统的统计分析。 所谓扩散,就是将明文的统计特性散布到密文中去,实现方式是使得明文的每一位影响密文中多位的值,等价于说密文中每一位均受明文中多位影响。 混淆是使密文和密钥之间的统计关系变得尽可能复杂,以使敌手无法得到密钥。因此即使敌手能得到密文的一些统计关系,由于密钥和密文之间的统计关系复杂化,敌手也无法得到密钥。 七.什么是零知识证明?下图表示一个简单的迷宫,C与D之间有一道门,需要知道秘密口令才能将其打开。P向V证明自己能打开这道门,但又不愿向V泄露秘密口令。可采用什么协议?

相关主题