主权项 |
一种基于混沌加密的真随机数生成方法,其特征在于:步骤一、采用手机或录音笔随机录制一段包含背景杂音的音频;步骤二、将录制的音频信息传送至计算机设备,然后将音频信息转换成wav格式;步骤三、将转换后的音频信息导入计算机设备中安装的MATLAB软件,利用Matlab软件的[y, Fs, bits]=wavread(“ *.wav”)命令读取音频的信号y、采样率Fs和采样位数bits,其中信号y为关于时间的数值序列,值域范围在[‑1, 1];步骤四、利用构建的混沌系统产生与信号y数值序列长度相同的混沌序列,其中混沌系统的初始值和系统参数保证经过迭代后系统产生的是混沌行为;步骤五、利用产生的混沌序列对信号y数值序列进行加密,以扩大录制的音频信号的差异,生成加密实值序列;加密方法为,将混沌序列和信号y数值序列中的每一个元素同时乘以2<sup>bits</sup>,其中bits为步骤三得到的采样位数,再对每一个元素取整,然后采用位异或的方式用取整后的混沌序列对信号y数值序列进行加密;步骤六、利用空间分割法或阈值法对步骤五的加密实值序列进行二值化处理,二值化的输出即为真随机数;所述的空间分割法利用公式<img file="dest_path_image002.GIF" wi="181" he="67" />,式中,n > 0为任意正整数;<img file="dest_path_image004.GIF" wi="103" he="30" />代表[a, b]上2<sup>n</sup>个连续的等分区间;将实值序列的值域划分为大小相等的2<sup>n</sup>个区间并编号0,1,…, 2<sup>n</sup>‑1,属于编号为偶数空间的令二值化的输出为0,属于编号为奇数空间的令二值化的输出为1。 |