密码学工具:随机数生成器(PRNG与TRNG)设计详解
创作时间:
作者:
@小白创作中心
密码学工具:随机数生成器(PRNG与TRNG)设计详解
引用
CSDN
1.
https://blog.csdn.net/WillsonZ/article/details/141954472
随机数生成器是密码学中的核心组件,广泛应用于密钥生成、初始化向量设置等多个场景。本文将深入探讨随机数的性质、伪随机数生成器(PRNG)和真随机数生成器(TRNG)的设计原理及其硬件实现方式。
随机数应用
随机数与密码学密切相关,在AES算法中多次使用到随机数。具体应用场景包括:
- 密钥(对称密码和消息认证码)生成
- 密钥对(公钥密码和数字签名)生成
- 初始化向量(IV)生成
- NONCE码(AES-CTR模式中生成计数器初值)生成
- 盐码(应用于口令密码PBE)生成
随机数性质
随机数具有三个关键性质:
- 随机性:不存在统计学偏差,数列完全杂乱
- 不可预测性:无法从过去的数列推测出下一个数
- 不可重现性:除非保存数列本身,否则无法重现相同的数列
其中,满足随机性和不可预测性的随机数称为强伪随机数,可应用于密码算法;具备不可重现性的随机数称为真随机数,也可应用于密码算法。
随机数生成器
随机数生成器分为两类:
- 伪随机数生成器(PRNG):通过软件实现,具有内部状态,根据种子生成随机数序列
- 真随机数生成器(TRNG):通过硬件实现,从物理现象中获取随机性
伪随机数生成器(PRNG)
伪随机数生成器的内部状态是指内存中的数值,根据内部状态计算伪随机数。种子用于初始化内部状态,必须保密。常见的实现方法包括:
- 线性同余法:算法简单但不适合密码算法
- 单向散列函数法:基于SHA-1等单向散列函数
- 密码法:基于AES等对称密码算法
- ANSI X9.17:使用三重DES或AES,增加了掩码步骤
在芯片硬件中,PRNG模块也称DRNG,需要种子进行伪随机数的生成,种子可以由用户写入或使用TRNG模块的输入写入。
真实随机数生成器(TRNG)
TRNG通过物理现象产生随机数,过程不可预测,因此安全性较高。TRNG模块包含随机源模块、采样模块和数字后处理模块。
随机源设计
核心是环形振荡器,由多个反相器组成(必须是奇数个)。环形振荡器没有稳态,会产生周期性振荡信号。使用D触发器作为采样开关,高频环形震荡器的信号作为输入,低频时钟信号作为采样时钟信号。
数字后处理设计
一般采用线性反馈移位寄存器(LFSR),也称作M序列扰乱模块。LFSR通过将寄存器中的某些位进行异或处理,将结果反馈到最左边作为数据输入。经LSFR数字处理后的随机数列,就是TRNG模块输出的随机数序列。
热门推荐
如何制作美味红烧肉:选材、步骤与技巧详解
新买的内衣怎么洗才正确?有哪些注意事项?
数字13在中国文化中的多重含义
二郎神为何有第三只眼?很可能是他母亲的化身,其实二郎神并不姓杨
起底“东北雨姐”的“彪悍”人生:夫妻实控约30家企业,一年3次“翻车”
西游记里,青狮精实力或被低估,金翅大鹏雕言过其实
怀孕脸上过敏发红发痒怎么回事
DLSS、FSR、XESS对比:游戏图像增强技术大解析
"国家一级演员"陈宝国:从"拼命三郎"到"佛系"生活,他的消失是娱乐圈的悲哀
停止自我囚禁,解救被完美主义逼疯的灵魂
荆州市有一个区,曾经是湖北省“第二大城市”,仅次于省会武汉?
紫微斗数详解:夫妻宫太阳的含义与影响
轻松制作动态图片的步骤与技巧分享,助你创作精彩瞬间!
全国排污许可证制度实施现状与展望
品味鸡排:金黄酥脆中的美食艺术
女性大运伤官运的影响与应对之道
浓痰封喉却咳不出来?三招助你顺利排痰,关键时刻能救命!
酒石酸伐尼克兰片的价格受哪些因素影响?
长期佩戴银手镯真的能改善健康吗?医生从医学角度解析真相
古代战争中的单挑现象:历史与神话的辨析
论文学习:基于数据驱动的锂离子电池健康状态估计和剩余使用寿命预测
看《我独自升级》主角开挂,不如看韩漫如何逆袭
血糖没超过这个数,大多不需要用药,别自己吓自己!
牙膏原料致癌?权威协会回应!
网络安全领域五大注入攻击类型介绍
历史的回声:《听妈妈讲那过去的事情》
云南梅里雪山:让人心灵放空的神山,第一次去的旅行攻略!
张本智和salc评测:一块实用的乒乓球底板
常见保湿成分合集 挑选护肤品不走弯路
济南军区456医院医院简介