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

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

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

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

1)口令用于身份校验

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

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

2)PBKDF2算法

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

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

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

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

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

相关推荐
wuweijianlove1 小时前
算法性能的渐近与非渐近行为对比的技术4
算法
_dindong1 小时前
cf1091div2 C.Grid Covering(数论)
c++·算法
AI成长日志1 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
黎阳之光2 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
skywalker_112 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 17. 电话号码的字母组合 | C++ 回溯算法经典模板
c++·算法·leetcode