2011-2012研究生《密码学理论与实践》期末试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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代换;