密码技术期末复习牛比版讲解.docx

上传人:b****7 文档编号:10413068 上传时间:2023-02-11 格式:DOCX 页数:14 大小:250.51KB
下载 相关 举报
密码技术期末复习牛比版讲解.docx_第1页
第1页 / 共14页
密码技术期末复习牛比版讲解.docx_第2页
第2页 / 共14页
密码技术期末复习牛比版讲解.docx_第3页
第3页 / 共14页
密码技术期末复习牛比版讲解.docx_第4页
第4页 / 共14页
密码技术期末复习牛比版讲解.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

密码技术期末复习牛比版讲解.docx

《密码技术期末复习牛比版讲解.docx》由会员分享,可在线阅读,更多相关《密码技术期末复习牛比版讲解.docx(14页珍藏版)》请在冰豆网上搜索。

密码技术期末复习牛比版讲解.docx

密码技术期末复习牛比版讲解

密码技术期末复习(牛比版)

一、填空:

1、Cryptologyincludethetwofields:

密码编码学和密码分析学,根据每次处理数据的多少可以把密码算法分为流密码和分组密码其代表算法有:

维基尼亚(RC4)和DES算法。

轮转机密钥空间有:

26(n次方)。

2、MonoalphabeticCipherhasatotalofkeys:

26!

;playfaircipherhas25!

keys。

3、IDEA算法的密钥长度为128bits,RC4算法的密钥长度为8-2048bits,AES4算法的密钥长度分别为128,192,256。

4、InEDScipherdatablockis64bitandtheinputkeyis56bitproduct48sub-key。

5、InSecurityservices,X.800definesitin5majorcategories:

数据机密性,认证,访问控制,数据完整性,非否认机制。

6、Considerthreeaspectsofinformationsecurity:

安全攻击、安全机制、安全服务。

7、SecurityMechanisms:

基于密码技术机制,常规机制。

8、密钥分发中心的认证协议(KDC):

该协议的缺点是不能防范重放攻击。

9、Typeofencryptionoperationsused:

置换,代换。

二、名词解释:

碰撞攻击(Collision):

一般是对Hash函数而言,即不同的数据,得到了相同Hash值,就称之为一次碰撞。

用数学语言表示,即对函数f(x),找到了x1,x2,且x1不等于x2,有f(x1)=f(x2)。

既然是把任意长度的字符串变成固定长度的字符串,所以,必有一个输出串对应无穷多个输入串,碰撞是必然存在的。

MD5算法:

输入:

任意长度消息输出:

128bit消息摘要处理:

以512bit输入数据块为单位。

TworequirementsforsecureuseofSymmetricencryption:

Astrongencryptionalgorithm;AsecretkeyknownonlyS/R。

加密算法必须是足够强的,发送和接受者继续安全的获得密钥并且保证密钥安全

computationalsecurity(计算上安全的满足):

破译密码的代价超出密文信息的价值;破译密码的时间超出密文信息的有效生命期。

Substitution(代换):

将明文元素映射为密文元素(每个元素映射成另一个元素)。

Permutation(置换):

将明文元素的位置进行系统的置换(元素重新排列)。

Private-keyalgorithm(私钥算法):

对称密码体制。

Public-keyalgorithm(公钥算法):

非对称密码体制。

unconditionalsecurity(无条件安全):

无论有多少可使用的密文,都不足以唯一确定密文所对应的明文。

Ellipticcurvecryptography(椭圆曲线密码学):

是基于椭圆曲线数学的一种公钥密码的方法。

Symmetricencryption:

对称加密。

Computersecurity:

一个工具的集合,用来保护数据,防止黑客的攻击。

Networksecurity:

在进行网络传输的过程中保护数据。

Internetsecurity:

在更大、更复杂的网络中传输保护数据。

Cryptanalysis(破解):

在不知道密钥情况下破击密文的准则。

Cryptography(编码学):

编码加密准则和思想的学习。

cryptology:

前两个的统称。

bruteforcesearch:

在不知道明文时,试每个key的基本攻击。

one-timepad:

一次一密,密钥只对一个人消息进行加解密,之后丢弃不用,每一个新消息都需要一个与其等长的新密钥。

流密码:

他是对称密码算法的一种,以单个元素作为基本处理单元,实现简单加密,速度快。

对称密钥体制:

经典的密码体制中,加密密钥与解密密钥是相同的,或者可以简单相互推导,也就是说:

知道了加密密钥,也就知道了解密密钥;知道了解密密钥,也就知道了加密密钥。

所以,加、解密密钥必须同时保密。

这种密码体制称为对称(也称单钥)密码体制。

最典型的对称加密算法是DES数据加密标准。

公钥密码体制:

公钥算法是基于数学函数而不是基于替换和置换的。

公钥密码学使用两个密钥:

公密钥、私密钥,其中公密钥可以公开,而私密钥需要保密。

仅根据密码算法和加密密钥来确定解密密钥在计算上是不可行的。

两个密钥中的任何一个都可以用来加密,另一个用来解密。

公钥密码可以用于加密、认证、数字签名等。

ECC:

椭圆曲线密码学(ECC,Ellipticcurvecryptography)是基于椭圆曲线数学的一种公钥密码的方法,ECC他是添加了模拟的模乘运算,叠加的是模拟的模幂运算。

需要困难的问题去当量于离散的log。

Q=KP,Q、P属于主要曲线,他是容易的计算Q的值给出K、P,但是是困难的去找到K给出Q、P,解决椭圆算法问题。

Eq(a,b)

离散对数:

选择一个素数p,设α与β为非0的模p整数,令)(modpxαβ≡,求x的问题成为离散对数问题。

如果n是满足nα)mod1p(≡的最小正整数,假设0nx<≤,我们记)(βαLx=,并称之为与α相关的β的离散对数(素数p可从符号中忽略

混淆:

使得密钥和明文以及密文之间的依赖关系相当复杂以至于这种依赖性对密码分析者来说是无法利用的。

目前主要采用替代运算以及非线性运算等。

在DES主要采用S盒替代。

扩散:

密钥的每一位数字影响密文的许多位数字以防止对密钥进行逐段破译,而且明文的每一位数字也应影响密文的许多位数字以便隐蔽明文数字统计特性。

最简单的扩散是置换。

 

三、简答:

1、写出并解释密码体制的形式化五元组,并指明加解密变换的约束关系,说明为什么,最后给出凯撒密码体质的形式化描述。

五元组:

M,它是全体明文的集合。

密文空间C,它是全体密文的集合。

密钥空间K,它是全体密钥的集合。

加密算法E,它是一族由M到C的加密变换。

解密算法D,它是一族由C到M的解密变换。

约束关系:

C=E(K,M),M=D(K,C)。

为什么(确保明文的唯一性)。

凯撒:

P={a,b,c···,z},C={a,b,c···,z},K={0,1,···25},Ep=(p+k)mod(26),Dc=(c-k)mod(26)。

2、根据密钥类型不同将密码体制分为两类:

一类是私钥密码体制(对称密码体制),另一类称为公钥密码体制(非对称密码体制)。

公钥密码体制6个部分:

明文,加密算法,公钥和私钥,密文,解密算法。

优缺点比较:

私钥加密体制:

优点:

运算速度快,密钥产生容易。

缺点:

1.当用户很多、分布很广时,密钥的分配的存储就成了大问题。

2.不能实现数字签名。

公钥密码体制:

优点:

1、在多人之间进行保密信息传输所需的密钥组和数量很小;2、密钥的发布不成问题;3、密钥系统可实现数字签名。

缺点:

公开密钥加密比私有密钥加密在加、解密时的速度慢。

异同点比较:

私钥密码体制的加密和解密均采用相同的密钥,或者从一个密钥能够容易的推出另一个密钥,而公钥密码体制的加密密钥和解密密钥是不同的,或者从一个密钥很难推出另一个密钥。

对称密钥加解密使用的同一个密钥,或者能从加密密钥很容易推出解密密钥;对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。

综合

混合密钥体制:

主要思想:

Thehybridschemeisathree-levelapproach;Apublic-keyschemeisusedtodistributethesecret-keyscheme’smasterkeys.;Themasterkeyisusedtodistributethesessionkeys;Thesessionkeyisusedtoencrypt/decryptthecommunicationdata。

具体通信过程:

1、数据发送者A用对称密钥把需要发送的数据加密。

2、A用B的公开密钥将对称密钥加密,形成数字信封,然后一起把加密数据和数字信封传给B。

3、B收到A的加密数据和数字信封后,用自己的私钥将数字信封解密,获取A加密数据时的对称密钥。

4、B使用A加密的对称密钥把收到的加密数据解开。

3、Hash函数和MAC的主要目的是解决什么信息安全问题,他们之间的区别和联系。

用来验证消息完整性。

MAC是一种需要使用key的算法,以可变长度的消息和key作为输入,产生一个认证码,拥有key的接收方产生一个验证码来验证消息的完整性。

Hash函数将可变长度的消息映射为固定长度的Hash值,对于MAC,Hash函数必须以某种方式和key捆绑起来。

Hash函数是不带密钥的,将任意长度的消息压缩成固定长度的消息摘要。

消息认证码是带密钥的,构造方法上通常基于Hash函数,比如HMAC,MDx-MAC。

也可以基于分组密码比如CBC类的MAC,还有就是基于泛Hash函数族。

总之MAC码可以看作是带密钥的Hash函数。

4、DES:

DES的分组长度64位,密钥长度56位,密钥空间2(56次方),攻击需要2(55次方);双重DES密钥长度168位,密钥空间2(112次方),攻击需要2(56次方)。

3DES密钥长度128位(112位有效)或192位(168位有效)。

3DES有三种不同的模式(分析度一样):

EEE3,使用3个不同的密钥进行加密;EDE3,使用3个不同的密钥,对数据进行加密、解密、再加密。

EEE2和EDE2,与前面模式相同,只是第1次和第3次使用同一个密钥。

最常用的3DES是EDE2。

5、中间人攻击过程(A和B希望交换密钥,C是攻击者):

1、为了进行攻击,C生成两个随机的私钥XD1和XD2,,然后计算相应的公钥YD1和YD2。

2、A将YA传递给B。

3、C截获了YA,将YD1传给B。

C同时计算K2=(YA)XD2modq。

4、B收到YD1,计算K1=(YD1)XD1modq。

7、A收到了YD2,计算K2=(YD2)XAmodq。

此时,A和B想,他们已共享了密钥,但实际上,B和C共享密钥K1,而A和C共享密钥K2。

接下来B和A之间的通信以下列方式泄密:

1、A发了一份加了密的消息M:

E(K2,M);2、C截获了该密消息,解密,恢复出M;3、C将E(K1,M)或E(K1,M‘)发给B,其中M‘是任意的消息。

第一种情况,C只是简单的窃听通信,而不是改变它。

第二种情况,C想修改给B的消息。

6、迭代轮数为什么是16次:

迭代轮数的选择标准是使密码分析的难度大于简单穷举攻击的难度,16层迭代的DES,差分密码分析需要2(55.1次方)次操作,穷举需要2(55次方)次操作,差分密码分析比穷举的效率要高一些。

7、分组密码的工作模式:

电码本(ECB),用相同的密钥分别对明文组加密;密文分组链接(CBC),加密算法的输入是上一个密文组和下一个明文组的异或;密文反馈(CFB),一次处理j位,上一块密文作文加密算法的输入,用产生一个伪随机数输出与明文异或作为下一块的输入;输出反馈(OFB),与CFB基本相同,只是加密算法的输入是上一次DES的输出;计数器(CTR),每个明文分组都与一个加密计数器相异或。

对每一个后续分组计数器递增。

9、ECDH描述:

1、全局公开量。

Eq(a,b),参数为a,b和q的椭圆曲线,其中q是素数或形为2(m次方)的整数;G,阶为n的椭圆曲线上的点,其中n是大整数。

2、用户A的密钥产生:

选择私有的nA,nA

3、用户B的密钥产生:

选择私有的nB,nB

4、用户A产生私密钥:

K=nA*PB。

5、用户B产生私密钥:

K=nB*PA。

10、将散列码用于消息认证的方法:

1、用对称密码对消息及附加在其后的散列码加密;2、用对称密码仅对散列加密;3、用公钥密码和发送方的私钥仅对散列加密;4、若既希望保证保密性又希望有数字签名,则先用发送方的私钥对散列码加密,再用对称密码中的密钥对消息和上述加密结果进行加密;5、使用散列函数但不使用加密函数来进行消息认证;6、如果对整个消息和散列码加密,则e中的方法可提供保密性。

11、HMAC设计思路:

1.在消息中使用散列函数:

2.其中K+填充大小是关键

3.OPAD,iPad都采用指定的填充常量

4.开销仅有3哈希的消息需要单独计算比

5.任何MD5,SHA-1,RIPEMD-160,可以使用

hash用途对应的几个图

(a)A→B:

EK[M||H(M)](c)A→B:

M||EKRa[H(M)]

提供保密——仅A和B共享K提供认证和数字签名

提供认证——加密保护H(M)加密保护H(M)

(b)A→B:

M||EK[H(M)]仅A能生成EKRa[H(M)]

提供认证——加密保护H(M)

(d)A→B:

EK[M||EKRa[H(M)]]

提供认证和数字认证

提供保密——仅A和B共享K

(e)A→B:

M||H(M||S)

提供认证——仅A和B共享S

(f)A→B:

EK[M||H(M)||S]

提供认证和数字签名——仅A和B共享S

提供保密——仅A和B共享K

四、分析题:

1、RSA算法设计,因式分解问题,密文膨胀。

RSA描述:

1、取两个素数p和q(保密)。

2、计算

(公开),

(保密)。

3、随机选取整数e,满足

(公开)。

4、计算d,满足

(保密)。

5、加密算法:

将明文分组,各组在

下可唯一表示,密文为:

6、解密算法:

RSA安全性:

基于因式分解困难。

RSA算法原理

实例

选择两个素数:

p=17和q=11;

计算n=pq=17×11=187;

计算ø(n)=(p–1)(q-1)=16×10=160

选择e,使其与ø(n)互素且小于ø(n)。

在此选择e=7

确定d:

d×e≡1mod160并且d<ø(n)。

因为23×7=161=10×160+1,符合要求。

所以选择d=23。

公布公钥KU={7,187}

保护私钥KR={23,17,11}

对于明文信息m=88(88<187)

加密:

C=887mod187

=[(884mod187)×(882mod187)×(881mod187)]mod187

=(88×77×132)mod187=11

881mod187=88

882mod187=(88×88)mod187=77

884mod187=[(882mod187)×(882mod187)]mod187

=(77×77)mod187=132

解密:

M=1123mod187=88

DH描述:

1、全局公开量:

q,素数;α,α

2、用户A的密钥产生:

选择秘密的xA,xA

3、用户B的密钥产生:

选择秘密的xB,xB

4、用户A计算产生密钥:

K=(yB)xAmodq。

5、用户B计算产生密钥:

K=(yA)xBmodq。

DH安全性:

基于离散对数分解困难。

2、DH算法设计,离散对数问题,中间人攻击:

DH算法设计:

1.对于所有用户

选择一个大素数或者多项式q(公开)

α作为modq的幂根(公开)

2.对于用户A获取密钥:

选择一个私钥xA

计算它的公钥yA=α^xAmodq

3.对于用户B获取密钥:

选择一个私钥xB

计算它的公钥yB=α^xBmodq

4.每个用户都公开它的公钥

5.可以获取的信息有{α,q,yA,yB}

6.共享会话密钥对于用户A和B是KAB

DES-EDE3的时间复杂度是多少?

给出具体方法

C=EK3(DK2(EK1(P)))

⇒X=DK3(C)=DK2(EK1(P))

对所有2112个密钥(k1k2),DK2(EK1(P)),对结果排序

对所有256个密钥(k3),解密C,对结果排序

3.逐个比较,找出K1,K2使得DK3(C)=DK2(EK1(P))

4.时间复杂度为max(2112,256)=O(2112)

用中间相遇攻击搜索

五、计算题:

Caesar(恺撒)密码

C=E(p)=(p+k)mod(26)

p=D(C)=(C–k)mod(26)

如k=3,则规定的替换如下:

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

a

b

c

于是明文hello变成密文为:

khoor

密钥只有25种,非常容易被破解。

Playfair密码

在单表替换中长密钥并没有提供足够的理想的安全性,增强安全性的一个途径是对多个字母组合进行加密。

Playfair将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文的双字母组合。

-构造密钥矩阵

首先填入密钥,矩阵剩余部分填入其他的字母。

例如,使用密钥MONARCHY,构造出来的密钥矩阵如下:

接着,使用密钥矩阵进行加密:

加密规则:

按成对字母加密

相同对中的字母加分隔符(如x)

Balloon->balxloon

同行取右边:

on->na

同列取下边:

ba->ib

其他取交叉:

lx->qt;lo->fa

Balloon->balxloon->ibqtfana

Vigenere密码

另一种增强安全性的方法是使用多表替换,破坏语言的统计特性,使用相关的单表代换规则,用密钥选择决定使用那个代换表。

1、用yunnanuniversity作密钥,加密security,然后再解密该密文信息

提示:

用单表替换密码加密,把yunnanuniversity中重复的字母去掉,剩下的按字母表顺序写下作为密钥

Plain:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Cipher:

YUNAIVERSTBCDFGHJKLMOPQWXZ

加密结果(密文):

lnrggcgvlgvmqyki

解密密文(明文):

schoolofsoftware

加密结果(密文):

linoksmx

解密密文(明文):

security

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1