当前位置:文档之家› 密码学——第8章 序列密码和移位寄存器

密码学——第8章 序列密码和移位寄存器

密码学——第8章 序列密码和移位寄存器
密码学——第8章 序列密码和移位寄存器

第八章序列密码和移位寄存器

香农证明了“一次一密”密码体制在理论上是不可破译的,促使人们长期以来一直寻求某种能仿效“一次一密”密码的密码体制,序列密码就是所寻求的方法之一。目前,序列密码是世界军事、外交等领域应用的主流密码体制。

序列密码的加、解密过程:

[1]将报文、语音、图像、数据等原始明文转换成明文数据序列;

[2]将转换后的数据序列用密钥序列进行逐位加密生成密文数据序列并发送

给接收者;

[3]接收者用相同的密钥序列对密文数据序列进行逐位解密恢复出明文序列。

●序列密码不存在数据扩展和错误传播,实时性好,加解密实现容易。

序列密码的发展历程:

●Vernam密码最早的二进制序列密码系统。当Vernam密码中的密钥序列

为完全随机的二进制序列时,它就是“一次一密”密码。但其密钥产生分配和管理都极为困难,故未得到广泛应用。

●随着微电子技术和数学理论的发展,基于伪随机序列的序列密码成为当前

最通用的密码系统。这种序列密码中,加、解密的密钥序列都是伪随机序列。

●伪随机序列是由密钥流产生器产生的。密钥流产生器实际上就是通过给定

算法产生通常是0-1数据流的密钥流。

伪随机序列:

序列密码可看成多表密码的一种,其密钥流是有周期的,因为密钥流是周期的,所以要完全做到随机非常困难。一般,希望密钥流的周期尽可能大,至少应与明文的长度相等。由于这种密码的密钥序列不可能做到随机,只要求截获比周期短的一段密文时不至泄露更多的信息,故这样的序列称为伪随机序列。

序列密码的安全保密性主要依赖于密钥序列,因此研究什么样的伪随机序列可以作为序列密码的密钥序列就成为序列密码研究中的主要问题,即序

列密码的关键是产生密钥序列的算法。

8.1 序列密码的一般原理

假设序列密码中

● M 为明文空间是由可能的二进制数字序列组成的集合

● K 为密钥空间,K k ∈为控制算法A 产生长密钥序列的一个短密钥。

序列密码的成败取决于算法A 的保密程度和复杂程度,各国的核心密码

都不公布算法A 。序列密码的加、解密过程:

● 对于每一个短密钥K k ∈,由算法A 确定一个二进制序列 21)(k k k A =。 ● 加密时,当明文n m m m m M m 21,=∈时对n i ,,2,1 =,计算i i i k m c ⊕=,则密文为n c c c k m E c 21),(==。

● 解密时,对n i ,,2,1 =,计算i i i k c m ⊕=,恢复出明文。

通常称密钥k 为种子密钥。由k 通过算法A 产生的 21)(k k k A =序列称为密钥序列。

密钥源

密钥序列产生器

算法A

密钥序列产生器

算法A

信道

+

秘密信道

短密钥k

21m m

21c c

21k k

21k k +

21m m 图 8.1 序列密码系统

短密钥k

因此,序列密码的安全性主要依赖于密钥序列 21)(k k k A =,当 21k k 是离散无记忆的二进均匀分布信源产生的随机序列时,则该密码系统是一次一密密码。但实际上)(k A 是由k 通过确定性算法产生的伪随机序列,故该系统不再是完全保密的。

设计序列密码系统的关键是设计密钥序列)(k A ;破译序列密码也只需求出所使用的)(k A 。

序列密码系统中密钥序列设计应考虑如下因素:

[1] 系统的安全保密性;

[2] 密钥易于分配、保管、更换; [3] 产生密钥序列简单、快速。

目前,密钥序列的产生大多数是基于移位寄存器。

为达到安全保密性要求,序列密码的密钥序列应满足伪随机准则:

[1] 极大的周期。现代密码机的数据率为108bit/s ,如果10年内不使用

重复的{}i k ,要求{}i k 的周期>3×1016或255。

● 周期长,是为了不至使通过两组密文相加的结果和语言冗余度分析

就能获得一些关于明文的信息;

[2] 良好的随机统计特性,即序列中每位接近均匀分布。

● 良好的随机特性是为了使密钥序列能很好地掩盖住明文,以抵抗“已

知明文攻击”;

[3] 序列线性不可预测性充分大。

● 线性不可预测性是为防止从部分密钥序列通过线性关系简单的推导

出整个密钥序列的测度。

上述三个准则是保证序列密码安全性的必要条件,但不是充分条件。一般随设计密钥产生器方法的不同,确保系统安全性的要求也不同。实用中最感兴趣的是GF (2)上的序列密码。 群的概念

定义*1 给定一集合{} ,,b a G =和该集合上的运算*,满足下列四条件作的代数系统>*< ,G 称为群:

● 封闭性:若G b a ∈,,则存在C c ∈,使c b a =* ● 结合律成立:G c b a ∈,,恒有)()(c b a c b a **=**

● 存在单位元素e :即存在G e ∈,对G a ∈?,恒有a a e e a =*=*

● 存在逆元素:对于G a ∈,恒有G b ∈,使e a b b a =*=*,元素b 称为a 的逆元素,用1-a 表示,即1-=a b 。

若对G b a ∈?,有a b b a *=*则称>*< ,G 为阿贝尔(Abel )群。为简便起见,简记b a *为ab 。

域的概念 定义*2

F 是至少含有两个元素的集合,对F 定义了两种运算“+”和“*”,

并且满足以下三条件的代数系统>*+<,,F 称为域。

● F 的元素关于运算“+”构成阿贝尔群,设单位元为0。 ● {}0\F 关于运算构成阿贝尔群。 ● 对于F c b a ∈,,分配律成立。即

b

c a c b a c c b c a c b a *+*=+**+*=*+)()(

若F 域的元素有限个,则称之为有限域或伽罗瓦(Galois )域。{}0\F 表示集合F 除去元素{}0后的元素。

p 是素数,则{}1,,2,1,0-=p F 在p m od 的意义下关于“+”和“*”运

算构成的域用)(p GF 表示。

8.2 线性移位寄存器

移位寄存器是序列密码中产生密钥序列的一个主要组成部分。GF (2)上n 级反馈移位寄存器的表示见图8.2。图中

n

a 1

-n a 2

a 1

a )

,,,(21n a a a f

输出序列

图 8.2 n 级反馈移位寄存器

● 标有a 1, a 2, …, a n -1, a n 的小方框表示(0,1)二值存储单元,信号流从左向右。

这n 个二值存储单元称为该反馈移位寄存器的级。

● 在任一时刻,这n 级的内容构成该反馈移位寄存器的状态,即反馈移位

寄存器的状态对应于一个GF (2)上的n 维向量,共有2n 种可能的状态。 ● 每一时刻的状态可用n 长序列:a 1, a 2, …, a n ,或n 维向量 f (a 1, a 2, …, a n )

表示。其中a i为当时第i级存储器的内容。

●在主时钟确定的周期区间上,每一级存储器a i都将其内容向下一级a i-1

传递,并根据存储器当时的状态计算 f (a1, a2, …, a n)作为a n下一时间的内容。

●称函数f (a1, a2, …, a n)为反馈函数,它是n元布尔函数,即n个变元a1,

a2, …, a n可以独立的取0和1这两个可能的值。对n个变元a1, a2, …, a n 作与、或、取反等运算,最后函数值也为0或1的函数。这样的反馈函数共有n22。

●在时钟脉冲时,如果反馈移位寄存器的状态为

S t=(a t , a t+1 , …, a t+n-1 )

a t+n= f (a t , a t+1 , …, a t+n-1 ) (1)

a t+n又是移位寄存器的输入。在a t+n的驱动下,移位寄存器的各个数据向

前推移一位,使状态变为

S t+1=(a t+1 , a t+2 , …, a t+n ) (2) 同时整个移位寄存器的输出为a t 。由此得到一系列数据

a1 ,a2 ,...,a n, (3)

满足关系式(1),称无穷序列(2)为一个反馈移位寄存器序列。

定义8.1序列a1, a2, …, a n, …称为周期序列,若存在正整数T使得

a i+T = a i , i =1, 2, …

满足(3)式的最小正整数T称为序列{}i a的周期。

若移位寄存器的反馈函数f (a1, a2, …, a n)是a1, a2, …, a n的线性函数,则称为线性移位寄存器(LFSR),否则称为非线性移位寄存器。

设f (a1, a2, …, a n)为线性函数,则f可写成

f (a1, a2, …, a n)=C n a1⊕C n-1 a2⊕…⊕C1 a n

其中C i=0或1,C1, C2, …, C n为反馈系数。二进制下,C1, C2, …, C n的作用相当于一个开关,用断开和闭合表示0和1,这样的线性函数共2n个。

线性移位寄存器如图8.4所示。

n

a 1-n a 2

a 1a

输出序列

图 8.4

1

C 2

C 1

-n C n

C

输出序列{}t a 满足

a n +t =C n a t ⊕C n -1 a t +1⊕…⊕C 1 a n+t -1

其中t 为非负正整数。

例8.1 有一三级移位寄存器如图8.3所示。

3

a 2

a 1

a 3

21321),,(a a a a a a f ⊕=输出

图 8.3

其中初态为S 1=(a 1, a 2, a 3)=(1,0,1)。 解 ,

)1,0,1(),,(3211==a a a S ,输出为11=a

11)01(,)1,1,0(),,(32144322=⊕?=⊕===a a a a a a a S ,输出为02=a 11)10(,)1,1,1(),,(43255433=⊕?=⊕===a a a a a a a S ,输出为13=a 01)11(,)0,1,1(),,(54366544=⊕?=⊕===a a a a a a a S ,输出为14=a 10)11(,)1,0,1(),,(65477655=⊕?=⊕===a a a a a a a S ,输出为15=a 11)01(,)1,1,0(),,(76588766=⊕?=⊕===a a a a a a a S ,输出为06=a 01)11(,)0,1,1(),,(87699877=⊕?=⊕===a a a a a a a S ,输出为17=a

状态(a 1, a 2, a 3)

输出 S 1 1 0 1 1 S 2 0 1 1 0 S 3 1 1 1 1 S 4 1 1 0 1 S 5 1 0 1 1 S 6

1

1

S 7 1 1 1 1 S 8 1 1 0 1 S 9 1 0 1 1 S 10 0 1 1 0 S 11 1 1 1 1 S 12 1 1 0 1 S 13 1 0 1 1 S 14 0 1 1 0 ┇

所以此移位寄存器输出序列为101110111011…,它是周期为4的序列。

例8.2 有一个五级线性移位寄存器如图8. 5所示。

5

a 4

a 2

a 1

a 输出序列

图 8.5

3

a

其中初态为S 1=(a 1, a 2, a 3, a 4, a 5)=(10011)。 解 )10011(),,,,(543211==a a a a a S ,输出为11=a

),,,,(654322a a a a a S =,其中),,,,(543216a a a a a f a =。

对于五级线性移位寄存器应有

514233241554321),,,,(a c a c a c a c a c a a a a a f ⊕⊕⊕⊕=

根据图8. 5可知

235140 1 ,c c c c c =====

4154321),,,,(a a a a a a a f ⊕=

)00110(),,,,(,011654322416===⊕=⊕=a a a a a S a a a , 输出为02=a 110,)01101(),,,,(527765433=⊕=⊕===a a a a a a a a S , 输出为03=a 000,)11010(),,,,(637876544=⊕=⊕===a a a a a a a a S , 输出为04=a 011,)10100(),,,,(749987655=⊕=⊕===a a a a a a a a S , 输出为15=a

101,)01001(),,,,(85101098766=⊕=⊕===a a a a a a a a S , 输出为06=a 000,)10010(),,,,(961111109877=⊕=⊕===a a a a a a a a S ,输出为17=a 011,)00100(),,,,(10712121110988=⊕=⊕===a a a a a a a a S , 输出为08=a 000,)00100(),,,,(118131312111099=⊕=⊕===a a a a a a a a S ,输出为09=a 000,)01000(),,,,(12914141312111010=⊕=⊕===a a a a a a a a S ,输出为010=a 000,)10000(),,,,(131015151413121111=⊕=⊕===a a a a a a a a S ,输出为111=a

101,)00001(),,,,(141116161514131212=⊕=⊕===a a a a a a a a S , 输出为012=a ┇

输出序列为:101101001000010101110110001111100110…,周期为25-1=31。

在线性移位寄存器中总是假定c 1, c 2, …, c n 中至少有一个系数不为0。若只有一个系数不为0,设仅有a j 项非0,实际上是一种延迟装置,一般对于n 级线性移位寄存器,总假定c n =1。

线性移位寄存器输出序列的性质完全由其反馈函数决定。

● n 级线性移位寄存器最多有n 2个不同的状态。若其初始状态为0,则其状态恒为0;若其初始状态为非0,则其后继状态不会为0。 ● n 级线性移位寄存器的状态周期≤12-n ;其输出序列的周期=状态周期≤12-n ;

● 选择合适的反馈函数可是序列的周期达到最大值12-n ,称此时的输出序列为最大长度线性移位寄存器,简称为m 序列。

8.3 线性移位寄存器的一元多项式表示

设n 级线性移位寄存器的输出序列{}i a 满足递推关系

k n n k n k n k a c a c a c a ⊕⊕⊕=-+-++ 2211 (4)

对任何1≥k 成立。这种递推关系可用一个一元n 次多项式表示

n n x c x c x c x p ++++=2211)( (5)

称(5)式为该线性寄存器的联系多项式或特征多项式。

设n 级线性移位寄存器对应于递推关系,则有2n 个递推序列,其中非恒

为0的序列有2n -1个。令这非零的序列全体为[])(x P G 。对[])(x P G 中任一序列j a ,有母函数

∑∞

=-=11)(i i i x a x A 。

定理8.1 设n n x c x c x c x p ++++=2211)(是)2(GF 上的多项式,且递推序列

{}[])(x P G a i ∈,令

∑∞

=-=11)(i i i x a x A

)

()

()(x p x x A φ=

其中 ∑∑=-=--=i

j j j n

i i

n i n x a x

c x 1

11)(φ

根据定理8.1,若序列{}[])(x p G a n t ∈,其中)(x p n 是n 级线性移位寄存器

的特征多项式,则母函数为)()()(x p x x A φ=,其中的次数低于n ,最多为1-n 次。

定理8.2 )()(x q x p 的充要条件是[][])()(x q G x p G ?。

● 定理8.2说明n 级线性移位寄存器产生的序列可用级数更多的线性移位寄

存器来实现。

定义8.2 设)(x p 为)2(GF 上的n 次多项式,使1)(-p x x p 的最小p 称为)(x p 的周期或)(x p 的阶。

定理8.3 设)(x p 为)2(GF 上的n 次多项式,且)(x p 是序列{}i a 的特征多项式,p 为)(x p 的阶,则{}i a 的周期为p r 。

● n 级线性移位寄存器输出序列的周期r 不依赖于初始条件,而依赖于特征

多项式)(x p 。

定理8.4 若)(x p 是n 次不可约多项式,且)(x p 的阶为m ,{}[])(x p G a i ∈则序列{}i a 的周期为m 。

● 定理8.4说明了特征多项式满足什么条件,n 级线性移位寄存器的输出序

为m 序列。

定理8.5 n 级线性移位寄存器产生的状态序列最大周期12-n 的必要条件是其特征多项式是不可约的。 ● 定理8.5的逆命题不一定成立。

定义8.6 )(x p 为n 次不可约多项式,若)(x p 的阶为12-n ,称)(x p 为n 次本原多项式。

定理8.7 设{}[])(x p G a i ∈,则{}i a 为m 序列的充要条件是)(x p 为n 次本原多项式。

8.4 m 序列的伪随机性

随机序列的一般特性

设序列{})(321 a a a a i =为序列10-,称序列中形式为011101

个k 的一段为一个长为k 的1游程,100010

个k 的一段为一个长为k 的0游程。 定义8.4 )2(GF 上周期为T 的序列{}i a 的自相关函数定义为

.10,)1()1(1)(1

-≤≤--=∑=+T T R T

k a a a k k τττ

● 周期序列{}i a 的自相关函数表示序列{}i a 与{}τ+i a 在一个周期内对应位相

同的位数与对应位相异的位数之差的一个参数(T

周期相异位的数目

相同位的数目-=

)。

● 当0=τ时,1)(=τa R ;当0≠τ时,)(τa R 称为异相自相关函数。异相自

相关函数是序列随机性的一个指标。 伪随机周期序列应满足以下三个随机性公设:

[1] 在序列的一个周期内,0与1的个数相差至多为1。

[2] 在序列的一个周期内,长为1的游程数占游程总数的21,长为2的游程

数占游程总数的221,长为i 的游程数占游程总数的i 21,且在等长的游程中0的游程个数和1的游程个数相等。

[3] 异相自相关函数是一个常数。

● 严格满足上述三个公设的为随机序列是很少的。

● 公设[1]说明10-序列中0与1的出现的概率“基本”相同。 ● 公设[2]说明0与1在第n 个位置上出现的概率相同。

● 公设[3]说明若将{}i a 与{}τ+i a 比较,无法得到关于{}i a 的实质性信息。 从密码系统角度看一个伪随机序列应满足的条件

[1] {}i a 的周期相当大。

[2]

{}i a 的确定是计算上容易的。

[3] 由密文及相应明文的部分信息,不能确定整个{}i a 。

定理8.7 )2(GF 上n 级m 序列{}i a 具有如下性质:

[1] 在一个周期内,0和1出现次数分别为121--n 和12-n 次。

[2] 在一个周期内,总游程数为12-n ,对21-≤≤n i ,长为的游程有12--i n 个,

且1,0游程各半,长为1-n 的0游程一个,长为n 的1游程一个。

[3]

{}i a 的自相关函数为

?????-≤<--==2

20,1

21

0,

1)(n

n

R τττ当当

即异相自相关函数是一个常数。

● 定理8.7表明,m 序列具有很好的随机统计特性。

8.5 m 序列密码的破译

利用线性移位寄存器产生的m 序列设计加密算法,其构思如图8.6所示。

n

a 1

-n a 2

a 1a

密钥流k

图 8.6

1C 2

C 1

-n C n

C 明文m

密文c

● 算法的密钥取决于初始状态和n c c c ,,,21 的值。

● n 级线性移位寄存器对应的多项式是本原多项式,有)(n λ个,非0初始状态有12-n 个,故不同的密钥或密钥流共有)12)((-n n λ个。 ● 特征多项式)(x p 决定了线性移位寄存器输出序列的性质。当特征多项式为本原多项式时,线性移位寄存器输出序列周期最长为12-n ,随机性良好。但是,线性移位寄存器需例密码时可破译的。

设h S 和1+h S 表示线性移位寄存器输出序列任意连续的两个向量

?????

???????=????????????=++++-++n h h h h n h h h h a a a a a a 21111,S S

假定序列{}j a 满足线性递推关系

h n n h n h n h a C a C a C a ⊕⊕⊕=-+-++ 2211 (6)

式(6)可以表示成

???????????

??????????

????

???????=????????????????-+-++--+-+++12112

112110

00100001

0n h n h h h n n n n h n h h h a a a a C C C C a a a a

h h MS S =+1

式中

???????

?

????????=--12110

001000010C C C C n n n

M 矩阵M 称为反馈多项式n n x C x C x C x p ++++= 2211)(的伴侣矩阵,M 和

)(x p 可以互相确定。

假定破译者知道了一段长n 2位的明密文对,即已知

n n c c c c m m m m 221221, ==

于是,可求出一段长n 2位的密钥序列

n k k k K 221 =

其中i i i c m k ⊕=。

由此可推出线性移位寄存器的连续1+n 个状态:

)()()()()()(22122113

213

2221211'

='='

='='='=++++++n

n n n n n n n n n

n a a a k k k S a a a k k k S a a a k k k S

作矩阵

)(21n S S S =X

因为

X

)()()(1121

132

2111

221C C C a a a a a a

a a a C C C a a a n n

n n n

n n n n n n n

-++-++=?

??

?

????????=

若X 可逆,则

1221

11)()(-++-=X n n n n n

a a a C C C

例8.3 假设破译者得到密文串101101011110010和相应的明文串011001111111001。同时假定攻击者也知道密钥流是使用5级线性移位寄存器产生的,试破译该密码系统。

解 有明文(15位)、密文(15位)对可求出长为15位的密钥序列

m i

0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 c i

1 0 1 1 0 1 0 1 1 1 1 0 0 1 0

k i =m i ⊕c i 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1

有开始10个密钥流比特得到上述矩阵方程

??????

??????????=98765876547654365432

5432112

345109876)()(a a a a a a a a a a a a a a a a a a a a a a a a a C C C C C a a a a a 推出线性移位寄存器的连续6个状态为:

)01011()

()(54321543211===a a a a a k k k k k S )00101()()(65432654322===a a a a a k k k k k S )10010()()(76543765433===a a a a a k k k k k S )01001()()(87654876544===a a a a a k k k k k S )00100()

()(98765987655===a a a a a k k k k k S

)

00010()

()(109

8

7

6

109

8

7

6

6===a a a a a k k k k k S

故上述矩阵方程可写为

???

??

?

?

?

????????=0010001001100100010101011)()00010(12

345C C C C C

所以

1

12

345001000100110010

0010101011)00010()(-???

??

?

?

?

?????

???=C C C C C

又因

???

??

?

?

?

????????=???

?

?

?

?

?

????????-0110111010100000100110010

00100

01001100100010101011

1

从而得

)

01001(01101

1101010000

010*******

)00010()(12

345=????

?

?

?

??????

???=C C C C C

由此可的该密码系统的密钥流产生迭代公式为

3255++⊕=i i i a C a C a

8.6 非线性序列

线性移位寄存器序列密码在已知明文攻击下可破译的事实促使人们向非

线性领域探索。主要研究涉及: ● 非线性移位寄存器

● 对线性移位寄存器的非线性组合

● 利用非线性分组密码产生非线性序列、存储变换 非线性移位寄存器

若令图8.2中的反馈函数),,,(21n a a a f 为非线性函数便构成非线性移位

寄存器。

● 非线性移位寄存器的输出序列为非线性序列 ● 输出序列的周期最大可达n 2

● 称周期达到最大的非线性移位寄存器序列为M 序列。

M 序列具有以下定理所述的随机统计特性:

定理8.8 在n 级M 序列的一个周期内,0与1的个数各为12-n ,在M 序列的一个周期内,总游程数为12-n ,对21-≤≤n i ,长为i 的1游程数为i n --12,其中0,1游程各半,长为1-n 的游程不存在,长为n 的0游程和1游程各1个。

定理8.9 )2(GF 上n 级M 序列的数目为n

n --122

个。

● n 级移位寄存器共有n

22种不同的反馈函数,其中线性函数只有n 2种,其

余均为非线性的。所以非线性反馈函数的数量是巨大的。

● 并不是所有非线性反馈函数都能产生良好的密钥序列,其中M 序列是比

较好的一种。

例8.4 令32313211),,(,3a a a a a a a f n ⊕⊕⊕==,初态为)101()(321=a a a ,是求此非线性移位寄存器的输出序列及周期。 解 ,

)1,0,1(),,(3211==a a a S 输出为11=a

)1,1,0(),,(,1)10(1)11(1432232314==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为02=a

)1,1,1(),,(,1)11(1)10(1543343425==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为13=a

)0,1,1(),,(,0)11(1)11(1654454536==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为14=a

)0,0,1(),,(,0)01(1)01(1765565647==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为15=a

)0,0,0(),,(,0)00(1)01(1876676758==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为06=a

)1,0,0(),,(,1)00(1)00(1987787869==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为07=a

)0,1,0(),,(,0)10(1)10(110988989710==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a

输出为08=a

)1,0,1(),,(,1)01(1)00(111109*********==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a 输出为19=a

)1,1,0(),,(,1)10(1)11(112111010111011912==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a 输出为010=a

)1,1,1(),,(,1)11(1)10(1131211111211121013==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a 输出为111=a

)0,1,1(),,(,0)11(1)11(1141312121312131114==∴=?⊕⊕⊕=⊕⊕⊕=a a a S a a a a a 输出为014=a ┇

状态(a 1, a 2, a 3)

输出

S 1 1 0 1 1 S 2 0 1 1 0 S 3 1 1 1 1 S 4 1 1 0 1 S 5 1 0 0 1 S 6 0 0 0 0 S 7 0 0 1 0 S 8 0 1 0 0 S 9 1 0 1 1 S 10 0 1 1 0 S 11 1 1 1 1 S 12 1 1 0 1 ┇

所以此移位寄存器输出序列为101110001011…,它是周期为8的序列。

密码学与网络安全简答题总结

密码学简答题 By 风婴 1.阐述古典密码学中的两种主要技术以及公钥密码学思想。 答:代换(Substitution)和置换(Permutation)是古典密码学中两种主要的技术。代替技术就是将明文中每一个字符替换成另外一个字符从而形成密文,置换技术则是通过重新排列明文消息中元素的位置而不改变元素本身从而形成密文。 公钥密码的思想:密码系统中的加密密钥和解密密钥是可以不同的。由于并不能容易的通过加密密钥和密文来求得解密密钥或明文,所以可以公开这种系统的加密算法和加密密钥,用户则只要保管好自己的解密密钥。 2.简述密码分析者对密码系统的四种攻击。 答:密码分析者对密码系统的常见的攻击方法有: 1)唯密文攻击:攻击者有一些消息的密文,这些密文都是采用同一种加密方法生成的。 2)已知明文攻击:攻击者知道一些消息的明文和相应的密文。 3)选择明文攻击:攻击者不仅知道一些消息的明文和相应的密文,而且也可以选择被 加密的明文。 4)选择密文攻击:攻击者能选择不同的被加密的密文,并得到对应的明文。 3.信息隐藏技术与数据加密技术有何区别? 答:信息隐藏不同于传统的密码学技术,它主要研究如何将某一机密信息秘密隐藏于另一共开的信息中,通过公开信息的传输来传递机密信息。而数据加密技术主要研究如何将机密信息进行特殊的编码,以形成不可识别的密文形式再进行传递。对加密通信而言,攻击者可通过截取密文,并对其进行破译,或将密文进行破坏后再发送,从而影响机密信息的安全。但对信息隐藏而言,攻击者难以从公开信息中判断机密信息是否存在,当然他们就不易对秘密信息进行窃取、修改和破坏,从而保证了机密信息在网络上传输的安全性。 为了增加安全性,人们通常将加密和信息隐藏这两种技术结合起来使用。 4.试说明使用3DES而不使用2DES的原因。 答:双重DES可能遭到中途相遇攻击。该攻击不依赖于DES的任何特性,可用于攻击任何分组密码。具体攻击如下: 假设C = E K2[E K1[M]],则有X = E K1[M] = D K2[C] 首先用256个所有可能的密钥K1对 M加密,将加密结果存入一表并对表按X排序。然后用256个所有可能的密钥K2对C解密,在上表中查找与C解密结果相匹配的项,如找到,记录相应的K1和K2。最后再用一新的明密文对检验上面找到的K1和K2。 以上攻击的代价(加密或解密所用运算次数)<= 2×256,需要存储256×64比特。抵抗中间相遇攻击的一种方法是使用3个不同的密钥作3次加密,从而可使已知明文攻击的代价增加到2112。 5.分组密码运行模式主要有哪几种?并简要说明什么是CBC模式? 答:分组密码的运行模式主要有四种:电子密码本ECB模式、分组反馈链接CBC模式、密文反馈链接CFB模式和输出反馈链接OFB模式。

北方工业大学密码学平时作业答案公钥密码作业答案

四、公钥密码(3,4,5,6;10,12;13,18,19,20) 3. 用Fermat定理求3201 mod 11 。 解:对于模运算,有结论(a×b) mod n = [ (a mod n)×(b mod n)] mod n 由Fermat定理,可知310≡1 mod 11,因此有 (310)k ≡1 mod 11 所以3201 mod 11= [(310)20×3] mod 11 = [( (310)20 mod 11)×(3 mod 11)] mod 11 = 3。 4. 用推广的Euclid算法求67 mod 119的逆元。 解:q g u v ~ 119 1 0 ~ 67 0 1 1 5 2 1 -1 1 15 -1 2 3 7 4 -7 2 1 -9 16 ( 注:1 = 119×(-9) + 67×16 ) 所以67-1mod 119 = 16 5.求gcd(4655, 12075) 。 解:12075 = 2×4655 + 2765 4655 = 1×2765 + 1890 2765 = 1×1890 + 875 1890 = 2×875 + 140 875 = 6×140 + 35 140 = 4×35+0 所以gcd(4655, 12075)=35。 6.求解下列同余方程组 2mod3 1mod5 1mod7 x x x ≡ ? ? ≡ ? ?≡ ? 。 解:根据中国剩余定理求解该同余方程组, 记a1=2, a2=1, a3=1, m1=3, m2=5, m3=7, M=m1×m2×m3=105, M1=M/m1=35, M1-1 mod m1 = 35-1 mod 3 = 2, M2=M/m2=21, M2-1 mod m2 = 21-1 mod 5 = 1, M3=M/m3=15, M3-1 mod m3 = 15-1 mod 7 = 1 所以方程组的解为x≡(M1M1-1a1 + M2M2-1a2 + M3M3-1a3) mod M ≡(35×2×2+21×1×1+15×1×1) mod 105 ≡176 mod 105≡71 mod 105 10.设通信双方使用RSA加密体制,接收方的公开钥是(e,n)=(5,35),接收到的密文是C=10,求明文M

07密码学与网络安全第七讲

密码学与网络安全第七讲身份鉴别

讨论议题 1.鉴别的基本概念 2.鉴别机制 3.鉴别与交换协议 4.典型鉴别实例 一、鉴别的基本概念 1、鉴别--Authentication 鉴别就是确认实体是它所声明的,也就是确保通信是可信的。鉴别是最重要的安全服务之一,鉴别服务提供了关于某个实体身份的保证。(所有其它的安全服务都依赖于该服务);鉴别可以对抗假冒攻击的危险。 2、鉴别的需求和目的 1)问题的提出:身份欺诈; 2)鉴别需求:某一成员(声称者)提交一个主体的身份并声称它是 那个主体。 3)鉴别目的:使别的成员(验证者)获得对声称者所声称的事实的 信任。 3、身份鉴别 定义:证实客户的真实身份与其所声称的身份是否相符的过程。依据: 1)密码、口令等; 2)身份证、护照、密钥盘等

3)指纹、笔迹、声音、虹膜、DNA等 4)协议 4、鉴别协议 ?双向鉴别(mutual authentication) ? 单向鉴别(one-way authentication) 1)双向鉴别协议:最常用的协议。该协议使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。 ? 基于鉴别的密钥交换核心问题有两个: –保密性:确保信息的机密性,阻止截取、窃听等攻击; –实效性;阻止冒充、篡改、重放等攻击。 为了防止伪装和防止暴露会话密钥,基本身份信息和会话密钥信息必须以保密形式通信,这就要求预先存在密钥或公开密钥供实现加密使用。第二个问题也很重要,因为涉及防止消息重放攻击。 鉴别的两种情形 ? 鉴别用于一个特定的通信过程,即在此过程中需要提交实体的身份。 1)实体鉴别(身份鉴别):某一实体确信与之打交道的实体正是所需要的实体。只是简单地鉴别实体本身的身份,不会和实体想要进行何种活动相联系。 在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。这种服务在连接建立或在数据传送阶段的某些时刻提供使用, 使用这种服务可以确信(仅仅在使用时间内):一个实体此时没有试图冒

网络安全与密码学题目

1、请分别举例说明什么是保密性原则?完整性原则?认证原则? 不可抵赖原则?访问控制原则?可用性原则?为了实现这六个安全原则,主要采用哪些密码技术? 2、一般病毒、蠕虫、特洛伊木马三者之间最主要的差别是什么? 3、什么是密码技术?替换加密法与置换加密法有什么区别?请分 别举例说明替换加密法与置换加密法。 4、在保密通信中混淆与扩散有什么区别?请分别举两例加密算法 说明他们使用了混淆与扩散的技术。 5、请分别举例说明什么是流加密法与块(或分组)加密法? 6、中间人攻击的思想是什么?试分析采用Diffie-Hellman密钥交 换协议/算法进行公钥交换过程中可能存在的中间人攻击问题,要求用实例说明中间人攻击全过程。 7、试分析对称与非对称密钥加密体制的主要差别。假设A是发送 方,B是接收方,他们希望进行安全的通信,请用对称与非对称密钥加密体制的结合给出一个有效的安全方案。 8、 RSA的真正关键是什么?为什么SHA比MD5更安全? 9、什么是PKI?请你用你自己的语言解释这个缩写词的含义。试 举例分析一例使用PKI技术的案例。 10、给出最常用的三种认证类型及其实例。 11、什么是安全套接层(SSL)协议?它的主要作用是什么? 12、什么是PGP协议?它的主要作用是什么?请解释一下PGP的密 钥环概念。

13、你认为Linux比Windows 更安全吗?为什么操作系统会存在不 安全的威胁? 14、为什么数据库会存在不安全的威胁? 15、 Internet 的安全问题产生的主要原因是什么? 16、什么是防火墙?什么是入侵检测系统(IDS)?两者之间的主要 差别是什么? 17、什么是VPN? 18、什么是拒绝服务攻击?你认为如何阻止拒绝服务攻击? 19、什么是IP伪装攻击? 20、请给出一个需要安全多方计算的实例。

密码学作业参考答案

第1章绪论 1.1为什么会有信息安全问题的出现? 答题要点: (1)网络自身的安全缺陷。主要指协议不安全和业务不安全。协议不安全的主要原因 一是 Internet 从建立开始就缺乏安全的总体构想和设计;二是协议本身可能会泄漏口令等。业务不安全的主要表现为业务内部可能隐藏着一些错误的信息;有些业务本,难以区分出错原因;有些业务设置复杂,一般非专业人士很难完善地设置。 (2)网络的开放性。网络协议是公开的协议,连接基于彼此的信任,远程访问等,使 得各种攻击无需到现场就能成功。 (3)人的因素,包括人的无意失误、黑客攻击、管理不善等。 1.2简述密码学与信息安全的关系。 答题要点: 密码技术是实现网络信息安全的核心技术,是保护数据最重要的工具之一。 密码学尽管在网络信息安全中具有举足轻重的作用,但密码学绝不是确保网络信息安全的唯一工具,它也不能解决所有的安全问题。 1.3简述密码学发展的三个阶段及其主要特点。 答题要点:密码学的发展大致经历了三个阶段: (1)古代加密方法(手工阶段)。特点:基于手工的方式实现,通常原理简单,变化量小,时效性较差等。 (2)古典密码(机械阶段)。特点:加密方法一般是文字置换,使用手工或机械变换的 方式实现。它比古代加密方法更复杂,但其变化量仍然比较小。转轮机的出现是这一阶段的重要标志,利用机械转轮可以开发出极其复杂的加密系统,缺点是密码周期有限、制造费用高等。 (3)近代密码(计算机阶段)。特点:这一阶段密码技术开始形成一门科学,利用电子 计算机可以设计出更为复杂的密码系统,密码理论蓬勃发展,出现了以 DES 为代表的对称 密码体制和 RSA 为代表的非对称密码体制,制定了许多通用的加密标准,促进和加快了密 码技术的发展。 1.4近代密码学的标志是什么? 答:1949 年 Claude Shannon 发表论文 The communication theory of secrecy systems,1976 年 W.Diffie 和 M.Hellman 发表论文 New directions in cryptography,以及美国数据加密标准 DES 的实施,标志着近代密码学的开始。 1.5安全机制是什么?主要的安全机制有哪些? 答题要点: 安全机制是指用来保护网络信息传输和信息处理安全的机制。 安全机制可分为两类:特定的安全机制和通用的安全机制。 特定的安全机制包含:加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制和公证。 通用的安全机制包含:可信功能、安全标签、事件检测、安全审计跟踪和安全恢复。1.6什么是安全服务?主要的安全服务有哪些? 答题要点: 安全服务就是指在信息传输和处理过程中为保证信息安全的一类服务。 主要的安全服务包括:机密性、完整性、鉴别、非否认性、访问控制、可用性。 1.7简述安全性攻击的主要形式及其含义。 答题要点:

《密码学基础复习提要》

第一部分内容提要 1 引论 OSI:开发系统互联中的安全结构,提供了定义安全攻击、安全机制和安全服务的框架; 安全攻击:主动和被动攻击。被动攻击包括非授权阅读消息、文件以及流量分析;主动攻击包括对消息或文件的修改以及拒绝服务。 安全机制:一种处理过程,用来检测、阻止攻击或从被攻击的状态中恢复的机制。包括:加密算法、签名算法和认证协议。 安全服务:包括认证、访问控制、数据保密性、数据完整性、不可否认新以及可用性。 分析一个信息系统的安全问题: 注脚:对任何一个信息系统,系统安全方面的分析思路是:设定系统的安全需求,分析可能的攻击,配置相应的安全服务以满足需求,根据安全机制开发设计或者集成构建安全服务。 2 传统密码 对称密码是一种加密和解密使用相同密钥的体制,也称为传统密码。 对称密码利用密钥和加密算法将明文变为密文。运用相同的密钥将密文恢复成明文。 对密码的两种攻击方法:对密钥的穷举攻击(要求明文有结构和意义);对加密算法的密码分析,发现其缺陷降低i密钥攻击和难度。 传统对称密码:采用代换和置换技术。代换将明文元素映射为密文元素。置换将明文元素的位置进行系统的置换。转轮机是计算机出现前使用代换技术的复杂密码设备。 注脚:置换和代换是两种最基本的数据变换方法,保证其可逆就可以设计相应的密码算法。加密其实很简单:改掉原来的值,改掉原来值放的位置,但是记住你还要能改回来才行。 3 分组密码和DES 分组密码是一种将输入的明文以分组的方式处理的加密技术。 Feistel结构是一种常用的分组密码结构,它由许多轮构成,每轮中将分组的一半进行代换,然后和另外一半交换位置进行置换。 DES是最广泛应用的加密算法,它采用了Feistel 结构,简单高效,而且能进一步扩展到2DES和3DES。 注脚:Feistel是一种美妙的置换和代换网络,其美妙之处是他是那么简单而且遵从对称的原则,可以让加密和解密共用同一段代码。 4 数学基础——有限域 域是定义了加和乘算术运算的元素的集合。 模算术是一种整数算术,它将所有的整数约减为固定的集合,以保证计算的封闭性。 有限域在密码的若干领域有重要的应用。一个有限域就是有有限个元素构成的域。可以证明有限域的阶可以写成素数的幂形式。 阶为p的域可由模p的算术定义 阶为p n的域可由多项式算术来定义 注脚:基础代数的很多概念很颠覆我们习以为常了的小学算术,接触过这段内容,你起码留下这样的印象:原来四则运算是这样来的。 5 AES AES是一种分组密码,以取代DES,分组长度为128位,密钥长度为128,192,256 AES没有使用Feistel结构,每轮由四个单独的运算组成:字节代换,置换,有限于上的算术运算,以及密钥的异或。

密码学与信息安全的关系

密码学与网络信息安全 【论文摘要】本文以优化中小企业信息化管理为思想,以系统开发为宗旨从系统企业的需求到信息化需要系统的支撑,然后设计出进销存管理系统,最后实现进销存管理系统的整个过程。关键词:信息化进销存优化管理。 【论文关键词】密码学信息安全网络 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。 网络安全,这是个百说不厌的话题。因为在互联网上,每台计算机都存在或多或少的安全间题。安全问题不被重视,必然会导致严重后果。诸如系统被破坏、数据丢失、机密被盗和直接、间接的经济损失等。这都是不容忽视的问题。既然说到网络安全,我们经常提到要使用防火墙、杀毒软件等等。这些的确很重要,但是人们往往忽视了最重要的,那就是思想意识。 人类的主观能动性是很厉害的,可以认识世界、改造世界,正确发挥人的主观能动性可以提高认知能力。但是人类本身固有的惰性也是十分严重的,喜欢墨守成规、图省事。就是这点惰性给我的网络带来了安全隐患。据不完全统计,每年因网络安全问题而造成的损失超过300亿美元,其中绝大多数是因为内部人员的疏忽所至。所以,思想意识问题应放在网络安全的首要位置。 一、密码 看到这里也许会有读者以为我大放网词,那就先以我自己的一个例子来说起吧。本人也很懒,但是也比较注意安全性,所以能设置密码的地方都设置了密码,但是密码全是一样的。从E-mail信箱到用户Administrator,统一都使用了一个8位密码。我当初想:8位密码,怎么可能说破就破,固若金汤。所以从来不改。用了几年,没有任何问题,洋洋自得,自以为安全性一流。恰恰在你最得意的时候,该抽你嘴巴的人就出现了。我的一个同事竟然用最低级也是最有效的穷举法吧我的8位密码给破了。还好都比较熟,否则公司数据丢失,我就要卷着被子回家了。事后我问他,怎么破解的我的密码,答曰:只因为每次看我敲密码时手的动作完全相同,于是便知道我的密码都是一样的,而且从不改变。这件事情被我引以为戒,以后密码分开设置,采用10位密码,并且半年一更换。现在还心存余悸呢。我从中得出的教训是,密码安全要放在网络安全的第一位。因为密码就是钥匙,如果别人有了你家的钥匙,就可以堂而皇之的进你家偷东西,并且左邻右舍不会怀疑什么。我的建议,对于重要用户,诸如:Root,Administratoi的密码要求最少要8位,并且应该有英文字母大小写以及数字和其他符号。千万不要嫌麻烦,密码被破后更麻烦。为什么要使用8位密码呢,Unix一共是0x00

密码学基础教学大纲完整版

《密码学基础》课程教学大纲 (课程代码:07310620) 课程简介 密码学基础是信息安全专业的一门技术基础课程,该课程的学习将为后续的信息安全课程打下基础,同时也为将来从事信息安全研究和安全系统的设计提供 必要的基础。该课程主要讲授流密码(古典密码学)分组密码学、公钥密码学、 密钥分配与管理、信息认证和杂凑算法、数字签名以及网络加密与认证等几个部分,在其中将学习各种加解密、散列函数、单向函数、签名模式及伪随机发生器 等多种密码学工具,以及如何应用这些工具设计一个实现基本信息安全目标的系 统(目前学时不够,没有安排)。基本密码学工具的掌握和应用这些工具构造安 全服务就是本课程的基本目标。 本课程具有如下特点: (一)依赖很强的数学基础 本课程需要数论、近世代数、概率论、信息论、计算复杂性等数学知识作为 学习的基础。这些数学基础的讲解既要体现本身的体系性,同时还要兼顾密码学背景。 (二)可扩展性强 各种具体方法的学习不是本课程的最终目标,背后的基本原理以及应用这些原理设计新工具的能力才是本课程的最终目标。 (三)课程内容复杂且涉及面广 由于密码学内容丰富,且包含许多复杂的知识点,所以本课程的讲授以线为主,即在基本主线的勾勒基础上对授课内容及复杂程度做出取舍。 本课程先修课程有:数据结构、近世代数、概率论、高等数学、高级语言程 序设计等。后续课程有信息安全扫描技术、PKI技术、病毒学等专业课程。 课程教材选用国内信息安全优秀教材杨波编著的《现代密码学》(清华大学出版社),同时参考国外优秀教材:《经典密码学与现代密码学》,Richard Spillman,清华大学出版社、Douglas R. Stinson著,冯登国译的《密码学原理和实践》,电子工业出版社,2003年2月第二版。另外还向学生推荐国内的一些具有特色的操作系统教材如胡向东编写的《应用密码学教程》(电子工业出版社)等。 实验教材选用自编的实验指导书,同时参考上海交大的“信息安全综合实验系统实验指导书”,除了这些教材之外,学校的图书馆为师生提供了相关的学术 期刊和图书。 课程教学体系:理论课程(34学时)课程实验(16学时)。达到从算法 验证、综合设计、到创新应用知识的逐步提高、全面培养的目的。相应的教学 材料由教学大纲、实验大纲、实验指导书等。实践环节的实验条件有:计算机 科学技术系的实验中心(实施课程实验)。 课程教学安排 序号内容课时数备注 一密码学概述 2 二古典密码学算法(一) 2

计算机密码学上机作业08级

11/12(1)现代密码学上机作业 第一题:用kaiser密码获得秘文kddkmu,试所有可能解密它#include void main(){int i,c,k; const int size=100; char aa[size]; cout<<"请输入秘文:"; cin.getline(aa,size); for(k=0;k<26;k++) {for(i=0;aa[i];i++) { c=((int)aa[i]-97)-k; if(c<0) c=(26+c)+97; else c=c%26+97; aa[i]=(char)c; }for(i=0;aa[i];i++) cout< void main(){ int i,x;int a1=2,a2=5,a3=1; int b1=78,b2=97,b3=119;int M,m1,m2,m3; int y1,y2,y3;M=b1*b2*b3; m1=b2*b3;m2=b1*b3;m3=b1*b2; for(i=0;i

武汉大学应用密码学RSA加密解密大作业

1 对RSA算法的理解 RSA加密算法是一种非对称加密算法,它基于一个非常简单的数论思想:“将两个素数乘起来是很容易的,但是分解该乘积是非常困难的”。 1.1加解密步骤 (1)生成公钥和私钥 a)随机生成两个不相等的大素数p和q,计算N=p*q; b)根据欧拉函数,求出φ=(p-1)*(q-1); c)选择一个小于r的整数e,求e关于r的模反元素d使得e*d mod φ =1 得到公钥,私钥 (2)加密 给定明文m,公钥,计算密文c = m e(N)。 (3)解密 给定密文c,私钥,计算明文m’ = c d(N)。 1.2素性检验 RSA算法的实现难点之一是生成大素数,这就需要生成一个大数并对其进行素性检验。素性检验有很多种方法。其中包括确定性方法和随机方法。确定性方法有试除法(埃拉托斯特尼筛法),卢卡斯-莱默检验法和AKS素数测试。常见的随机方法有费马素性检验,米勒-拉宾检验和欧拉-雅科比测试。本次作业采用就是米勒-拉宾检验方法。 米勒-拉宾(Miller Rabin) 算法原理: 要测试N 是否为素数,首先将N-1 分解为2s d。在每次测试开始时,先随机选一个介于[1, N-1]的整数a,之后如果对所有的r∈[0, s-1],若a d mod N ≠ 1 且a2^rd mod N ≠1,则N 是合数。否则,N 有3/4 的概率为素数。 1.3安全问题 (1)公共模数攻击。每个人具有相同的r,但有不同的指数e和d,这是不安全的。 (2)低加密指数攻击。如果选择了较低的e值,虽然可以加快计算速度,但存在不安全性。 (3)低解密指数攻击。如果选择了较低的d值,也是不安全的。 (4)选择密文攻击。如A想让T对一个T不愿意签名的消息m’签名,A首先选择一个任意值x,计算y=x e(mod r),然后要求T对m=ym’签名,A最后计算(m d mod r)x-1 mod r =( ym’) d x-1mod r= m’d mod r。 还有一些不是直接对RSA的算法本身进行的攻击,如中间人攻击、时间攻击、边信道攻击等。 2.具体实现 2.1函数说明 void ProducePrime(JTextField prime):使用JA V A的Biginteger生成512位的

密码学与网络安全知识点总结

《网络信息安全技术》知识点总结 一、信息安全的含义 1、信息安全的三个基本方面 –保密性Confidentiality。即保证信息为授权者享用而不泄漏给未经授权者。 –完整性Integrity ?数据完整性,未被未授权篡改或者损坏 ?系统完整性,系统未被非授权操纵,按既定的功能运行 –可用性Availability。即保证信息和信息系统随时为授权者提供服务,而不要出 现非授权者滥用却对授权者拒绝服务的情况。 2、网络安全面临的威胁: 基本安全威胁: ?信息泄露(机密性):窃听、探测 ?完整性破坏(完整性):修改、复制 ?拒绝服务(可用性):加大负载、中断服务 ?非法使用(合法性):侵入计算机系统、盗用 潜在的安全威胁 偶发威胁与故意威胁 偶发性威胁:指那些不带预谋企图的威胁,发出的威胁不带主 观故意。 故意性威胁:指发出的威胁带有主观故意,它的范围可以从使 用易行的监视工具进行随意的监听和检测,到使用特别的专用工具进行攻击。 主动威胁或被动威胁 主动威胁:指对系统中所含信息的篡改,或对系统的状态或操作的改变。如消息篡改 被动威胁:不对系统中所含信息进行直接的任何篡改,而且系统的操作与状态也不受改变。如窃听

3、网络安全服务 在计算机通信网络中,系统提供的主要的安全防护措施被称作安全服务。安全服务主要包括: ?认证 ?访问控制 ?机密性 ?完整性 ?不可否认性 二、密码学概述 1、密码学研究的目的是数据保密。数据保密性安全服务的基础是加密机制。 2、密码学包括两部分密切相关的内容:密码编制学和密码分析学。 3、密码系统包括以下4个方面:明文空间、密文空间、密钥空间和密码算法。 4、密码算法的分类: (1)按照密钥的特点分类:对称密码算法(又称传统密码算法、秘密密钥算法或单密钥算法)和非对称密钥算法(又称公开密钥算法或双密钥算法) 对称密码算法(symmetric cipher):就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。非对称密钥算法(asymmetric cipher):加密密钥和解密密钥不相同,从一个很难推出另一个。非对称密钥算法用一个密钥进行加密, 而用另一个进行解密。其中的加密密钥可以公开,又称公开密钥(publickey),简称公钥。解密密钥必须保密,又称私人密钥(private key),简称私钥。 (2)按照明文的处理方法:分组密码(block cipher)和流密码(stream cipher)又称序列密码。 例题: 简述公开密钥密码机制原理的特点。 公开密钥密码体制是使用具有两个密钥的编码解码算法,加密和解密的能力是分开的;这两个密钥一个保密,另一个公开。根据应用的需要,发送方可以使用接收方的公开密钥加密消息,或使用发送方的私有密钥签名消息,或两个都使用,以完成某种类型的密码编码解码功能。

密码学作业CH11

201013210141 徐鹏志密码学作业11 1.消息认证是为了对付哪些类型的攻击? 答:伪装(假冒)篡改内容修改顺序修改时间(包括重放) 2.消息认证或数字签名方法有哪两层功能? 答:任何消息认证或数字签名机制基本分两步: 产生认证符(是一个用来认证消息的值)的函数; 将该函数作为原语使接收方可以验证消息真实性的认证协议。 3.产生消息认证有哪些方法? 答:用于消息认证的最常见的密码技术是消息认证码和安全散列函数 MAC是一种需要使用秘密钥的算法,以可变长度的消息和秘密钥作为输入,产生一个认证码。拥有秘密钥的接受方产生一个认证码来验证消息的完整性。 哈西函数将可变长度的消息映射为固定长度的哈西值,或叫消息摘要。对于消息认证来说,安全散列函数还必须以某种方式和秘密钥捆绑起来。 4.对称加密和错误控制码一起用于消息认证时,这两个函数必须以何种顺序执行? 答:先错误控制码后对称加密。

5.什么是消息认证码? 答:消息认证码,是用来保证数据完整性的一种工具,可以防止数据未经授权被篡改,用数学语言描述,是一个让双方共享的密钥k和消 (m),这个函数值就是一个息m作为输入函数,如果将函数记为mac k 认证标记。 6.消息认证码和散列函数之间的区别是什么? 答:消息认证码(MAC)依赖公开函数,密钥控制下对消息处理,生成定长认证标识,并加以认证。 散列函数:将任意长度的消息换为定长的消息摘要,并加以认证。 7.为提供消息认证,应以何种方式保证散列值的安全? 答:a.用对称密码对消息及附加在其后的散列码加密。 b.用对称密码仅对散列加密。 c.用公钥密码和发送方的密钥仅对散列加密。 d.若寄希望保证保密性有希望有数字签名,则先用发送方的密钥对散列码加密 e.该方法使用散列函数但不使用加密函数来进行消息认证。 f.如果对整个消息和散列码加密,则(e)中的方法可提供保密性。 8.为了攻击MAC算法必须要恢复密钥吗?

密码学基础1

信息安全理论与技术第四讲密码学基础(三)

?讨论议题 ? 密钥分配 ? 公钥密码算法 – Diffie-Hellman密钥交换算法 –背包算法 – RSA算法 – EIGamal算法 –椭圆曲线密码算法ECC ?密钥分配(Key Distribution) 建立密钥分本协议必须考虑两个因素: 1)传输量和存储量就尽可能的小; 2)每一对用户U和V都能独立计算一个秘密密钥。 对于通信方A和B来说密钥分配方式由以下几种方式: 1)A选择密钥并手工传递给B; 2)第三方C选择密钥分别手工传递给A,B; 3)用A、B原有共享密钥传送新密钥(采用旧密作用于+新密钥方式); 4)与A、B分别有共享密钥的第三方C的加密连接,C就可以用加密连接传送新密钥给A和/或B。 ? N个用户集需要N(N-1)/2个共享密钥。 简单的密钥分配:

1)A产生公/私钥对{ PU a,PR a}并将PU a和其标识ID a的消息发送给B; 2)B产生秘密钥K S,并用A的公钥对K S,加密后发送给A; 3)A计算D(PU a E(PU a,K S)得出秘密钥K S。因为只有A能解密该消息,只有A和B知道K S; 4)A丢掉PU a,PR a,B丢掉PU a。 A和B 可以用传统的密码和会话密钥K S安全通信。 ●Key Distribution Center密钥分发中心 ●问题的提出 1)密钥管理量的困难 传统密钥管理:两两分别用一对密钥时,则n个用户需要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密钥空间急剧增大。如: n=100 时, C(100,2)=4,995 n=5000时, C(5000,2)=12,497,500 (2)数字签名的问题 传统加密算法无法实现抗抵赖的需求。 密钥分发 1)每个用户与KDC有共享主密钥(Master Key); 2)N个用户,KDC只需分发N个Master Key; 3)两个用户间通信用会话密钥(Session Key); (会话密钥:端系统之间的通信使用一个临时的密钥进行加密,这个密钥叫会话密钥) 4)用户必须信任KDC;

密码学与网络安全课程摘要

第1章引言 1、计算机安全、网络安全、internet安全。 1)计算机安全:用来保护数据和阻止黑客的工具一般称为计算机安全。 2)网络安全:在信息传输时,用来保护数据传输的网络安全措施称为网络安全。 3)internet安全:在使用公有网络进行数据传的时用来保护数据传输的网络安全措施。 2、O SI安全框架包括哪些主要内容。 OSI定义了一种系统化的方法,对安全人员来说,OSI安全框架是提供安全的一种组织方法。安全框架对许多概念提供了一些有用或许抽象的概貌,OSI安全框架主要关注安全攻击、机制和服务。可以简短定义如下: 1)安全性攻击:任何危及企业信息系统安全的活动。 2)安全机制:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程,或实现该 过程的设备。 3)安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。其 目的在于利用一种或多种安全机制进行反击攻击。 3、安全攻击的两种类型:主动攻击和被动攻击。 1)被动攻击:被动攻击的特性是对传输进行窃听和监测,目标是获得传输的信息。主 要有消息内容泄漏和流量分析(通过对传输消息的频率和长度来判断通信的性质),对于被动攻击的处理重点是预防而不是检测。 2)主动攻击:主动攻击包括对数据流进行修改或伪造数据流,分为四类:伪装、重放、

消息修改和拒绝服务。主动攻击难以预防,但容易检测,所以重点是怎样从破坏或造成的延迟中恢复过来。 4、X.800安全服务。 1)认证:同等实体认证和数据源认证。 2)访问控制:阻止对资源的非授权使用。 3)数据保密性:连接保密性、无连接保密性、选择域保密性、流量保密性。 4)数据完整性:保证收到的数据的确是授权实体所发出的数据。 5)不可否认性:源不可否认性和宿不可否认性。 5、X.800安全机制。 1)特定安全机制:加密、数字签名、访问控制、数据完整性、认证交换、流量填充、 路由控制、公证。 2)普遍的安全机制:可信功能、安全标签、事件检测、安全审计跟踪、安全恢复。 6、网络安全模型。 在需要保护信息传输以防攻击者威胁消息的保密性、真实性等的时候,就会涉及到信息安全,任何用来保证安全的方法都包含了两方面:被发送信息的安全相关变换、双方共享某些秘密消息,并希望这些信息不为攻击者所知。

密码学期末作业

密码学期末作业 2018 06 11《现代密码学》期末作业零、选择题采用美国数据加密标准DES进行数据加密时,加密算法种的基本运算不包括。A)置换运算B)异或运算C)模乘运算D)移位运算关于RSA算法下列说法不正确的是。A)RSA算法是一种对称加密算法B)RSA算法的运算速度比DES 慢C)RSA算法可用于某种数字签名方案D)RSA的安全性主要基于因子分解的难度(3) 8位的密钥可以产生多少个可能的密钥A) 8 B) 8 C) 2 D)65536 (4) 3DES密钥的长度最长是多少位? A) 56位B) 168位C) 112位E)128位(5) MD5 (Hash)的输出是多少位?A)64位B)128位C)160位D)256位

(6) SHA的输出是多少位?A)64位B)128位C)160 位D)256位 1 2018 06 11 一、根据下面图解释名词,明文,密文,加密,解密,加密算法,解密算法, 加密密钥和解密密钥二、阐述密码体制分类三、阐述扩散和混淆的概念四、什么是密码分组链接模式,请画出加密与解密示意图 2 2018 06 11 五、哈希(Hash)函数应满足什么条件?六、说明迭代型哈希函数一般结构的运算过程. 七、什么是零知识证明?下图表示一个简单的迷宫,C与D之间有一道门,需要知道秘密口令才能将其打开。P向V证明自己能打开这道门,但又不愿向V泄露秘密口令。可采用什么协议? 3 2018 06 11 八、AES高级加密标准的轮函数4个不同的计算部件组成,分别是:字节代换、行移位、列混合、密钥加。根据下图写出

字节代换、行移位、列混合、密钥加。 4 2018 06 11 九、设椭圆曲线y2=x3+2x+7, p=179 满足1/210失败的概率, 求将消息M= 5 表示成曲线上的点. 十、在RSA算法中,设公钥KU={7,187},私钥KR={23,187}, 设明文M=88, 求密文C。十一、根据下图S-DES (Simplified DES) 收、发双方共享的10位密钥,计算出两个8位子密钥分别用在加密、解密的不同阶段。图中的P10、P8如下表,初始10位密钥为求图中的K1、K2 P10 P8 LS-1 3 6 5 3 2 7 7 4 4 8 10 1 5 9 8 6 10 9 循环左移一位LS-2 循环左移二位 5 2018 06 11 二十二、根据下图说明同一消息同时提供保密性与认证性的过程?二十三、图是一个3级反馈移位寄存器,其初始状态为(a1,a2,a3)=(1,0,1),写出前6个时刻的状态和输出。图一

密码学基础

密码学常识

□秋雨灰灰 目录 密码常识 字母表顺序-数字 进制转换密码 Mod算法 倒序 间隔 字母频率 凯撒密码(Caesar Shifts, Simple Shift) 凯撒移位(中文版) 栅栏密码(The Rail-Fence Cipher) 维吉尼亚密码(Vigenère Cipher) Polybius密码(Polybius Cipher) ADFGX/ADFGVX密码(ADFGX/ADFGVX Cipher) ADFGX ADFGVX 乘法密码(Multiplication Cipher) 仿射密码(Affine Shift) 希尔密码(Hill Cipher) 加密 解密 Playfair密码(Playfair Cipher) 莫尔斯电码 置换密码(Transposition Cipher) 替代密码(Monoalphabetic Substitution) 字母表数字 字母表代码 反字母表 随机乱序字母 棋盘密码 键盘密码 键盘移位 软键盘密码 数字小键盘密码 手机键盘密码 数字记忆编码

百度/Google/网页字符 百度字符(GB2312) Google字符(URI) 网页编码(Unicode) Alt+数字小键盘 MD5 【密码常识】 字母表顺序-数字 加密的时候,经常要把A至Z这26个字母转换成数字,最常见的一种方法就是取字母表中的数字序号。A代表1,B代表2,C代表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 数字 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 进制转换密码 例如二进制:1110 10101 1101 10 101 10010 1111 1110 101 转为十进制:14 21 13 2 5 18 15 14 5 对应字母表:number Mod算法 我们可以对字母序号进行数学运算,然后把所得的结果作为密文。当运算结果大于26或小于1的时候,我们希望把这个数值转为1~26的范围,那么取这个数除以26的余数即可。 Mod就是求余数的运算符,有时也用“%”表示。例如 29 Mod 26 = 3,或写成 29 % 26 = 3,意思是29除以26的余数是3。 倒序 加密时为经常要对字符进行倒序处理。如果让你按abcdef...的顺序背出字母表的每个字母会很容易,但是如果是zyxwvu...的顺序那就很难背出来了。一个很熟悉的单词,如果按相反的顺序拼写,可能就会感到很陌生。 例如“love”字母倒过来拼就是“evol”。 具体加密时倒序有很多种方案,需要灵活运用。例如: 每个单词的倒序:siht si a tset - this is a test 整句的倒序:tset a si siht - this is a test 数字的倒序:02 50 91 02 - 20 05 19 20(test) 间隔 单词之间的间隔一般使用空格。在加密时常常要去掉空格,但有时某些字母或数字来替代空格也不失为一种好的加密方案。错误空格位置也会起到很强的误导作用。 例如:t hi sis at est - this is a test 字母频率

了解网络安全之密码学的基础知识

了解网络安全之密码学的基础知识 密码学要实现的基本功能 数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。网络安全使用密码学来辅助完成在传递敏感信息的的相关问题,主要包括: (I)机密性(confidentiality) 仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,及不能达到报文内容。 (II)鉴别(authentication) 发送方和接收方都应该能证实通信过程所涉及的另一方,通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。 (III)报文完整性(message intergrity) 即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。 (IV)不可否认性(non-repudiation) 如果我们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。 加密算法 加密技术根据其运算机制的不同,主要有对称加密算法、非对称加密算法和单向散列算法。其中各有优缺点,他们之间协合合作,共同实现现代网络安全应用。 对称密码算法 对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。 (I) 凯撒密码Casesar cipher: 将明文报文中的每个字母用字母表中该字母后的第R个字母来替换,达到加密的目的。 (II) DES,3DES和AES DES(Data Encryption Standard) 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛使用。该算法输入的是64比特的明文,在64比特密钥的控制下产生64比特的密文;反之输入64比特的密文,输出64比特的明文。64比特的密钥中含有8个比特的奇偶校验位,所以实际有效密钥长度为56比特。 1997 年RSA数据安全公司发起了一项“DES 挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56bit DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。 3DES 是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128比特(112比特有效)或192比特(168比特有效)。其基本原理是将128比特的密钥分为64比特的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。 AES(Advanced Encryption Standard)是2001年NIST宣布的DES后继算法。AES处理以128bit数据块为单位的对称密钥加密算法,可以用长为128,192和256位的密钥加密。 NIST估计如果用能在1秒钟内破解56bitDES算法的计算机来破解128位的AES密密钥,要用大约149 亿万年时间。 对称算法最主要的问题是:由于加解密双方都要使用相同的密钥,因此在网络安全中,发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。各种基本的手段均很难保障安全、高效地完成此项工作。在对称算

密码学与网络信息安全

密码学与网络信息安全 摘要伴随着网络的普及,计算机网络安全成为影响网络效能的重要问题,这就对网络的安全提出了更高的要求。一个安全的网络信息系统应当确保所传输信息的完整性、保密性、不可否认性等。目前保障通信和网络安全技术的种类很多,其中数据加密技术是保障信息安全的最核心的技术措施,信息加密也是现代密码学的主要组成部分。本文分析了密码学的发展趋势及一些常用的数据加密算法。 关键词网络信息安全;密码学;数据加密技术 1.网络安全技术研究的目的和意义 近年来,互联网络以其简捷、方便以及费用低廉等优点,己经越来越深入地渗透到互联网络不仅能够给人们提供信息资料,还使得网上电子商务的开展如网上购物、网上书店等成为可能,大大地影响了人们的生活。原来传统的信息媒体诸如纸张、胶片、磁带等纷纷让位于电子媒体。人了门可以在网络上通过网络门户如Yahoo。O、Sohu查询资料,或者通过电子邮件以及BBS等在网上交流信息,这一切都大大的提高了人们的工作效率。同时电子商务的出现标志着互联网从一个主要提供信息服务的网络向商业领域的拓展,这样就可以吸引更多的资金投入到互联网络的建设之中,从而更大的促进网络的发展。 网络的发展给人们带来了前所未有的便利,同时也给人们提出了新的挑战。每天互联网络上都有大量数据在传输,这其中既有对安全性要求相对较低的网页内容,也有安全要求相对较高的电子邮件以及ICQ信息,还有要求高度保密的电子商务交易数据。所有这一切,都对互联网上的数据安全提出了更高的要求。由于Internet网络本身的开放性,使每一个上网的用户既成为网络的受益者也可能成为网络的破坏者。同样由于目前Internet网络的无序化使得网络秩序基本上处于无法可依的状态。因此就要求对网上用户传来的数据进行加密/解密、签名/校验等工作,以保证自己的网上安全。 目前所有在互联网网络上的通信都使用TCP/IP协议,由于互联网络本身特点以及TCP/IP协议的弱点,TCP八P协议在信息到达终点之前可能要通过许多中间计算机和单独的网络,这使得它的传输信息容易受到第三方的干扰,因此使得在网络上传输的数据面临着各种安全问题。在网络上传输的数据对于数据的安全性也有不同的要求,例如,传输的网页数据仅仅要求不被篡改即可,而电子邮件则要求不能被窃听或者篡改,而电子商务中传输的敏感数据,如订货单等则要求相当高的安全性,其数据不能被窃听、篡改,同时接收方和发送方必须不能被假冒。同时网上还有一些数据,如个人信用卡密码、个人档案、政府公文等都对数据传输的安全性提出了更高的要求。针对网上数据传输的安全性提出了以下的要求: 1.机密性:数据不会被未授权的窃听者所窃取。 2.可认证性:能够确认文件的来源,确实是传送者本人,而不是由别人伪造的。 3.完整性:文件是真正的原文,并未被无意或者恶意的篡改。 4.不可否认性:发送方在发送文件之后,不可否认他曾送出这份文件。 密码学是信息安全的核心技术之一,解决这些问题的唯一有效的手段就是使用现代密码技术。信息加密技术是保障信息安全的最基本、最核心的技术措施。信息加密也是现代密码

相关主题
文本预览
相关文档 最新文档