一、实验内容
利用密码技术或者专门的随机数产生算法产生随机数,并对产生的随机数进行统计分析。
二、实验原理
(一)本次实验使用了两种方法生成随机数,分别如下:
1、使用RC4算法产生随机数:
原理:RC4算法的原理很简单,包括初始化算法和伪随机子密码生成算法两大部分。在初始化的过程中,密钥的主要功能是将S-box搅乱,i确保S-box的每个元素都得到处理,j保证S-box的搅乱是随机的。而不同的S-box在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,并且,该序列是随机的。
详细代码请见代码附录。
2、使用rand函数生成随机数:
rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
因此,在这个实验中,我使用了时间作为随机数种子,时间时刻在变化,因此每次生成的随机数都是不同的
详细代码请见代码附录。
(二)生成的随机数序列,我采用了matlab对随机数进行统计分析。
2021-11-06 20:24:19
538KB
随机数,软院
1