NIST测试总结

原来那篇文章写错了,以下是更新的

NIST测试攻略
首先明确要测试什么东西,如果是测试混沌的话,步骤如下:


1.拥有混沌的simlunik文件(即.mdl文件),然后运行;
2,用师兄的marlab程序运行,注意修改里面的东西如(要运行的.mdl文件,和要生成序列的文件放在 哪);此时已经生成一个可以用来测试的文件了,如testdata.txt
测试文件也可以用别的仿真软件生成的序列


3.打开cygwin文件,输入cd d:/NIST_ceshibao/sts(这是为了找到.assess文件的位置)


4.输入./assess 长度(如1000000)这个长度是一组的长度,所以要注意序列的位数一定要多,才能完成测试。//是在MATLAB中生成后的界面中你会看到m1,和n,这两个相乘就是要输入的总长度,但这个可以根据自己需要更改。


5.选择0,表示要输入测试的文件


6.输入要测试的序列文件的位置,比如d:/NIST_ceshibao/sts/data/data_out.txt


7.输入1,(就是选择测试15项)


8.输入0,(就是设置为默认参数)


9.输入组个数(这个一般是分组,把你想分多少组测试就输入多少组,比如10,就是分成10组,每组1000000(这个是上面那个输入的)      http://blog.csdn.net/qishandaxue/article/details/51576447)


10.输入0,选择2进制(选择1会出现UNDERFLOW问题)


11,耐心等待结果在(D:\NIST_ceshibao\sts\experiments\AlgorithmTesting)


12.结果在D:\NIST_ceshibao\sts\experiments\AlgorithmTesting(这是我安装的这个测试软件的位置)

注意:测试序列取值太少容易测试不通过

(该测试方法也是我胡师兄交给我的,我把步骤稍加整理得来)

matlab程序

clc;
clear all;
% sim('Bldcm_ori1');%%%测试BLD系统//根据自己要测试的内容自己修改
%  X1=iq;


sim('hynew');%%%测试Qi超混沌系统//和上面的一样,这两个是测试的不同的混沌,如果要测试自己的就用其中一个就行
X1=x1;
TM1=mod(10^7*(X1+abs(min(X1))),2^8);
%TM2=mod(16807*(X2+abs(min(X2))),2^8);


D1=dec2bin(TM1);
%D2=dec2bin(TM2);
[m1,n1]=size(D1)
%[m2,n2]=size(D2);
% %%将每个二进制序列首尾相连
EE1=D1'
%EE2=D2';
%S1=reshape(EE1,1,m1*n1);%得到的结果为一行的字符串
%S2=reshape(EE2,1,m2*n2);
%L=length(S1)
%ss1 = str2num(EE1(:))';%%将字符串转化为矩阵
%size(ss1)
%ss2= str2num(S2(:))';
% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%ss=xor(ss1,ss2);
fid=fopen('testdata1.txt','w+');
fprintf(fid,'%s',EE1);
fclose(fid);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%dlmwrite('data_result.txt', ss1,'\t')
%save('data_result.txt','ss1')
%data122 = load('data_result.mat')

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值