5、随机数生成器:原理、安全与应用

随机数生成器:原理、安全与应用

1. 随机数生成器概述

随机数在许多领域都有重要应用,尤其是在密码学中。随机数生成器(RNG)主要分为真随机数生成器和伪随机数生成器(PRNG)。

真随机数生成器的熵源可以来自系统和人类活动,如鼠标移动等。不过,这些活动生成的熵源比较脆弱,容易被攻击者操纵,并且生成随机比特的速度较慢。量子随机数生成器(QRNG)依赖量子力学现象,如放射性衰变、真空涨落和光子极化观测,能提供真正的随机性,但实际应用中可能存在偏差,生成比特的速度也不快,同样需要额外组件来实现高速可靠的生成。

伪随机数生成器则能从少量真随机比特可靠地生成大量人工随机比特。与RNG不同,PRNG能快速从数字源以确定的方式生成看似随机的比特,并具有最大熵。本质上,PRNG将少量不可靠的随机比特转换为适合密码学应用的长串可靠伪随机比特,如下图所示:

graph LR
    A[RNG] -->|少量不可靠比特| B[PRNG]
    B -->|长串可靠比特| C[密码学应用]
2. PRNG的工作原理

PRNG会定期从RNG接收随机比特,并使用这些比特更新一个大的内存缓冲区(即熵池)的内容。熵池是PRNG的熵源,类似于物理环境是RNG的熵源。更新熵池时,PRNG会混合池中的比特以消除统计偏差。

为了生成伪随机比特,PRNG运行确定性随机比特生成器(DRBG)算法,该算法将熵池中的一些比特扩展为更长的序列。DRBG是确定性的,给定相同输入总是产生相同输出。PRNG会确保DRBG不会两次接收到相同输入,以生成唯一的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值