nist的那些坑

写论文的时候需要用到随机数测试nist这个工具检查加密密钥流是否随机,博主折腾了几天终于顺利让自己的密钥流顺利通过了所有测试,在这里记录一下,防止以后遗忘。
1、universal测试不通过问题
即通用测试,这个测试是尝试使用游程编码对测试序列压缩,根据信息论,白噪声信号等概分布,信息熵为最大,无法被压缩。如果该序列可以被明显压缩,说明该序列不是随机的。博主一开始设置10240010的序列进行测试,发现无法通过,因为该项测试每块至少要387840个样点,将序列长度改为51200010就可以了。
2、RandomExcursionVariant测试无结果问题
还是测试数据不够长,这个测试的原理大概就是对测试序列(-1,1)化之后做一个积分操作,观察积分序列中0的个数,也就是将积分序列用线图表示之后,线图跟x坐标轴交叉的次数。在对每一个圈里面的数据做若干统计计算。这个测试可以执行有一个很重要的前提条件,就是每一个block的积分序列至少要有500个圈,要满足这个条件,就必须有一个很长的序列,博主一开始使用的是512000×10的伪随机二进制序列,发现达不到这个条件,如果继续增加序列长度会严重影响博主的破笔记本的计算速度,所以博主改了一下源代码,将这个条件改成了50


之后的测试顺利通过

前面的RandomExcursion同理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 加密与解密 对称密码体制的保密性主要取决于密钥的保密性,与算法的保密性无关 非对称加密算法与对称加密算法的区别: ...
    peerless_1024阅读 2,243评论 0 0
  • 1/3 考试说明 选择题,10道,共10分 填空题,10道,共20分 简答题,5道,共30分 计算题,3道,共30...
    25岁老头_毕业版阅读 6,873评论 0 50
  • 面试必背 会舍弃、总结概括——根据我这些年面试和看面试题搜集过来的知识点汇总而来 建议根据我的写的面试应对思路中的...
    luoyangzk阅读 7,184评论 6 173
  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 8,785评论 0 6
  • 加密算法最早诞生在什么时候?计算机出现之后吗?不,早在公元前 7 世纪,古希腊人就已经在使用加密算法了。他们使用一...
    涅槃快乐是金阅读 499评论 0 1

友情链接更多精彩内容