2011-2012研究生《密码学理论与实践》期末试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011-2012学年数学专业研究生《密码学理论与实践》

期末考试

年级: 2011 学号: 2011020680 姓名: 刘 海 专业(二级学科): 应用数学 研究方向: 密码学理论与工程

一、 解释相关概念及方法(15分)

1. 计算安全与理论安全;

2. IND-CCA2;

3. 可证明安全方法。

二、 关于对称密码,完成如下问题(20分)

1. 叙述DES 和AES 分别采用什么乘法密码结构?试做一点比较分析;

2. 选择一个常用的轻量级分组密码与AES 进行相关比较分析。 三、 关于公钥密码学,完成如下问题:(30分)

1.

简要介绍单向陷门函数的原理,解释如何利用IFP 、DLP 、ECDLP 三大问题构造单向陷门函数实现公钥加密方案的; 2.

对于RSA 方案,试一试解释分解模n 和求解n 的欧拉函数)(n ϕ的难度是一样的; 3.

设椭圆曲线81132++=x x y 定义在有限域23F 上。

(1) 若椭圆曲线上的二点为P(9,10)、Q(14,13),求P+Q 和2P ;

(2) 求如上椭圆曲线的一个基点G 及它的阶,并构造一个简单的

ECC-ElGamal 密码方案;

(3) 以如上的G 为基点,为Alice 和Bob 选择一个私钥,用D-H 密钥协商

方法求出共享密钥。

四、 请利用多项式19mod )1127()(2++=x x x h 设计一个(3, 5)Shamir 门限方案来共

享密钥k=11。(10分)

五、 选择一个现代密码方法与技术论述其在某电子商务领域中的应用。(20分)

一、答:

1、计算安全是指满足以下的标准:

●破译密码的代价超出密文信息的价值;

●破译密码的时间超出密文信息的有效生命期;

理论安全是指:无论有多少可使用的密文,攻击者无论花费多少时间,都不足以惟一的确定由密文解密得到的明文信息。

2、IND(不可区分性):对已知给定的两个明文,加密者随机一致的选择其中一个进行加密,攻击者无法从密文中知道是对哪个明文的加密。

CCA2(适应性选择密文攻击):敌手在得到目标密文y'前后都可询问解密机,但不可询问目标密文y'。

IND-CCA2是指对于任意的有效CCA2敌手攻击,它的优势都是可忽略的。

3、可证明安全方法是是一种归约方法,它通过定义适当的安全目标(一般地,加密方案的安全目标是保密性,签名方案的安全目标是不可伪造性),然后在一定的敌手模型下证明方案或协议能够达到既定的安全目标。

二、答:

1、Shannon提出的乘积密码是指顺序地执行两个或多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果。其示意图如下:

K

通常使用的技术是将代替密码和置换密码做乘积。

DES 采用的是Feistel 乘法密码结构。其原理是采用对合密码: 一种加密函数),(k x f ,实现:n t n F F F 222→⨯的映射。其中,n 是分组长度,t 是密钥长度。若对每个密钥取值都有x k k x f f =)),,((,则称之为对合变换。对合加密函数在自密钥控制下对明文进行r 轮迭代,后得到密文,密文在其逆序子密钥作用下,进行r 轮迭代,就可恢复出明文。

Feistel 网络将输入(w 2位)分成相同长度的两部分i L 和i R ,按如下方式进行变换:

Feistel 网络的轮函数可表示为:

),(),,(11i i n i i R L K R L g =--

其中:

1-=i i R L ,),(11i i i i k R f L R --⊕=

函数f 并不要求是可逆的,因为只要密钥给定,轮函数g 一定是可逆的。具体为:

),(1i i i i k L f R L ⊕=-,i i L R =-1

Feistel加解密过程如下图:

Feistel网络结构的特点:

✧逆向操作和正向操作具有相同的结构唯一不同之处是轮子密

钥的使用次序相反。

✧每轮只对轮输入的一半进行变换,虽然实现速度较慢,但可

以不要求f函数可逆。

●AES采用的是SP(代换—置换)网络乘法密码结构。其原理是采用迭代密码:以一个简单函数,进行多次迭代。每次迭代,称为一轮,相应的迭代函数称为轮函数。

迭代密码明确定义了一个轮函数和一个密钥编排方案,一个明文的加密

K K

经过了t轮类似的过程。设k是一个确定长度的随机二元密钥,用k通过密钥编排方案来生成t个轮密钥。

一个SP网络就是一类特殊的迭代密码。设l和m都是正整数,明密文都

是长为lm的二元向量,一个SP网络包含两个变换,分别记为

s

π和

p

π:

l

l

s

}1,0{

}1,0{:→

π实现l比特的代换,即S盒;

}

,

,2,1{

}

,

,2,1{:lm

lm

p

π实现lm比特的置换;

在SP网络中,前t轮都先经过非线性变换S,然后再进行P置换,而最后1+t轮中,只使用非线性变换S。

SP网络的框图结构如下:

在SP网络中,非线性代换S得到分组小块的混乱和扩散;再利用P置换,将S盒输出的结果实现整体扩散的效果。这样,若干轮的局部混乱、整体扩散之后,达到足够的混乱和扩散。

在SP网络结构中,常使用的基本代换有:

✧左循环移位代换:)

,

,

,

,

(

)

,

,

,

(:

1

2

1

1

1

x

x

x

x

x

x

x

f

n

n-

-

✧右循环移位代换:)

,

,

,

(

)

,

,

,

(:

2

1

1

1

0-

-

-

n

n

n

x

x

x

x

x

x

f

✧模1

2+

n代换;

相关文档
最新文档