《深入浅出HTTPS》读书笔记(20):口令和PEB算法

口令和密钥最大的区别在于口令更容易生成、更容易记忆,一般情况下口令记录在人脑中,口令可以认为是一种弱密钥,由固定的字母、数字、符号组成,长度也有一定的限制。

在密码学中很少直接用口令进行加密,容易受到暴力攻击和字典攻击。

除了字典攻击,还有彩虹表攻击方式。

1)口令用于身份校验

口令使用摘要算法计算出一个密钥(这个密钥并不是为了加密解密),这就是一种简单的PBE算法,但这种算法是存在安全风险的。

在密码学中,存在一种密码衍生算法(Key Derivation Function, KDF),该算法可以简单理解为通过某些值可以生成任意长度的一个(多个)密钥。

2)PBKDF2算法

PBE算法标准定义在RFC 2898文档中。

PFR相当于一个摘要算法,利用了摘要算法的单向性、输出值固定长度的特性。

Salt是使用随机数生成器生成的一个数值,通过Salt能够避免字典攻击,结合口令和Salt,攻击者就很难创建出所有的字典组合,增大了密钥的搜索空间。

Salt是明文保存的,一般不和最终生成的密钥保存在一起。

为了减缓攻击者的破解速度,生成密钥的时候可以迭代多次,这样创建密钥的时间增加了,破解的时间也会对应增加,由于增加了时间复杂度。

相关推荐
风掣长空3 分钟前
应用层协议HTTP
网络·网络协议·http
minos.cpp8 分钟前
Rust之抽空学习系列(四)—— 编程通用概念(下)
开发语言·学习·rust
余胜辉16 分钟前
transformer口语化解析
算法
硕风和炜17 分钟前
【LeetCode: 1338. 数组大小减半 + 哈希表 + 贪心】
算法·leetcode·散列表·贪心·哈希表
luoganttcc30 分钟前
FPGA有哪些优质的带源码的IP开源网站
网络协议·tcp/ip·fpga开发
lin zaixi()31 分钟前
洛谷 P10483 小猫爬山 完整题解
数据结构·算法
IT猿手33 分钟前
基于Q-Learning的机器人栅格地图路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码
人工智能·深度学习·算法·机器学习·matlab·机器人·智能优化算法
UltraNext36 分钟前
基于PCRLB的CMIMO雷达资源调度方法(MATLAB实现)
开发语言·matlab
笨鸟先飞,笨猪先肥44 分钟前
java泛型
java·开发语言
越甲八千1 小时前
优化后的TCP client 增加心跳包
网络·网络协议·tcp/ip