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

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

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

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

1)口令用于身份校验

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

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

2)PBKDF2算法

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

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

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

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

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

相关推荐
白露与泡影15 小时前
2026秋招冲刺:1000道Java高频面试题(各大厂考点汇总)
java·开发语言·面试
IT龟苓膏15 小时前
Java 并发基础:进程、线程、线程状态、synchronized、volatile 一篇讲清
java·开发语言·jvm
郝学胜-神的一滴15 小时前
Python 高级编程 019:类变量与实例变量彻底解析
开发语言·python·程序人生·软件构建
退休倒计时15 小时前
【每日一题】LeetCode 15. 三数之和 TypeScript
数据结构·算法·leetcode·typescript
北京耐用通信15 小时前
耐达讯自动化工业网关:极简组态实现 Modbus 转 PROFINET 稳定通讯
人工智能·物联网·网络协议·自动化·信息与通信
林爷万福15 小时前
MATLAB光谱数据分析从入门到项目实战
算法·光纤光谱仪
吴可可12315 小时前
AutoCAD2016二次开发环境配置指南
算法·机器学习
Thomas_YXQ15 小时前
Unity3D Addressable 深度优化热更性能消耗
开发语言·3d·unity·微信
一条大祥脚15 小时前
ABC461 枚举|扫描线|动态前缀和|数论|dfs枚举子集
算法·深度优先
aini_lovee15 小时前
C# 快递单打印系统(万能套打系统)
开发语言·c#