1、(联邦调查局)NSA (国家安全局)RSA (数据安全公司)NBS (国家标准局)
FIPS (联邦信息处理标准)ANSI (美国国家标准协会)
2、已知q=13 , g=7 ;A 和B 分别选择随机数Xa=5 ,Xb=8试写DH 公钥密码
算法的密钥协商过程, 并求其协商后的密钥。
g 是q 的本原根
计算公开的Ya :Ya=g^5mod13=11 计算公开的Yb :Yb=g^8mod13=3
用户A 计算产生密钥:k=Yb^5mod13=9 用户B 计算产生密钥:k=Ya^8mod13=9
3、ITU-T(国际电信联盟) 提出X.800的安全框架又称【OSI 】,这是信息安全领域
国际范围内定义的一种系统化标准化描述方法,它定义了【安全性攻击】、【安全
机制 】、【 安全服务 】。传统的信息安全主要依靠行政手段和物理手段来保证。
由于计算机的使用和分布式系统介入,要求人们采用自动化工具保护计算机数
据,称为【计算机安全 】,同时也需要保护数据传输,称【网络安全 】。 密码系统构成的5个基本成分是【明文】、它作为算法输入,【加密算法 】、它对
前者进行变换,【密钥】、它也是输入,但它独立前二者,【密文 】、它是输出,
【 解密算法】,最后一个可认为是一加密算法的逆运算。
4、Feistel 模型是分组密码的经典模型;它的实现依赖于哪些参数,它们分别如
何影响安全性?
Fesitel 分组密码结构
(分组算法是一种加解密算法,64比特的分组和54比特的密钥。DES 对差分分
析和线性分析有很强的免疫性。DES 数据加密标准。AES 高级加密标准)
答:分组长度:分组越长意味着安全性越高,但是会影响加密和解密的速度
密钥长度:密钥越长同样意味着安全性越高,但是会降低加密和解密的速度
迭代的轮数:feistal 的本质所在单论不能提供足够的安全性而多轮加密可取的很
高的安全性
子密钥产生算法:子密钥产生越复杂,密码分析攻击就越困难
轮函数:轮函数越复杂,抗攻击的能力就越强
7、 DES算法提出以后;密码分析方法也取得相应进展,提出了【差分密码分析 】
和线性密码分析,其中前者只有在有相当多的密文条件下,才具有理论意义。
8、 DES算法分两步:一是【子密钥的生成 】,二是数据处理。分组长度【64 】
位,有效密钥长度【56 】位
9、 AES算法每轮依次由四个操作构成【字节代换 】【行位移 】,列混淆和【轮
密钥加】
12 . DES不是公钥密码算法
5 . DES 加密算法中的基本运算不包括 【模幂运算】有 排列运算、替换运算(S
盒子) 、移位运算
6 . 双重DES 会受到中间相遇攻击
三、有限域在密码中得到广泛应用,试说明有限域的定义,p=5情况下完成下表;
并判断F5是否构成域。其中F5={0,1,2,3,4}
答:有限域是指有有限个元素的域。有限域的阶(元素的个数)一定可以写成一
个素数的幂形式p^n.。
给定一个素数p ,元素个数为p 的有限域GF (p )被定义为整数{0,1,……p-1}
的集合Zp ,其中运算为模p 的算术运算。Zp 中任一个整数有乘法逆元当且仅当
该整数与n 互素。阶为P^n(n>1)的有限域可由多现实算数来定义。
8 . 属于非对称的算法的是 DH 、 椭圆曲线 、RSA
9 . 消息验证码MAC 不可以 【实现保密性】
1、 SHA-1是MD5之后推出的哈希算法,分组长度【512】位,最后得到【160】位的消息摘要值。
2、 通过同余式计算 模56的余数是【13】。
4、 密码系统用于实现通信保密性,它有三个基本特性:原操作类型、排列和替代、使用【密钥】的个数,
1 . 只能用于加密极少量分组的模式是ECB ;
2 . n=35,则n 的欧拉函数值为【24】
9 . RC4算法不可以用于数字签名。
10 . 下图是公钥保密通信系统的概念图,A 和B 应分别是【D 】。
A :Alice 的公钥和Bob 的公钥;B :Alice 的私钥和Bob 的公钥;
C :Bob 的公钥和Bob 的私钥;D :Alice 的公钥和Alice 的私钥;
15 . 关于消息验证码MAC ,如果接收方收到的MAC 与计算得到的MAC 相等,则下列描述不正确的是 【可由MAC 反算法消息】
16 . SHA-512是SHA 体系最安全的哈希算法。分组长度【1024位】运算轮数【80】
影响密码系统安全性的参数除了密钥长度,分组长度等算法参数外,还有工作模式,试说明在哪些主要工作模式和它们的简写,并指出其典型应用场景,哪些使用了IV ,哪些只使用了加密函数,哪些转化为流算法,哪些适用并行计算?(本题10分)。
电码本工作模式(ECB )单个数据的安全传输(如一个加密密钥)
密文分组链接(CBC )认证和普通目的的面向分组的传输
密文反馈(CFB )认证和普通目的的面向分组的传输
输出反馈(OFB )噪声频道上的数据流的传输
密文分组链接,密文反馈,输出反馈使用了IV ,电码本模式(ECB )适用于并行计算,CFBheOFB 要转换为流算法,ECB 和CBC 只使用了加密函数
【34】AES 算法交替代DES 成为未来十年的主流分组算法。它有源头是Rijndael 算法;2001年11月完成的FIPS PUB 197号文件对其进行标准化工作,试依据文件完成下表。
【2】p=7,F7={0.1.2,3,4,5,6},试完成下表,计算模7的离散指数函数表并指出哪些生成元。将此表画答题纸上。
(77页的表4。.3)
OSI 安全框架也就是ITU-T 所提出X.800框架,它定义了安全攻击,安全机制,安全服务;试说明3个要概念的含义;并指出分别存在哪些典型的攻击,机制与服务? ?
(7-15页,老师课件上也有)
②分组密码和流密码的主要区别在哪里;攻击密码体制的主要方法有两种? 答:分组密码是一种加/解密算法,其将输入的明文分组当做一个整体处理,输出一个等长的密文分组。它与流密码的区别在于流密码每次只加密数据流的一位或一个字节。
攻击密码体制的主要有密码分析学和穷举攻击两种。
17 . 可以认为数据的加密和解密是对数据进行的某种变换,加密和解密的过程都是在的【密钥】控制下进行的。
2 . 常规的数据加密标准DES 采用【56】有效密钥位对64位的数据块进行加密。
3、 任意的整数a 能且仅能写成一种如下积的形式 其中pi 为自然数中的第i 个素数,p1
4、 3DES是DES 的一种变种。采用3个不同的工作密钥,使得整个密钥的长度为【168】位。
5、 将明文转换为密文的操作类型上,基于操作有两类【 代换】和【 置换 】,还有多层反复使用前两者,称为【 分组】密码系统,如DES 。
4 . 下列选项中不属于加密算法的是MD5
2、 攻击的指任何非授权访问行为,攻击的范围从简单的使服务器无法提供正常的服务到完全破坏,控制服务器,在访问控制系统当中,计算机系统安全的第一道防线是【门卫功能(用户身份验证)】
3、 整数713的一个因子为31,则欧拉函数值为【660】。
5、 DES对称分组算法是美国标准算法,有效密钥为56位,2000年推出的替代算法为AES (高级加密标准)。
6、 MDC中文意义【消息摘要码】MAC 中文意义是【消息认证码】,MDC 不使用密钥,不能鉴别消息的来源。
7、 常用的公钥算法有RSA 和【DH 】【椭圆曲线】,;RSA 系统的公钥一般数偶(u,n ),公钥的位数是指【M 】的位数;公钥算法主要能供【认证】和保密通信功能。
8、 VPN是种普遍应用的网络安全技术。在其中最主要的采用了隧道协议。隧道协议可以定义在数据链路层也可在其它层,数据链路层的隧道协议主要有L2F ,L2TP 和【PPTP 】3种。
3 . 关于模运算,下列等式可结论不成立的是C .ab ≡ac%m则b ≡c%m 4 . 2^25-x 是47的倍数, 则x 为【 4】
5 . a=7,b=5,c=11则a/b≡z %c,则c 等于【8 】
2、 通过同余式计算 模56的余数是【3】。
5、 为掩盖统计特征,香农将两概念【扩散】和【混淆】引入密码分析;前者指明文统计特征消散在密文当中。
6 . 常规的数据加密标准DES 对【64】位的数据块进行加密。
什么是一次一密,为什么说它是一种绝对安全的密码体制,它是否实用,为什么?
如果密钥流真正的随机的,而不是有密钥词衍生得到的,且该密钥流只一次性地用于某次密码通信,则称为一次一密。一次一密它是牢不可破的,是绝对安全的。 因为密钥流字节没有任何的统计关系,频率攻击失效了;将密文解释为某个有意义的密钥流的数量很多,它们是等概率的,其无法猜测出使用的密钥。
它的两个问题;
产生超长的大规模的随机密钥很困难。传输存输管理分配这样的密钥很困难。
6. 试用数学公式描述DES 的轮密钥产生过程。
解:
去奇偶校验位重排56 位(一次点名)
1. KL0 || KR0 = P1C1 (Kin ) 即:1-1:去奇偶校验位(每字节最左边的位)
2. i = 1
3. 1 0 1 1 0 1 KL = KL
4. K1 = P2C2 (KL1||KR1 ) 即 步骤1-2-1-3:照以下号序选位并排序(二次点名):K1
5. 2 1 2 2 1 2 i + +;KL = KL
2 2 2 2 2 K = PC (KL ||KR )。即1-2-2-1;1-2-2-2;1-2-2-3;即KL1,KR1 二轮移位。合并,二次点名得K2;
6. 16 15 16 16 15 16 i + +;KL = KL
即1-2-16-2;1-2-16-3;即L15,R15 十六轮移位。合并重新编号,二次点名得K16;
7. 终止
7. 试用数学公式简单描述DES 数据加密过程。
解:
1. 0 0 L || R = M = IP(M _ in):加密步骤2-1:64bit初始排列后:L0
2. 0 0 1 1 1 Round(L , R , k ) = (L , R )
1 1 2 2 2 Round(L , R , k ) = (L , R )
3. 1 1 1 ( , , ) ( , ) i i i i i Round L R k L R + + + =
15 15 16 16 16 Round(L , R , k ) = (L , R )
4. 1
16 16 M _ out IP (R L ) = − 。//互换逆排列点名
5. 终止
8. 试用数学公式简单描述DES 数据解密过程。
1. 0 0 L || R = C = IP(C _ in) // C : Ciphertext :步骤2-1:64bit初始排列后:L0
2. 0 0 16 1 1 Round(L , R , k ) = (L , R )
1 1 15 2 2 Round(L , R , k ) = (L ,R )
3. 16 ( 1) 1 1 ( , , ) ( , ) i i i i i Round L R k L R − + + + =
15 15 16 16 16 Round(L , R , k ) = (L , R )
15 15 1 16 16 Round(L , R , k ) = (L , R )
4. 1
16 16 C _ out IP (R L ) = − 。//互换逆排列点名
5. 终止
9. 试用数学公式简单描述DES 的round 函数。
解:
函数1 1 1 ( , , ) ( , ) i i i i i Round L R k L R + + + = 揭秘。
1. i 1 i L R + = //右半部向左赋值得到下一个左半部
2. EXP _ Ri = EXP(Ri ) //右半部扩充点名得到48bits
3. XOR _ Ri EXP _ Ri ki 1 + = ⊕ //轮密钥异或到右半部
4. _ ( _ ) sbox Ri = sbox XOR Ri //右半部经受S 盒替换得32bits
5. _ ( _ ) i i P R = P sbox R //右半部P 排列点名
6. 1 _ i i i R P R L + = ⊕ //左半部异或得到右半部为下一个右半部
10. 试用数学公式简单描述DES 的sbox 替代函数。
解:
函数S-box 替代揭秘: ( _ ) sbox XOR Ri
替换后的32 位用sbox 表示。
1 ( 1)*4 2 ( 1)*4 3 ( 1)*4 4 ( 1)*4 1 ( 1)*6 6 ( 1)*6 2 ( 1)*6 3 ( 1)*6 4 ( 1)*6 5 ( 1)*6 _ _ _ _ ( , ) j j j j j j j j j j j sbox b sbox b sbox b sbox b Sbox b b b b b b + − + − + − + − + − + − + − + − + − + − =
. 第j 个6 位组查表第j 个S 盒得到第j 个4 位组输出。
11. 什么是分组密码,分组密码和流密码有什么区别?
分组密码是一种加、解密算法,其将输入的明文分组当做一个整体处理,输
出一个等长的密文分组。
分组加密(block cipher):一次处理固定比特长度的分组,每次处理都有复杂的数据处理过程。
流加密(stream cipher):连续输入连续的比特流直到结束,同时密文也连续不断地输出。数据处理过程简单,只是做异或运算。
什么是单向陷门函数,公钥密码算法应满足哪些要求?
如果一个函数,如计算函数值很容易,并且缺少某些附加条件,计算函数的逆是不可行的,但是已知这些附加条件,可在多项式时间内计算出函数的逆,那么我们成这样的函数为单向陷门函数。即单项陷门函数是满足下列条件的一类不可逆的函数Fk:
若已知k 和x ,则容易计算Y=Fk(x )
若k 和y 已知,则容易计算x=Fk^-1(Y)
若已知Y 但未知K ,则计算x=Fk^-1(Y)是不可行的
公钥密码算法应该满足的要求:
B 产生一对密钥在计算上是容易的
已知公钥和要加密的信息M ,发送方A 产生相应的密文在计算上是容易的 接收方用自己的密钥解密收到的密文以恢复明文在计算上是很容易的 已知公钥和密文,攻击者要恢复明文在计算上是不可行的
已知公钥Pub ,攻击者要确定私钥PRb 在计算上是不可行的
加密和解密函数的顺序可以交换
哈希函数有哪些应用,哈希函数满足哪些要求?
单项散列函数是消息认证码的一种变形。和消息认证码一样,散列函数输入的是可变长度的消息,输出的是固定长度的散列值。与消息认证码不同的是,散列函数不需要密钥,它是消息输入的函数。散列函数也可以叫做消息摘要。 哈希函数需要满足的要求:
H 可适应于任意大小的数据块
H 产生固定长度的输出
对任意给定的x ,计算H(x)是容易的,软件和硬件均可以实现
对任意的散列码h ,找到满足H(x)=h的x 在计算上是不可行的,有些文献中称之为单向性
对任何给定的分组,找到y 不等于x 且H(x)=H(y)的y 在计算上是不可行的,我们有时称之为抗弱碰撞性
找到任何满足H(x)=H(y)的偶对(x ,y )在计算上是不可行的。我们有时称之为抗强碰撞性
应用:
用对称密码对消息及附在其后的散列码加密,该方法提供了保密性和认证 用对称密码进队散列码加密。该方法提供了认证
用公钥密码和发送方的私钥对散列码加密,提供认证和数字签名
先用发送方的私钥对散列码加密,再用对称密码中的密钥对消息和上述结果加密,则既能保证保密性,又有数字签名
用散列函数而不适用加密函数可以提供认证
如果对整个消息和散列码加密,则(5)中的方法可提供保密性和认证
1、(联邦调查局)NSA (国家安全局)RSA (数据安全公司)NBS (国家标准局)
FIPS (联邦信息处理标准)ANSI (美国国家标准协会)
2、已知q=13 , g=7 ;A 和B 分别选择随机数Xa=5 ,Xb=8试写DH 公钥密码
算法的密钥协商过程, 并求其协商后的密钥。
g 是q 的本原根
计算公开的Ya :Ya=g^5mod13=11 计算公开的Yb :Yb=g^8mod13=3
用户A 计算产生密钥:k=Yb^5mod13=9 用户B 计算产生密钥:k=Ya^8mod13=9
3、ITU-T(国际电信联盟) 提出X.800的安全框架又称【OSI 】,这是信息安全领域
国际范围内定义的一种系统化标准化描述方法,它定义了【安全性攻击】、【安全
机制 】、【 安全服务 】。传统的信息安全主要依靠行政手段和物理手段来保证。
由于计算机的使用和分布式系统介入,要求人们采用自动化工具保护计算机数
据,称为【计算机安全 】,同时也需要保护数据传输,称【网络安全 】。 密码系统构成的5个基本成分是【明文】、它作为算法输入,【加密算法 】、它对
前者进行变换,【密钥】、它也是输入,但它独立前二者,【密文 】、它是输出,
【 解密算法】,最后一个可认为是一加密算法的逆运算。
4、Feistel 模型是分组密码的经典模型;它的实现依赖于哪些参数,它们分别如
何影响安全性?
Fesitel 分组密码结构
(分组算法是一种加解密算法,64比特的分组和54比特的密钥。DES 对差分分
析和线性分析有很强的免疫性。DES 数据加密标准。AES 高级加密标准)
答:分组长度:分组越长意味着安全性越高,但是会影响加密和解密的速度
密钥长度:密钥越长同样意味着安全性越高,但是会降低加密和解密的速度
迭代的轮数:feistal 的本质所在单论不能提供足够的安全性而多轮加密可取的很
高的安全性
子密钥产生算法:子密钥产生越复杂,密码分析攻击就越困难
轮函数:轮函数越复杂,抗攻击的能力就越强
7、 DES算法提出以后;密码分析方法也取得相应进展,提出了【差分密码分析 】
和线性密码分析,其中前者只有在有相当多的密文条件下,才具有理论意义。
8、 DES算法分两步:一是【子密钥的生成 】,二是数据处理。分组长度【64 】
位,有效密钥长度【56 】位
9、 AES算法每轮依次由四个操作构成【字节代换 】【行位移 】,列混淆和【轮
密钥加】
12 . DES不是公钥密码算法
5 . DES 加密算法中的基本运算不包括 【模幂运算】有 排列运算、替换运算(S
盒子) 、移位运算
6 . 双重DES 会受到中间相遇攻击
三、有限域在密码中得到广泛应用,试说明有限域的定义,p=5情况下完成下表;
并判断F5是否构成域。其中F5={0,1,2,3,4}
答:有限域是指有有限个元素的域。有限域的阶(元素的个数)一定可以写成一
个素数的幂形式p^n.。
给定一个素数p ,元素个数为p 的有限域GF (p )被定义为整数{0,1,……p-1}
的集合Zp ,其中运算为模p 的算术运算。Zp 中任一个整数有乘法逆元当且仅当
该整数与n 互素。阶为P^n(n>1)的有限域可由多现实算数来定义。
8 . 属于非对称的算法的是 DH 、 椭圆曲线 、RSA
9 . 消息验证码MAC 不可以 【实现保密性】
1、 SHA-1是MD5之后推出的哈希算法,分组长度【512】位,最后得到【160】位的消息摘要值。
2、 通过同余式计算 模56的余数是【13】。
4、 密码系统用于实现通信保密性,它有三个基本特性:原操作类型、排列和替代、使用【密钥】的个数,
1 . 只能用于加密极少量分组的模式是ECB ;
2 . n=35,则n 的欧拉函数值为【24】
9 . RC4算法不可以用于数字签名。
10 . 下图是公钥保密通信系统的概念图,A 和B 应分别是【D 】。
A :Alice 的公钥和Bob 的公钥;B :Alice 的私钥和Bob 的公钥;
C :Bob 的公钥和Bob 的私钥;D :Alice 的公钥和Alice 的私钥;
15 . 关于消息验证码MAC ,如果接收方收到的MAC 与计算得到的MAC 相等,则下列描述不正确的是 【可由MAC 反算法消息】
16 . SHA-512是SHA 体系最安全的哈希算法。分组长度【1024位】运算轮数【80】
影响密码系统安全性的参数除了密钥长度,分组长度等算法参数外,还有工作模式,试说明在哪些主要工作模式和它们的简写,并指出其典型应用场景,哪些使用了IV ,哪些只使用了加密函数,哪些转化为流算法,哪些适用并行计算?(本题10分)。
电码本工作模式(ECB )单个数据的安全传输(如一个加密密钥)
密文分组链接(CBC )认证和普通目的的面向分组的传输
密文反馈(CFB )认证和普通目的的面向分组的传输
输出反馈(OFB )噪声频道上的数据流的传输
密文分组链接,密文反馈,输出反馈使用了IV ,电码本模式(ECB )适用于并行计算,CFBheOFB 要转换为流算法,ECB 和CBC 只使用了加密函数
【34】AES 算法交替代DES 成为未来十年的主流分组算法。它有源头是Rijndael 算法;2001年11月完成的FIPS PUB 197号文件对其进行标准化工作,试依据文件完成下表。
【2】p=7,F7={0.1.2,3,4,5,6},试完成下表,计算模7的离散指数函数表并指出哪些生成元。将此表画答题纸上。
(77页的表4。.3)
OSI 安全框架也就是ITU-T 所提出X.800框架,它定义了安全攻击,安全机制,安全服务;试说明3个要概念的含义;并指出分别存在哪些典型的攻击,机制与服务? ?
(7-15页,老师课件上也有)
②分组密码和流密码的主要区别在哪里;攻击密码体制的主要方法有两种? 答:分组密码是一种加/解密算法,其将输入的明文分组当做一个整体处理,输出一个等长的密文分组。它与流密码的区别在于流密码每次只加密数据流的一位或一个字节。
攻击密码体制的主要有密码分析学和穷举攻击两种。
17 . 可以认为数据的加密和解密是对数据进行的某种变换,加密和解密的过程都是在的【密钥】控制下进行的。
2 . 常规的数据加密标准DES 采用【56】有效密钥位对64位的数据块进行加密。
3、 任意的整数a 能且仅能写成一种如下积的形式 其中pi 为自然数中的第i 个素数,p1
4、 3DES是DES 的一种变种。采用3个不同的工作密钥,使得整个密钥的长度为【168】位。
5、 将明文转换为密文的操作类型上,基于操作有两类【 代换】和【 置换 】,还有多层反复使用前两者,称为【 分组】密码系统,如DES 。
4 . 下列选项中不属于加密算法的是MD5
2、 攻击的指任何非授权访问行为,攻击的范围从简单的使服务器无法提供正常的服务到完全破坏,控制服务器,在访问控制系统当中,计算机系统安全的第一道防线是【门卫功能(用户身份验证)】
3、 整数713的一个因子为31,则欧拉函数值为【660】。
5、 DES对称分组算法是美国标准算法,有效密钥为56位,2000年推出的替代算法为AES (高级加密标准)。
6、 MDC中文意义【消息摘要码】MAC 中文意义是【消息认证码】,MDC 不使用密钥,不能鉴别消息的来源。
7、 常用的公钥算法有RSA 和【DH 】【椭圆曲线】,;RSA 系统的公钥一般数偶(u,n ),公钥的位数是指【M 】的位数;公钥算法主要能供【认证】和保密通信功能。
8、 VPN是种普遍应用的网络安全技术。在其中最主要的采用了隧道协议。隧道协议可以定义在数据链路层也可在其它层,数据链路层的隧道协议主要有L2F ,L2TP 和【PPTP 】3种。
3 . 关于模运算,下列等式可结论不成立的是C .ab ≡ac%m则b ≡c%m 4 . 2^25-x 是47的倍数, 则x 为【 4】
5 . a=7,b=5,c=11则a/b≡z %c,则c 等于【8 】
2、 通过同余式计算 模56的余数是【3】。
5、 为掩盖统计特征,香农将两概念【扩散】和【混淆】引入密码分析;前者指明文统计特征消散在密文当中。
6 . 常规的数据加密标准DES 对【64】位的数据块进行加密。
什么是一次一密,为什么说它是一种绝对安全的密码体制,它是否实用,为什么?
如果密钥流真正的随机的,而不是有密钥词衍生得到的,且该密钥流只一次性地用于某次密码通信,则称为一次一密。一次一密它是牢不可破的,是绝对安全的。 因为密钥流字节没有任何的统计关系,频率攻击失效了;将密文解释为某个有意义的密钥流的数量很多,它们是等概率的,其无法猜测出使用的密钥。
它的两个问题;
产生超长的大规模的随机密钥很困难。传输存输管理分配这样的密钥很困难。
6. 试用数学公式描述DES 的轮密钥产生过程。
解:
去奇偶校验位重排56 位(一次点名)
1. KL0 || KR0 = P1C1 (Kin ) 即:1-1:去奇偶校验位(每字节最左边的位)
2. i = 1
3. 1 0 1 1 0 1 KL = KL
4. K1 = P2C2 (KL1||KR1 ) 即 步骤1-2-1-3:照以下号序选位并排序(二次点名):K1
5. 2 1 2 2 1 2 i + +;KL = KL
2 2 2 2 2 K = PC (KL ||KR )。即1-2-2-1;1-2-2-2;1-2-2-3;即KL1,KR1 二轮移位。合并,二次点名得K2;
6. 16 15 16 16 15 16 i + +;KL = KL
即1-2-16-2;1-2-16-3;即L15,R15 十六轮移位。合并重新编号,二次点名得K16;
7. 终止
7. 试用数学公式简单描述DES 数据加密过程。
解:
1. 0 0 L || R = M = IP(M _ in):加密步骤2-1:64bit初始排列后:L0
2. 0 0 1 1 1 Round(L , R , k ) = (L , R )
1 1 2 2 2 Round(L , R , k ) = (L , R )
3. 1 1 1 ( , , ) ( , ) i i i i i Round L R k L R + + + =
15 15 16 16 16 Round(L , R , k ) = (L , R )
4. 1
16 16 M _ out IP (R L ) = − 。//互换逆排列点名
5. 终止
8. 试用数学公式简单描述DES 数据解密过程。
1. 0 0 L || R = C = IP(C _ in) // C : Ciphertext :步骤2-1:64bit初始排列后:L0
2. 0 0 16 1 1 Round(L , R , k ) = (L , R )
1 1 15 2 2 Round(L , R , k ) = (L ,R )
3. 16 ( 1) 1 1 ( , , ) ( , ) i i i i i Round L R k L R − + + + =
15 15 16 16 16 Round(L , R , k ) = (L , R )
15 15 1 16 16 Round(L , R , k ) = (L , R )
4. 1
16 16 C _ out IP (R L ) = − 。//互换逆排列点名
5. 终止
9. 试用数学公式简单描述DES 的round 函数。
解:
函数1 1 1 ( , , ) ( , ) i i i i i Round L R k L R + + + = 揭秘。
1. i 1 i L R + = //右半部向左赋值得到下一个左半部
2. EXP _ Ri = EXP(Ri ) //右半部扩充点名得到48bits
3. XOR _ Ri EXP _ Ri ki 1 + = ⊕ //轮密钥异或到右半部
4. _ ( _ ) sbox Ri = sbox XOR Ri //右半部经受S 盒替换得32bits
5. _ ( _ ) i i P R = P sbox R //右半部P 排列点名
6. 1 _ i i i R P R L + = ⊕ //左半部异或得到右半部为下一个右半部
10. 试用数学公式简单描述DES 的sbox 替代函数。
解:
函数S-box 替代揭秘: ( _ ) sbox XOR Ri
替换后的32 位用sbox 表示。
1 ( 1)*4 2 ( 1)*4 3 ( 1)*4 4 ( 1)*4 1 ( 1)*6 6 ( 1)*6 2 ( 1)*6 3 ( 1)*6 4 ( 1)*6 5 ( 1)*6 _ _ _ _ ( , ) j j j j j j j j j j j sbox b sbox b sbox b sbox b Sbox b b b b b b + − + − + − + − + − + − + − + − + − + − =
. 第j 个6 位组查表第j 个S 盒得到第j 个4 位组输出。
11. 什么是分组密码,分组密码和流密码有什么区别?
分组密码是一种加、解密算法,其将输入的明文分组当做一个整体处理,输
出一个等长的密文分组。
分组加密(block cipher):一次处理固定比特长度的分组,每次处理都有复杂的数据处理过程。
流加密(stream cipher):连续输入连续的比特流直到结束,同时密文也连续不断地输出。数据处理过程简单,只是做异或运算。
什么是单向陷门函数,公钥密码算法应满足哪些要求?
如果一个函数,如计算函数值很容易,并且缺少某些附加条件,计算函数的逆是不可行的,但是已知这些附加条件,可在多项式时间内计算出函数的逆,那么我们成这样的函数为单向陷门函数。即单项陷门函数是满足下列条件的一类不可逆的函数Fk:
若已知k 和x ,则容易计算Y=Fk(x )
若k 和y 已知,则容易计算x=Fk^-1(Y)
若已知Y 但未知K ,则计算x=Fk^-1(Y)是不可行的
公钥密码算法应该满足的要求:
B 产生一对密钥在计算上是容易的
已知公钥和要加密的信息M ,发送方A 产生相应的密文在计算上是容易的 接收方用自己的密钥解密收到的密文以恢复明文在计算上是很容易的 已知公钥和密文,攻击者要恢复明文在计算上是不可行的
已知公钥Pub ,攻击者要确定私钥PRb 在计算上是不可行的
加密和解密函数的顺序可以交换
哈希函数有哪些应用,哈希函数满足哪些要求?
单项散列函数是消息认证码的一种变形。和消息认证码一样,散列函数输入的是可变长度的消息,输出的是固定长度的散列值。与消息认证码不同的是,散列函数不需要密钥,它是消息输入的函数。散列函数也可以叫做消息摘要。 哈希函数需要满足的要求:
H 可适应于任意大小的数据块
H 产生固定长度的输出
对任意给定的x ,计算H(x)是容易的,软件和硬件均可以实现
对任意的散列码h ,找到满足H(x)=h的x 在计算上是不可行的,有些文献中称之为单向性
对任何给定的分组,找到y 不等于x 且H(x)=H(y)的y 在计算上是不可行的,我们有时称之为抗弱碰撞性
找到任何满足H(x)=H(y)的偶对(x ,y )在计算上是不可行的。我们有时称之为抗强碰撞性
应用:
用对称密码对消息及附在其后的散列码加密,该方法提供了保密性和认证 用对称密码进队散列码加密。该方法提供了认证
用公钥密码和发送方的私钥对散列码加密,提供认证和数字签名
先用发送方的私钥对散列码加密,再用对称密码中的密钥对消息和上述结果加密,则既能保证保密性,又有数字签名
用散列函数而不适用加密函数可以提供认证
如果对整个消息和散列码加密,则(5)中的方法可提供保密性和认证