16、密码学中的随机数、加密方法与攻击技术

密码学中的随机数、加密方法与攻击技术

1. 偏差与随机数处理

偏差是指一个过程即使是真正随机的,也更倾向于产生某一种结果而非其他结果的特性。有一些方法可以减少偏差,常见的是将多个比特组合成一个比特,或者将多个随机源相互组合。例如,我们可以对来自不同随机源的多个比特进行异或(XOR)操作,以获得一个新的随机比特。以抛硬币为例,假设反面为 0,正面为 1。如果抛两次硬币,连续两次反面或连续两次正面时结果为 0,其概率为 0.5002,那么结果为 1 的概率就是 1 - 0.5002 = 0.4998。这两个概率都更接近 1/2,使得输出的比特偏差大大减少(因为纯粹随机的抛硬币,正面和反面的概率均为 1/2)。

2. 线性同余随机数生成器

在众多伪随机数生成器中,线性同余随机数生成器是一种不错且流行的选择。它能生成一系列特定形式的数字,这些数字依赖于整数 a、c、m 和种子(初始值 X0)。该系列被称为“线性同余”,是因为下一个数字与前一个数字呈线性关系,并对 m 取模。为了减少该系列的可预测性和偏差,有以下建议:
1. 种子选择 :种子可以任意选择。常见的获取种子的方法有三种,即会话间保存种子、根据当前日期和时间生成种子或让用户输入种子。在其他变量相同的情况下,每次使用相同的种子可以使伪随机源的实验结果具有可重复性。
2. 模数 m :模数 m 应该较大,大于 230。计算机的字长(如 32 位或 64 位)是可以接受的,特别是在考虑速度的情况下。但必须确保不会出现舍入误差(即必须使用整数运算,而非浮点运算)。
3. 参数 a 与模数 m 的关系

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值