密码学知识点总结
2022-09-05 13:57:12 0 举报
AI智能生成
密码学知识点总结
作者其他创作
大纲/内容
1 - 密码历史
概念:
密码术是一种存储和传输数据的方法,
数据只能被指定方式读取和处理
信息加密成不可读格式以对其进行保护的一门学科
应保证破解数据无论是空间还是时间上都是不可行的
替代密码
概念:把原始字母映射成调换后的另一个字母
单字母表替代密码
希伯来人的“atbash”
移位密码
单表替代密码的一个特例
当移位密码的密钥k=3时,
就是历史上著名的凯撒密码(Caesar)
仿射密码
单表替换密码的一个特例,是一种线性变换
多字母表替代密码
维吉尼亚密码
最古老而且最著名的多表替代密码体制之一
与位移密码体制相似,但维吉尼亚密码的
密钥是动态周期变化的。
希尔(Hill)密码
Hill密码算法的基本思想是将n个明文字母通过线性变换,
将它们转换为n个密文字母。
一次一密密码
(One Time Pad)
若替代码的密钥是一个随机且不重复的字符序列,
这种密码则称为一次一密密码
Playfair密码
Playfair密码是一种著名的双字母单表替代密码
Playfair密码属于一种多字母替代密码,
它将明文中的双字母作为一个单元对待,
并将这些单元转换为密文字母组合。
转子密码机
电子和无线通信发展,出现了转自密码
德国Enigma机
IBM的撒旦工程
将复杂的数序方程和函数引入到加密算法
2 - 密码学定义和概念
概念
密码系统:提供加/解密的对象
,一套软件或硬件
至少包括:
软件组件
算法
协议
密钥
密钥:又一串随机二进制位组成
密钥空间:有密钥的长度决定,例如64为长密钥,空间是2^64
弱密钥:在密钥空间中不适合做密钥的位串,如00……00,11……11
密钥生成:密钥又伪随机或真随机系统生成,密钥越随机越好
算法:控制密码系统运算的一组逻辑规则
kerckhoffs原则:
密码系统唯一需要保密的是密钥
如果安全基于过多的秘密,那么就会有更多的脆弱性,可被利用
安全服务目标
机密性,
(Confidentiality)
信息不被非法阅读
完整性,
(Integrity)
信息不被非法篡改
认证
(Authentication)
信息不被非法创建
授权
(Authorization)
信息不被随意访问
不可否认性
(Non-repudiation)
信息不被随意抵赖
密码强度及安全
取决于:算法、密钥长度、密钥的保密、初始化向量和他们协同运算的机制
密码系统的安全取决于健全的(没有漏洞)的算法、大的密钥空间、密钥的保密
一次性密码本
被认为是不可破译
使用随机的替换值加密
使用“异或”的二进制数学函数
特点:
一次性密码本必须只能使用一次
一次性密码本必须与消息一样长
一次性密码本必须安全传送
密码本必须有真正的随机数值构成
滚动密码
没有复杂的算法
利用双方约定的某个秘密
示例:双方约定使用某本书的某页、某行、某列作为秘密消息
隐藏密码
没有复杂算法
利用栓放约定的方式提取公安消息中的密码
示例:双方约定每第三方单词作为秘密消息
隐写术
一种将数据隐藏在另一种介质中从而隐匿数据的方法
消息被嵌入到图形、波形文件、视频、音频等文件中
特点是不引起注意,通过隐匿实现了安全性
组件:
载体,内部具有隐藏信息的信号,数据库或文件。如,照片
隐写介质,将信息隐藏在内的介质,如,jpeg
有效载荷,要隐藏和传输的信息。如需要隐藏的信息
分支主题
使用最低有效位(LSB)是一种嵌入消息的方法
数字版权管理(DRM),利用隐写术
3 - 加密类型
对称加密两种基本类型
替代,substitution
使用新字符替代原来的字符
置换,transposition
对原来字符串进行重新排列
简单的替代和置换密码容易遭受频率分析攻击
混合使用替换和置换,可以有效抵御频率分析
密钥导出函数
用于生成由随机值构成的密钥
对称算法
加密和解密使用同一个密钥
优点
比非对称系统快得多
使用大密钥时很难公婆
缺点
需要一个分发密钥的安全机制
没对用户都需要唯一的密钥,因此密钥数呈指数增长,密钥管理繁重
能够提供机密性,但是不能提供真实性和不可否认性
示例:
数据加密标准,DES
三重DES
Blowfish
国际数据加密算法,IDEA
RC4,RC5,RC6
高级机密标准,AES
Twofish
SAFER
Serpent
非对称算法
加密和解密使用不同的密钥,但是两个密钥之间存在数学关联
公钥可以被任何人获知,私钥仅所有者知道
安全消息格式:对发送方来说,如果机密性是最重要的安全服务,
则会使用接收方的公钥来加密文件
数字签名:对发送来说,如果身份认证是最重要的安全服务,
则会使用自己的私钥进行加密
优点:
比对称密码系统更好的密钥分发功能
具有比对称密钥更好的扩展性
能够提供身份认证和不可否认性
缺点:
运行速度慢
是数学密集的任务
示例:
RSA
椭圆曲线密码系统,ECC
Diffie-Hellman
El Gamal
分支主题
数字签名算法,DSA
Merkle-Hellman,背包算法
分组密码
消息会被划分为若干位分组
两个主要属性:
混淆,(Confusion)
通常通过替代实现
明文和密钥充分混合,使得密文极度随机
扩散,(Diffusion)
通过置换实现
明文的一位变化导致密文每位产生变化的概率是 50%
流密码
一次对一个位进行加密
需要一个密钥流生成器,产生随即迷药位于明文进行异或
发送和则和接收者必须有相同的密钥流生成器
特点:
密钥流值具有长周期无重复的模式
密钥刘具有统计不可预见性
密钥流与密钥线性无关
统计平衡的密钥流(0和1几乎一样多)
IV初始化向量和密钥提高加密过程的随机性
流密码并不能提供与一次性密码本相同的保护等级
混合加密方法
对称密钥和非对称技术结合
特点:
公钥用于安全交换对称密钥
对称密钥用来加密消息
这两种技术成为混合方法,数字信封
会话密钥
只使用一次的对称密钥,用于对通信会话期间
两个用户之间的消息进行加密
特点:两个计算机加密通信时,首先必须通过一个握手过程,
就加密密钥以及用来加密和交换会话密钥的加密算法上达成一致。
4 - 对称加密
数据加密标准,DES
DES对称加密标准,DEA作为数据加密算法
前身为128位的Lucifer算法
特点:
64位的明文分组
DES使用64位密钥:其中56位实际使用的密钥,8位用于奇偶校验
16轮置换和替代函数运算
分组密码模式
电子密码本(ECB)
原始明文被分割成数据块,使用同一个密钥加密;数据块之间没有关联
理论上,ECB可以做成明文块和密文块的对照表
特点:
最快速最方面的模式
不能很好的隐藏数据模式。
每个数据分组都是用相同的密钥进行加密
不能掩盖固定的文本模式(同样的明文总是加密
成同样的密文),抗攻击能力弱
适用于加密小文本,例如PIN,挑战响应值
密文分组链接(CBC)
在CBC模式中,每个明文块先与前一个密文块进行异或后,再进行加密。
特点:
隐藏了每个数据块独立加密可能暴漏的加密模式,密文错误会传递
前一个数据块和密文与下一个数据块和密钥关联后运算
第一个数据块使用随机IV与其混合运算
密文反馈(CFB)
密文块被输入进行运算,可以将分组密码变为自同步的流密码
特点:
可以应用于分组密码或流密码中,密文错误会传递
用于分组加密,keystream取一个分组的长度;
用于流密码,keystream去一位或一个字符的长度
算法可以选择某个分组加密算法:如DES
输出反馈(OFB)
密文块不参与运算,可以将分组密码变为自同步的流密码
特点:
可以应用于分组密码或流密码中,密文错误不会传递
用于分组加密,keystream取一个分组的长度;
用于流密码,keystream去一位或一个字符的长度
算法可以选择某个分组加密算法:如DES
计数器模式(CTR)
它通过递增一个加密计数器以产生连续的密钥流
特点:
可以应用于分组密码或流密码中,密文错误不会传递
用于分组加密,keystream取一个分组的长度;
用于流密码,keystream去一位或一个字符的长度
其中分组密码可以选用任何分组算法,如DES
应用:
用于加密IPSec虚拟电路的ATM信元
三重DES,3DES
双重DES不比DES安全,其工作因数降低到与DES大致相同的程度
3DES使用48轮运算,对于差分密码分析有很强的低于能力
3DES需要执行额外操作,其性能比DES长3倍
分类:
DES-EEE3
使用3个不同的密钥进行加密,数据被加密、加密、再加密
密钥空间168位
DES-EDE3
使用3个不同的密钥进行加密,数据被加密、解密、再加密
密钥空间168位
DES-EEE2
与DES-EEE3相同,但只是用两个密钥,
第一个和第三个加密过程使用相同的密钥
密钥空间112位
DES-EDE2
与DES-EDE3相同,但只使用两个密钥,
第一个和第三个加密过程使用相同的密钥
密钥空间112位
高级加密标准,AES
AES支持128,192,256位密钥长度
能够轻松抵御时序攻击
如果密钥和分组的大小为128位,那么就执行10轮运算
如果密钥和分组的大小为192位,那么就执行12轮运算
如果密钥和分组的大小为256位,那么就执行14轮运算
国际数据加密算法《IDEA
它处理64位数据分组,64位大小的数据分组划分为16个更小的分组,
每个小分组都执行8轮数学函数
IDEA密钥长度128位,软件实现中比DES速度快
应用于PGP软件和其他加密软件中
Blowfish
64位数据分组,密钥长度32~448位,数据分组经过16轮加密函数运算得到密文
RC4
最常用的流密码之一
用于SSL协议,
用户802.11wep协议中
RC5
分组密码
分组大小通常为32,64,128位
密钥长度可达2048位
加密解密的轮数也是可变的,最多可达255轮
RC5-32/12/16表示64位分组,12轮运算,128位密钥
RC6
在RC5基础上的分组密码
8 - 密码分析方法
唯密文攻击
已知明文攻击
选择明文攻击
选定密文攻击
差分密码分析
线性密码分析
旁路攻击
重放攻击
代数攻击
分析式攻击
统计式攻击
7 - 密码应用
链路加密
加密通信路径上的全部数据,例如卫星、T3、电话链路
链路加密可以抵御嗅探和窃听
每个转发设备上解密后才能继续传输
端到端加密
端到端加密中,只加密载荷数据部分,通信包头、路由信息等不加密
端到端对中间通信设备是透明的
端到端加密不能抵御流量分析
链路加密,端到端加密对比
端到端加密,通信头、地址等信息没有被加密,可以被流量分析
链路加密数据包的所有域都被加密;用户不参与加解密
链路加密迷药分配和管理更加复杂
示例:
端到端加密发生在应用层内
SSL加密发生在传输层
PPTP加密发生在数据链路层
链路加密发生在数据链路层和物理层
电子邮件标准
安全MIME
对电子邮件进行加密和数字签名;
允许对电子邮件及其附件进行加密
遵循公钥密码学标准(PKCS)
用户可以选择加密和散列算法
通过加密算法提供机密性,
通过散列算法提供完整性,
通过X.509公钥提供身份验证,
通过加密签名消息摘要提供不可否认性
保密增强邮件,PEM
机构内邮件通信的Internet标准
提供完整性、机密性、不可否认性和密钥管理
与PKCS兼容
特点
使用AES以CBC模式来加密消息
使用RSA;来提供密钥管理
使用X.509标准来提供证书的结构和构造
消息安全协议,MSP
军方的PEM
NSA开发的用户保护电子邮件消息,与X.400兼容的应用级协议
MSP可以用于对消息进行签名和加密以及执行散列算法
隐私保护精灵,PGP
PGP使用RSA公钥加密来实现密钥管理
PGP使用IDEA对称密码来完成批量数据的加密;
通过MD5散列算法来提供完整性
通过公钥证书来提供身份验证,
通过对消息进行加密签名来提供不可否认性
PGP使用自己的数字证书类型
PGP使用口令短语,每个用户都
有一个称为密钥环(key ring)
量子密码学
不可破译的密码,任何窃听都会被发现
光子的计划随机性保证整个密钥不可能被完全猜解
Internet安全
HTTP Secure,HTTPS
运行于SSL之上的http
SSL是嵌入在传输层上的安全协议,支持服务器和客户端
的双向认证,保护数据机密性和完整性
TLS是SSL开源等价协议
Secure HTTP,S-HTTP
应用级协议
S-HTTP保护通信数据(端到端),HTTPS保护通信信道(点到点)
HTTPS保护全部通信,S-HTTP保护单个通信
安全电子交易,SET
加密协议和基础设施,通过Internet发送加密的信用卡号
cookies
记录用户状态
cookies是用户浏览器中保存的文本文件
安全外壳,SSH
SSH是一种隧道机制,保护中断和元亨通信信道的安全
两台计算机通过握手和Diffie-Hellman算法生成会话密钥,用于通信
SSH可以替换Telnet、rlogin、rexec、rsh,以保证安全
IPSEC
IPSEC协议在网络层提供安全信道
通常用户建立跨Internet的网络之间的虚拟专用网(VPN)
IPSEC是一个开放的、模块化的安全协议,并不规定所使用的算法
两个基本协议:
身份验证首部
(Authentication Header,AH)
AH是一种身份验证协议
适用于没有NAT的网络环境完整性保护
封装安全净荷
(Encapsulating Security Payload,ESP)
ESP使用密码机制来提供来源身份验证、机密性和
消息完整性,它是以汇总身份验证和加密协议
适用于NAT环境下的完整性保护
两种模式
传输模式(Transport Mode)
消息载荷被保护
隧道模式(Tunnel Mode)
消息载荷、路由信息和首部信息受到保护
安全联合
(Security Assocation,SA)
记录IPSEC了解所需的配置,每个安全连接至少准备一个安全关联
SA具有方向,如果A和B通信,需要有两个SA
SA的检索同过SPI(安全参数索引,Security-parameter-Index)实现,
每个IPSEC数据包头包含SPI以及知识接收方使用正确的SA处理
IKE:internet key exchange,建立IPSEC链接的协议,
是ISAKMP和OAKLEY框架协议
完整性校验值,
integrity check value,ICV
9 - 密钥管理
现代密码学使用安全协议(kerberos)协商密钥分配
密钥管理原则
分支主题
6 - 公钥基础设施
PKI是一种使用公钥密码学和X.509标准的ISO身份验证架构
组件:
认证授权机构,CA
保管、发布、取消数字证书的可信组织机构
取消证书的过程由CA处理,
被取消的证书的信息存储在证书取消列表CRL中
在线证书状态协议(OCSP)专门用于检查由CA维护的CRL
CA保证数字证书的合法性
典型示例:
著名的CA有Entrust和VeriSign。
数字证书
CA证书的标准时X.509
一个计算机文件,经CA的数字签名,其完整性、真实性、不可否认性的到保护
注册授权机构,RA
执行证书注册任务。RA建立和确认个人的身份,
代表中断用户启动使用CA的注册过程,一致性证书证明周期管理功能
PKI提供机密性、完整性、访问控制、真实性、不可否认性
PKI必须维护一定的历史证书和私钥
方便历史文档的阅读
方便验证历史数字签名
5 -非对称加密算法
对称密钥的三个缺点
安全服务
只能提供机密性,无法提供
身份验证和不可否认性
可扩展性
通信人数增加,密钥分发也随之
增加,密钥管理成为一个问题
安全密钥分发
必须由安全信使使安全密钥安全到达目的地
Diffie-Hellman算法
基于有限域离散对数对数
第一个非堆成密钥协商算法,
解决密钥分发问题
存在中间人攻击
可以实现密钥发送,并不提供加密或数字签名
RSA
能够用于数字签名、密钥交换和加密,提供身份验证和密钥加密
基于大整数素因子分解难题
应用:
操作系统和网络接口卡,安全电话和智能卡
单项函数
不可逆函数,单方向容易计算,反方向难以计算
单向函数能够实现机密和数字签名
El Gamal
能够用于数字签名、密钥交换和加密
基于有限域内计算离散对数的困难性
在公钥算法中,速度是最慢的
椭圆曲线密码系统
能够用于数字签名、密钥交换和加密
椭圆曲线上离散对数计算困难
较小的资源消耗(计算、存储)提供较强的密码学保护
LUC
基于“LUCAS序列”的有限域上的离散对数问题
计算毒素较El Gamal快
零知识证明
向对方"传递某个信息",且“对方相信”,
但是“绝对不会暴漏更多信息”
消息完整性
检验位和循环冗余检验CRC
能够检测无意的更改
只能应对传输过程中的位数错误
单项散列函数
能够检测有意和无意的更改
将可变长的字符串或消息压缩
变换成固定的长度值
不反向计算
无法提供身份认证
消息身份验证代码,MAC
提供身份认证功能
利用消息检验码(MAC)保护消息完整性
类型:
散列MAC,
(HMAC)
将一个堆成密钥合并的消息的后面。
使用散列算法计算附加密钥的消息,已生成MAC
完整性和数据源身份验证。不提供机密性
CBC-MAC
在CBC模式下使用对称分组密码对消息进行加密,
并将最后输出的密文分组用作MAC
数据源身份验证和完整性
CMAC
工作方式与CBC-MAC相同,但基于更复杂的逻辑和数学函数
CRC工作在网络协议栈叫底层,HMAC、CBC-MAC、CMAC在网络协议栈的较高层
各种散列算法比较
特点
应当对整个消息计算散列值
散列函数应当是单向函数,因此三劣质不会泄露消息
给定一条消息及其散列值,要找到另一个有着同样散列的消息应该是不可能的
散列函数应该能够抵御生日攻击
数字签名
使用私钥来加密消息的散列值
散列值保证消息完整性,散列值的签名提供身份验证和不可否认性
DSA和RSA椭圆曲线数字签名算法,ECDSA、SHA
特点:
DSA智能进行数字签名,且速度比RSA慢
各种算法对比总结
各种算法的功能
0 条评论
下一页