一维均匀分布随机数序列的产生方法引言:随机数序列主要应用于序列密码(流密码)
序列密码的强度完全依赖于序列的随机性与不可预测性
随机数在密码学中也是非常重要的,主要应用于数字签名(如美国数字签名标准中的数字签名算法)、消息认证码(如初始向量)、加密算法(如密钥)、零知识证明、身份认证(如一次性nonce)和众多的密码学协议
关键词:随机数、随机数序列、均匀分布一、随机数及随机数序列的简介在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等
产生随机数有多种不同的方法
这些方法被称为随机数发生器
随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系
随机数序列分为真随机数序列与伪随机数序列,随机数分为真随机数和伪随机数
真随机数序列从真实世界的自然随机性源产生,办法是找出似乎是随机的事件然后从中提取随机性,如自然界中的抛币
在计算机中噪音可以选取真实世界的自然随机性,如从计算机时钟寄存器中取得本机的当前系统时间到秒(或微秒)级的数值,测量两次击键的时间间隔,相邻两次鼠标移动的时间间隔以及由计算机硬件报告的鼠标实际位置等
伪随机数序列用确定的算法产生,不是真正的随机数序列
伪随机数序列发生器指使用短的真随机数序列(称为种子)x扩展成较长的伪随机数序列y
在密码学中伪随机数序列的使用大大减少了真随机数序列的使用,但不能完全取代真随机数序列的使用(如种子)
通常,我们需要的随机数序列应具有非退化性、周期长、相关系数小等优点
二、一维均匀分布的简介设连续型随机变量X的分布函数为F(x)=(x-a)/(b-a),a≤x≤b,则称随机变量X服从[a,b]上的均匀分布,记为X~U[a,b]
若[x1,x2]是[a,b]的任一子区间,则P{x1≤x≤x2}=(x2-x1