信息安全复习重点.docx
《信息安全复习重点.docx》由会员分享,可在线阅读,更多相关《信息安全复习重点.docx(21页珍藏版)》请在冰豆网上搜索。
信息安全复习重点
3.2数据加密标准(DES)
v对称加密技术
?
v分组密码
分组密码将定长的明文块转换成等长的密文,这一过程是在密钥的控制之下。
使用逆向变换和同一个密钥来实现解密。
对于当前的许多分组密码,分组大小是64位,但这种长度可能会增加。
数据加密算法DES(DataEncryptionStandard)
❑1973年5月15日,美国国家标准局NBS开始公开征集标准加密算法,并公布了它的设计要求:
(1)算法必须提供高度的安全性
(2)算法必须有详细的说明,并易于理解
(3)算法的安全性取决于密钥,不依赖于算法
(4)算法适用于所有用户
(5)算法适用于不同应用场合
(6)算法必须高效、经济
(7)算法必须能被证实有效
(8)算法必须是可出口的
š1974年8月27日,美国国家标准局NBS开始第二次征集,IBM提交了算法LUCIFER,该算法由IBM的工程师在1971-1972年研制
š1975年3月17日,NBS公开了全部细节
š1976年,NBS指派了两个小组进行评价
š1976年11月23日,采纳为联邦标准,批准用于非军事场合的各种政府机构
š1977年1月15日,“数据加密标准”FIPSPUB46发布
❑DES是IBM公司提供的密码算法,1977年7月15日,美国国家标准局NBS宣布接受这个建议,作为联邦信息处理标准46号,数据加密标准DES正式颁布,供商业界和非国防性政府部门使用。
/1979年,美国银行协会批准使用
/1980年,美国国家标准局(ANSI)赞同DES作为私人使用的标准,称之为DEA(ANSIX.392)
/1983年,国际化标准组织ISO赞同DES作为国际标准,称之为DEA-1
/该标准规定每五年审查一次
对称密码的设计原则是混淆和扩散:
☎Shannon提出了两种隐蔽明文消息中的冗余度的基本技术:
扩散与混乱
☎扩散(Diffusion):
明文的统计结构被扩散消失到密文的长程统计特性,使得明文和密文之间的统计关系尽量复杂(可用换位法)。
☎混乱(confusion):
掩盖明文和密文之间的关系,使得密文的统计特性与密钥的取值之间的关系尽量复杂。
(可用代替法)
☎在一个理想的密码系统中,密文的所有统计特性都应与所使用的密钥独立,然而实用的密码系统都很难达到这个目标。
(除一次一密乱码本)
迭代密码是实现混淆和扩散原则的一种有效方法。
合理选择的轮函数经过若干次迭代后能提供必要的混淆和扩散。
__
DES算法概要
1.初始置换函数IP
DES对64位明文分组进行操作。
首先,64位明文分组x经过一个初始置换函数IP,产生64位的输出x0,再将分组x0分成左半部分L0和右半部分R0,即:
x0=IP(x)=L0R0
置换表如表所示。
此表顺序为从上到下,从左至右。
如初始置换把明文的第58位换至第1位,把第50位换至第二位,以此类推。
❑2.获取子密钥Ki
DES加密算法的密钥长度为56位,但一般表示为64位,其中,每个有8位用于奇偶校验。
在DES加密算法中,将用户提供的64位初始密钥经过一系列的处理得到K1,K2,…,K16,分别作为1~16轮运算的16个子密钥。
❑接下来,根据轮数,这两部分分别循环左移1位或2位。
具体每轮移位的位数如表2.3所示。
❑移动后,将两部分合并成56位后通过压缩置换PC–2后得到48位子密钥,即Ki=PC-2(CiDi)。
压缩置换如表所示。
3.密码函数F
1)函数F的操作步骤
密码函数F的输入是32比特数据和48比特的子密钥,其操作步骤如图所示。
(2)异或。
扩展后的48位输出E(Ri)与压缩后的48位密钥Ki作异或运算。
(3)S盒替代。
将异或得到的48位结果分成八个6位的块,每一块通过对应的一个S盒产生一个4位的输出。
八个S盒如表所示。
❑S盒的具体置换过程为:
©某个Si盒的6位输入的第1位和第6位形成一个2位的二进制数(从0~3),对应表中的某一行;
©输入的中间4位构成4位二进制数(从0~15)对应表中的某一列(注意:
行和列均从0开始计数)。
#例如,S8盒的输入为001011,前后2位形成的二进制数为01,对应第8个S盒的第1行;中间4位为0101,对应同一S盒的第5列。
从表中可得S8盒的第1行第5列的数为3,于是就用0011代替原输入001011。
S盒
❑DES的核心是S盒,除此之外的计算是属线性的。
S盒作为该密码体制的非线性组件对安全性至关重要。
❑S盒的设计准则:
1.S盒不是它输入变量的线性函数
2.改变S盒的一个输入位至少要引起两位的输出改变
3.对任何一个S盒,如果固定一个输入比特,其它输入变化时,输出数字中0和1的总数近于相等。
❑公众仍然不知道S盒的构造中是否还使用了进一步的设计准则(有陷门?
)。
(4)P盒置换。
将八个S盒的输出连在一起生成一个32位的输出,输出结果再通过置换P产生一个32位的输出即:
F(Ri,Ki)。
下表为P盒置换。
至此,密码函数F的操作就完成了。
最后,将P盒置换的结果与最初的64位分组的左半部分异或,然后左、右半部分交换,接着开始下一轮计算。
⊕表示按位做不进位的加法运算(异或),即1⊕0=0⊕1=1,0⊕0=1⊕1=0
4.末置换函数IP-1
❑末置换是初始置换的逆变换。
对L0和R0进行16轮完全相同的运算后,将得到的两部分数据合在一起,经过一个末置换函数就可得到64位的密文C,即:
C=IP-1(R16L16)
❑下表列出了末置换变换表。
5.总结
❑DES利用56比特串长度的密钥K来加密长度为64位的明文,得到长度为64位的密文
❑根据上面所述,可以将DES算法归结如下:
❑子密钥生成:
C[0]D[0]=PC-1(K)
for1<=i<=16
{C[i]=LS[i](C[i−1])
D[i]=LS[i](D[i−1])
K[i]=PC-2(C[i]D[i])}
❑加密过程:
L[0]R[0]=IP(x)
for1<=i<=16
{L[i]=R[i−1]
R[i]=L[i−1]XORf (R[i−1],K[i])}
c=IP−1(R[16]L[16])
❑解密过程:
R[16]L[16]=IP(c)
for1<=i<=16
{R[i−1]=L[i]
L[i−1]=R[i]XORf (L[i],K[i])}
x=IP−1(L[0]R[0])
1.RSA加密算法
❑由Rivest,Shamir&Adleman在1977提出
❑最著名的且被广泛应用的公钥加密体制,基于大整数分解的难度。
RSA算法:
设计密钥→加密。
❑RSA实验室对RSA密码体制的原理做了如下说明:
❑“用两个很大的质数,p和q,计算它们的乘积n=pq;n是模数。
选择一个比n小的数e,它与(p-1)(q-1)互为质数,即,除了1以外,e和(p-1)(q-1)没有其它的公因数。
找到另一个数d,使(ed-1)能被(p-1)(q-1)整除。
值e和d分别称为公共指数和私有指数。
公钥是这一对数(n,e);私钥是这一对数(n,d)。
”
RSA算法
©找两足够大的素数p和q
©计算n=p*q和ø(n)=(p-1)*(q-1);
©任何一个数e,要求满足e<ø(n)并且e与ø(n)互素;(就是最大公因数为1,有的文献表述为gcd(e,ø(n))=1)
❑解下列方程求出d
©e.d=1modø(n)且0≤d≤N,(即ed=kø(n)+1,也即(ed-1)能被ø(n)=(p-1)(q-1)整除,其中k是整数)
©这样最终得到三个数:
n ed
©公布公钥:
KU={e,n}
©保存私钥:
KR={d,p,q}
例:
选择素数:
p=17&q=11
•计算n=pq=17×11=187
•计算ø(n)=(p–1)(q-1)=16×10=160
•选择e:
e=7
•计算d:
de=1mod160且d<160
得d=23因为:
23×7=161=160+1
5.公布公钥:
KU={7,187}
•保留私钥:
KR={23,17,11}
给定信息:
M=88,(88<187)
❑加密:
C=887mod187=11
❑解密:
M=1123mod187=88
❑课堂作业:
已知RSA密码体制的公开密钥为n=55,e=7,试加密明文消息m=10。
4.2数字签名基础知识
❑
数字签名的性质:
在收发双方未建立起完全的信任关系且存在利害冲突的情况下,单纯的消息认证就显得不够。
数字签名技术则可有效解决这一问题。
数字签名应具有以下性质:
①能够验证签字产生者的身份,以及产生签字的日期和时间。
②能用于证实被签消息的内容。
③数字签名可由第三方验证,从而能够解决通信双方的争议。
数字签名应满足以下条件:
惟一性、不可冒充、不可否认
→签名是可以被确认。
即一定是发方签名的;
→签名是不可抵赖的,即发方不能否认他所签发的消息;
→签名不可重用,即签名是消息(文件)的一部分,不能把签名移到其它消息(文件)上;
→签名是不可伪造的,即收方和第三方都不能伪造签名;
→第三方可以确认收发双方之间的消息传送但不能篡改消息。
第5章密钥管理技术
密钥管理:
是处理密钥自产生到最终销毁整个过程中的有关问题,包括密钥的设置、生成、分配、验证、启用/停用、替换、更新、保护、存储、备份/恢复、丢失、销毁等等。
其中密钥分配是最棘手的问题。
怎样选择一个安全的口令
❑最有效的口令是用户很容易记住但“黑客”很难猜测或破解的。
建立口令时最好遵循如下的规则:
❑
(1)选择长的口令,口令越长,黑客猜中的概率就越低
❑
(2)最好的口令包括英文字母和数字的组合。
❑(3)不要使用英语单词。
❑(4)不要使用相同的口令访问多个系统。
❑(5)不要使用名字,自己名字、家人的名字和宠物的名字等。
❑(6)别选择记不住的口令,这样会给自己带来麻烦。
❑(7)使用Unix安全程序,如passwd+和npasswd程序来测试口令的安全性。
❑对称加密算法密钥分配
两个用户A和B获得共享密钥的方法有以下几种:
①密钥由A选取并通过物理手段发送给B。
②密钥由第三方选取并通过物理手段发送给A和B。
③如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方。
④如果A和B与第三方C分别有一保密信道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B。
实例
假定两个用户A、B分别与密钥分配中心KDC有一个共享的主密钥KA和KB,A希望与B建立一个共享的一次性会话密钥,可通过如下来完成:
实例
①A向KDC发出会话密钥请求。
②KDC为A的请求发出应答。
③A存储会话密钥,并向B转发EKB[KS‖IDA]。
④B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。
⑤A以f(N2)作为对B的应答,其中f是对N2进行某种变换的函数,并将应答用会话密钥加密后发送给B。
第6章身份认证及应用
信息安全的三个发展阶段
数据