《深入浅出HTTPS》读书笔记(19):密钥

为了避免暴力破解,不同密码学算法的密钥应该保证一定长度,密钥长度足够长也不代表安全,密钥应该是随机、无法预测的。

从两个维度考虑:

◎对称加密算法、MAC算法使用的密钥就是一串数字。

◎公开密钥算法中的密钥是一对,由多个部分组成,但本质上也可以认为由多个数字组成。

密钥虽然是简单的数字,但在实际使用过程中还是复杂的,涉及密钥生成、存储、传输等一系列的工作。

【生成密钥】

密钥最关键的特性:

◎足够的长度,达到一定长度才能保证算法安全性。

◎不可预测性,不能是简单的数字、字母组合,否则即使长度足够,密钥本身也容易被破解。

为了生成密钥,一般采用两种方法:

◎基于伪随机生成器生成密钥。

◎基于口令的加密(Password-based Encryption,简称PBE)算法产生密钥。

使用伪随机数生成器(PRNG)生成的密钥足够随机,很难预测。

PBE算法生成的密钥一般情况下无须存储,因为使用同样的口令就能生成同样的密钥。

相关推荐
优秀的颜1 分钟前
计算机基础知识(第五篇)
java·开发语言·分布式
CodeWithMe3 分钟前
【C/C++】std::vector成员函数清单
开发语言·c++
uyeonashi3 分钟前
【QT控件】输入类控件详解
开发语言·c++·qt
飞川撸码4 分钟前
【LeetCode 热题100】网格路径类 DP 系列题:不同路径 & 最小路径和(力扣62 / 64 )(Go语言版)
算法·leetcode·golang·动态规划
Neil今天也要学习9 分钟前
永磁同步电机参数辨识算法--IPMSM拓展卡尔曼滤波全参数辨识
单片机·嵌入式硬件·算法
yzx9910131 小时前
基于 Q-Learning 算法和 CNN 的强化学习实现方案
人工智能·算法·cnn
iCxhust1 小时前
Prj10--8088单板机C语言8259测试(1)
c语言·开发语言
亮亮爱刷题1 小时前
算法练习-回溯
算法
眼镜哥(with glasses)2 小时前
蓝桥杯 国赛2024python(b组)题目(1-3)
数据结构·算法·蓝桥杯
крон4 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机