一、实验内容 利用密码技术或者专门的随机数产生算法产生随机数,并对产生的随机数进行统计分析。 二、实验原理 (一)本次实验使用了两种方法生成随机数,分别如下: 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