导图社区 现代密码学加密解密算法
现代密码学加密解密算法知识总结,包括常用加解密算法,国密算法原理、加密算法分类,加密算法应用,现代密码学原理等内容。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
现代密码学常见加密算法
密码学简介
加密相关术语
数字签名
发送方私钥进行加密的一个身份认证
数字证书
CA机构发布的身份认证
CA
PKI
公钥基础设施,是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能
HASH HMAC
加密钥的散列hash
使用 MAC 验证消息完整性的具体过程是:假设通信双方 A 和 B 共享密钥 K,A用消息认证码算法将 K 和消息 M 计算出消息验证码 Mac,然后将 Mac 和 M 一起发送给 B。B 接收到 Mac 和 M 后,利用 M 和 K 计算出新的验证码 Mac*,若 Mac*和Mac 相等则验证成功,证明消息未被篡改。由于攻击者没有密钥 K,攻击者修改了消息内容后无法计算出相应的消息验证码,因此 B 就能够发现消息完整性遭到破坏
加密基本思想
移位
置换
编码
其他设计
质数分解因子
子主题
字符编码
ASCII码
BASE64
3个字节一组,然后转换成4字节,然后从base64编码表找对应的编码
发送邮件时的附件,邮件的smtp协议:对图片和二进制文件进行编码,对方接收到后再使用base64进行解码
http请求的header里面是不能有特殊字符的,否则没办法解析。所以遇到特殊字符就需要进行base64编码让浏览器可以解析
图片中的使用。src为一个base64编码。在任何一个地方都可以跑起来,不需要任何依赖
BASE58
UNICODE
诞生目的:把世界上所有的字符都放在一起
需要的存储空间大
用32位,即4个字节来表示一个字符,基本上涵盖世界上所有的字符了
历史经典密码
藏头诗
不可见墨水
恩格玛机
紫密
加密算法分类
对称加密算法
概念
同一个密钥进行加解密
DES
数据加密标准、美国国密局选中的IBM方案,密钥长度56位,总的密钥数量是2^56次方个,有可能被穷举破解
ECB
电子密码本
CBC
分组链接加密
3DES
DES升级版、为了应对快速发展的计算机能力,能够在24小时内暴力破解56位长度的DES,3DES采用3次DES,如果3次密钥不同,则密钥达到168位,大大延长暴力破解的时间
AES
高级加密标准、美国国密局为下一代加密算法挑选的标准
可以使用128、192、256位密钥、并用128位分组加密解密数据,较3DES速度更快、安全性更好
RC
RC2
RC4
RC5
2017年
非对称加密算法
加密解密使用不同的密钥,公钥加密私钥解密、私钥解密公钥加密
『私钥』经过SECP256K1算法处理生成了『公钥』。SECP256K1是一种椭圆曲线算法,通过一个已知『私钥』时可以算得『公钥』,而『公钥』已知时却无法反向计算出『私钥』
RSA
可做数字签名和加密算法、会随着密钥长度增加,性能急剧下降
基于一个十分简单的数论事实:将两个大素数相乘十分容易,但对其进行因式分解却十分困难,所以可以将其乘积公开作为加密密钥
2048 位
DSA
只能用于数字签名无法用于加密
ECC
ECC相比其他非对称加密算法的优势在于它的密钥更小,RSA虽然安全级别高,但缺点也很明显,即加解密的耗时较长
椭圆加密算法 256 位
HASH算法
将目标文本或文件转换成具有相同长度的,不可逆的摘要字符串
MD5
SHA与MD5其实是差不多的,无非就是哈希函数不同,幻数段数以及迭代方式,迭代次数不同,以及最终的摘要长度不同
破解
彩虹表
128位 16字节
SHA-1
160位 20字节
SHA-2
SHA224
SHA256
SHA384
SHA512
SHA-3
java9开始支持
比sha2更快
安全级别
因为hash算法是对原文进行按指定位数进行分组组合,这种组合的方式有很多,所以无法反推,hash碰撞概率 SHA-n,那么其安全级别就是:2^(n/2)
定长
常用的几种哈希算法都是将明文按照一定长度(比如512比特)进行分组,如果最后一个分组长度不够特定值(比如448比特),就补位使其长度为特定值,然后再在后面的一定空间中(比如64比特)记录明文实有信息的长度。之后再按照从前到后的顺序对每一个分组进行计算,当前分组的计算结果参与下一组分组的计算,直到最后一组计算结束。这种方式得到的结果就是最后的哈希值。也正是用这种办法使得哈希计算,无论输入多长,输出都是定长的
不能反推
因为hash算法是对原文进行按指定位数进行分组组合,这种组合的方式有很多,所以无法反推
其他
国密算法
我国也制定了自己的对称加密算法,叫国密算法,SM1相当于AES、SM2相当于ECC
加密算法优缺点
对称加密
加密速度快,要考虑密钥如何传输,密文紧凑(分组对称加密可以做到明文多少比特,密文就是多少比特)
需要传输密钥,容易被窃听
非对称加密
加密速度慢,不需要传输密钥,安全性高,密文非紧凑(密文可能会变长)
无需传递私钥
每个人2个密钥,不会随着人数增加倍数增加
加密算法结合
数据使用对称加密算法加解密,速度快且紧凑
通过数字签名的方式确定数据发送方的身份及抗抵赖
通过哈希算法保证数据传输过程中没有被篡改
对称加密对大文件加密,非对称加密对密钥加密
加密算法应用
SSL/TSL
RSASHA256
TLS(Transport Layer Security,传输层安全
SSL(Secure Sockets Layer,安全套接字层)是一种标准安全协议
是 IETF 在 SSL 3.0 的基础上设计的协议,它是 SSL 协议的升级版。两者差别极小,可以理解为 TLS 是 SSL 3.1
数字签名+数字证书
用户登录
直接对密码进行md5不安全,可以反查询
加盐、MD5加密
第三方应用授权签名
HMAC SHA256加密
比特币
sha256
银行数字证书
AES\DES
文件下载签名校验
MD5加签成固定的长度
契约锁