密码学.docx
- 文档编号:2798238
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:25
- 大小:733.96KB
密码学.docx
《密码学.docx》由会员分享,可在线阅读,更多相关《密码学.docx(25页珍藏版)》请在冰点文库上搜索。
密码学
第1讲
1)信息安全面临的威胁:
窃听、重传、伪造、篡改、行为否认、拒绝服务
非授权访问、传播病毒等
2)安全服务要求:
机密性、完整性、有效性、消息鉴别、不可否认性、身份鉴别
访问控制
3)密码技术:
将可理解的消息变为不可理解的消息,同时又可
恢复消息的方法
明文:
原始消息;
密文:
变换后的消息;
密码:
改变消息的替换或算法
密钥:
用于加解密的秘密信息
编码:
明文变密文的过程
译码:
密文变明文的过程
密码分析:
没有密钥的情况下,破解密文的方法与原理
唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击
4)通常密码系统(可逆密码算法和密钥空间)是公开的,密钥是保密的
5)密码算法分类
对称密码算法:
加解密使用同一个密钥或很容易从一个密钥推导出另一个密钥
公钥加密算法:
包括两个密钥:
公钥用于加密或验证签名,任何人都知道;四要用于解密或签名,只能被消息接受者或签名者知道
数字签名算法:
哈希函数:
6)无条件安全与计算安全
无条件安全:
由于密文没有泄漏足够多的明文,无论计算力多大,都无法从密文唯一确定明文
计算安全:
在有限计算资源的条件下,密文不能破解
第2讲序列密码(流密码)
1)概念:
a.流密码:
将被加密的消息m分成连续的符号m=m1m2m3……;使用密钥流k=k1k2k3……中的第1
个元素ki对m的第i个元素mi加密
完整加解密结构
b.同步流密码:
密钥流的产生与明文消息流相互独立
好处:
一个密文出错不会影响其他密文的恢复
c.自同步流密码:
密钥流的产生与之前产生的若干密文有关
d.密钥流由密钥流生成器产生,输入时一个初始密钥
流密码的安全性取决于密钥的安全等级,实际以一定长度的初始密钥生成周期较长的伪随机序列
e.密钥流的生成方法(线性反馈移位寄存器LFSR):
多项式CnXn^n+Cn-1Xn-1^n-1+……C1X+1为其级联多项式
f.密码的周期
上图ai的个数叫做反馈移位寄存器的级,某一时刻,这些级的内容构成一个状态,从初始状态开始,若T时刻的状态恢复至初始状态,则T为其周期。
周期最大为2n-1
g.m序列(最大周期移位寄存器序列)
以多项式Xn^n+Cn-1Xn-1^n-1+……C1X+1为级联多项式的n级LFSR产生的非零序列的周期为最大周期
充要条件:
级联多项式是F2上的本原多项式。
2^n-1为素数是,不可约多项式为本原多项式
2)伪随机序列和线性复杂度不考
3)基于LFSR的伪随机序列生成器(名词与图对应即可)
在LFSR基础上加入非线性化手段,三类方法:
滤波生成器:
上半部分为n级线性移位寄存器,下面是一个m元非线性滤波函数
组合生成器:
由若干个LFSR和一个非线性组合函数f组成。
可以极大提高序列周期
钟控生成器:
LFSR1输出1时LFSR2产生下一位,LFSR1输出0时,LFSR2重复输出前一位
4)A5加密算法
GSM中执行加密算法的流密码算法
GSM语音消息转换成一系列的帧,每帧228比特,用A5算法加密
5)RC4算法
a.参数n 长为n的秘密内部状态,共2^n个数组,通常取8,即一个字节
b.输入可变长的密钥用于初始化内部状态,输出一个从状态中选出的一个元素K即一个字节,与明文的一个字节对应执行异或运算
c.每输出一个K,内部状态中的元素置换一次,以便下一次输出
第3、4、5讲分组密码
1)分组加密算法:
在分组密码中,消息被分成许多块,每块都进行加密
2)替换(s)-置换(P)网络的思想
两种基本密码运算:
a.替换(Substitution)
将一个二进制字用其它二进制字替换
可看作查表运算,叫做S-boxes
b.置换(Permutation)
将二进制字次序打乱,叫做P-boxes
c.混合变换
将两种变换组合在一起,一些S-boxes由P-boxes连接
d.为什么使用这两种变换:
替换:
目的在于使作用于明文的密钥与密文之间的关系复杂化,使明文和密文之间、密钥与密文直接的统计特性极小化,不能使用统计分析攻击(混淆)
置换:
将明文和密钥的影响尽可能扩散到多个输出的密文中。
(扩散)
e.分组密码设计准则:
雪崩效应:
输入改变1bit,输出改变一半
完备性效应:
每个输出比特是所有输入比特的复杂函数输出
雪崩保证小输出变化导致大输出变化
完备性保证每个输出依赖于所有输入
3)Feistel结构
输入块分成左右两个部分L(i-1)和R(i-1)
L(i)=R(i-1)
R(i)=L(i-1)XORg(K(i),R(i-1)) K(i)为子密钥,g是一个S-P网络
相关参数:
a.分组大小:
增加分组长度提高安全性,降低速度
b.密钥大小:
增加密钥长度提高安全性,降低速度
c.轮数:
增加轮数提高安全性,降低速度
d.子密钥生成:
子密钥生成越复杂,安全性越高,速度越低
e.轮函数 :
轮函数越复杂,安全性越高,速度越低
4)典型算法:
(具体算法略)
a.Lucifer第一个可用的替换-置换密码,DES的前身
分组长度:
128bit
密钥长度:
128bit
子密钥:
密钥的左半部分,每次密钥向左旋转56bits
轮数:
16
b.DES
分组长度:
64bit
密钥长度:
56bit
子密钥:
48bit
轮数:
16
c.三重DES
加密:
d.IDEA
分组长度:
64bit
子分组长度:
16bit
密钥长度:
128bit
轮数:
8
子密钥长度:
16bit,共52个子密钥=8轮*6个每轮+4个最终变换
e.AES
分组长度:
128bit
密钥长度:
128bit、192bit、256bit
子密钥长度:
128bit
轮数:
10、12、14
关系:
密钥长度
分组长度
轮数
AES-128
128bit
128bit
10
AES-192
192bit
128bit
12
AES-256
256bit
128bit
14
5)分组密码的工作模式(四种)
a.ECB(ElectronicCodebookBook)
消息分成相互独立的加密模块
每块独立使用DES算法
适合少量数据加密
若对于同一个64bit明文,出现的密文相同,不安全
b.CBC(CipherBlockChaining) 重要
在加密前每个分组都与前面的密文按位模加。
能掩盖明文结构
密文完整性和排序影响解密
一位出错影响后面两块的解密
明文任意bit变化影响后面所有bit变化,故可将最后一块作为消息认证码MAC
c.CFB(CipherFeedbackMode)密文反馈模式
将分组密码转换为流密码,将密文反馈到下一个阶段,允许反馈任意bit
d.OFB(OutputFeedbackMode)输出反馈模式
与CFB类似
第6、7讲公钥密码
1)对称密码缺点
密钥分配问题:
需要安全信道协商密钥
密钥管理问题:
每两个用户之间需要共享密钥
没有签名功能
2)公钥算法分类:
密钥分配方案Public-KeyDistributionSchemes
用于交换秘密信息
常用于交换对称加密的密钥
公钥加密Public-KeyEncryption
用于加密任何消息
公钥加密私钥解密
数字签名方案SignatureSchemes
私钥拥有者生成签名
公钥验证签名
3)Diffie-Hellman密钥分配方案
安全性基于有限域上计算离散对数的困难性
计算:
选择一个大素数P,以及一个生成元g。
Alice选择一个私钥Xa
分别计算他们的公钥Ya=gXamodp,Yb=gXbmodp
公开Ya,Yb
共享密钥:
K=g^(XaXb)=Ya^(Xb)=Yb^(Xa)modp
例子:
4)RSA密码
安全性基于分解大整数的困难性:
计算两个大素数的乘积是容易的,分解乘积是困难的
计算:
生成两个随机大素数:
p,q
计算N=pq,Φ(N)=(p-1)(q-1)
随机选择整数e,1<=e<Φ(N),(e,Φ(N))=1
计算d,1<=d<Φ(N),ed=1modΦ(N)
公钥(n,e),私钥(p,q,d)
例子:
RSA快速实现:
利用中国剩余定理
5)El Gamal公钥加密方案
安全性基于有限域上计算离散对数的困难性
缺点:
增加消息的长度
计算:
选取大素数P和生成元g
选择私钥X,计算公钥Y=gX modp
加密时选择随机数k,计算
C1=gk modp
C2=MYk modp
发送(C1,C2)
解密时计算:
M=(C1^x)-1 C2
例子:
第8讲消息认证
1)消息认证
验证消息的完整性:
在传送过程中未被篡改、重放、延迟等
验证消息的身份是正确的,不可否认性
2)利用对称加密进行认证
不能解决消息的不可否认性
3)消息认证码
需要密钥K,利用函数f(k,M)计算MAC,与加密相比无需是可逆的
4)哈希函数
一个公开的函数,以一个变长的输入产生一个定长的摘要
设计原理:
能用于任何大小的数据
产生定长输出
对于X,求H(x)是容易的
对于H(x)求X是计算上不可行的
给定X,找出不等于X的Y使得H(x)=H(Y)是计算上不可行的
寻求任意(x,Y),使得H(x)=H(Y)是计算上不可行的
5)MD5算法:
具体过程略
参数:
输入:
任意长
输出:
128bit
处理:
以512输入数据块为单位
第9讲数字签名
1)公钥签名方案:
私钥生成签名
公钥验证签名
对整个消息的签名的缺点:
速度慢
交换信息长度增加1倍
对消息的Hash值签名
2)RSA签名
与加密正好相反
3)ElGamal签名
计算:
例子:
DSA签名:
略
第10讲认证与证书
1)Kerberos认证协议(大致过程)
Kerberos提供一个中心认证服务器,提供用户到服务器和服务器到用户的认证服务
采用传统的加密算法,无公钥体制
服务器希望能够限制授权用户的访问,并能对服务请求进行鉴别
一个简单的认证对话:
AS:
认证服务器
C:
客户
V:
服务器
(1)客户C向认证服务器发送访问服务器V的请求,包括C的ID,V的ID和C的口令
(2)认证服务器给客户一个票据,用与V共享的密钥加密
(3)C将票据和自己的ID给予V
问题:
输入的口令是明文;多次访问需要多次使用口令
改进:
(1)用户向AS请求代表该用户的票据许可票据
(2)AS发回加密的票据,密钥AS与C共享
(3)用户请求服务许可票据
(4)TGS验证,发放服务许可票据
(5)用户使用服务许可票据
2)公钥证书:
可信的离线服务器,server有公开的公钥,对每个用户签名公钥证书
证书将用户身份与公钥绑定,包括有效期、使用权限等,有CA签名
X.509鉴别服务
X.509证书内容:
版本号,序列号,签名算法,认证机构,有效期,主体(证书拥有者的可识别名),公钥信息,颁发者唯一标识,主体唯一标识,扩展部分,签名
X.509认证流程:
单向认证:
双向认证:
三向认证:
第11讲密码实践
了解PGP服务思路,能够设计一个安全通信的方案:
数字签名:
适应SHA-1生成160bit散列码
使用私钥签名,RSA
使用公钥验证
消息加密:
使用CAST-128产生会话密钥
使用会话密钥加密压缩的报文
采用RSA,使用公钥对会话密钥加密
使用私钥对会话密钥解密,
使用会话密钥解密报文
数据压缩:
节省空间,zip
分段重组:
Email长度受限,PGP自动分段,并在接受时恢复,签名只需一次,在第一段中
数学基础
最大公因数:
Rn-1为(a,b)
模平方重复
中国剩余定理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学