《深入浅出HTTPS》读书笔记(5):随机数

密码学中随机数的用途非常大,其他密码学算法内部都会用到随机数。

1)效率

在软件或者密码学应用中需要大量的随机数,必须在很短的时间内生成随机数。

2)随机性

生成的随机数只要不存在统计学偏差,那么这个随机数就具备随机性(randomness)。

3)不可预测性

密码学中的随机数必须具备不可预测性,否则就会存在安全问题,当然非密码学应用使用具备随机性的随机数就足够了。

4)不可重现性

所谓不可重现性(unrepeat)就是不管经过多长时间,不会产生完全相同的随机数。

在软件层面不可能生成完全不一样的随机数,在一定周期内,密码学随机数算法最终会生成两个完全相同的随机数。

在密码学中应该尽量使用周期相对长的随机数。

【随机数的工作原理】

真正的随机数生成器TRNG(True Random Number Generator),伪随机数生成器PRNG(Preudo Random Number Generator),还是密码学伪随机数生成器CPRNG(Cryptography secure Preudo Random Number Generator),内部工作原理是一样的

随机数生成器内部会维护一个状态(internal state):

(1)对于TRNG来说,内部状态的数值来自外部设备,称为熵(entrory),比如动态的时间、变化的温度、声音的变化、鼠标位置。

(2)对于PRNG来说,内部状态的数值来自于模拟的数值,称为种子(seed)。

一个优秀的随机数生成器就在于寻找尽可能多的熵和种子,一旦熵和种子不够,随机数生成器就会停止运行。

相关推荐
q567315234 小时前
企业级 HTTP 代理采购选型:技术评估清单 15 项
开发语言·网络·爬虫·网络协议·http·隧道ip·代理ip
白嫖一茶4 小时前
HTTP 状态码详解:五大类与常见状态码解析
网络·网络协议·http
ai_xiaogui6 小时前
PanelAI没有域名也能装?IP安装+自签HTTPS+安全加固全攻略(私有化部署必备)
tcp/ip·安全·https·私有化部署·自签证书·panelai·自带https自动续证
treesforest7 小时前
如何解决IP定位精度不足导致的投放偏差
网络·网络协议·tcp/ip·ip属地·查ip归属地
2401_868534789 小时前
《论单元测试及其应用》
网络·网络协议
AlanBruce12 小时前
摩尔信使MThings EdgeWeb HTTP API接口
网络·网络协议·http·上位机·plc·modbus·摩尔信使
神仙别闹15 小时前
基于C++设计一个 P2P 聊天软件
网络·网络协议·p2p
IpdataCloud16 小时前
评估交易IP是否来自制裁国家?IP地址查询+政治敏感标签库实操指
网络·网络协议·tcp/ip·ip
映翰通朱工16 小时前
从0到1:EC942边缘计算机用Python实现Modbus TCP采集+MQTT上云全记录(附踩坑实录)
网络·python·网络协议·tcp/ip·二次开发·映翰通
Shell运维手记1 天前
ARP 协议超详细讲解(适合网工考试 / 运维理解)
运维·网络·网络协议·智能路由器