random - NIST 的二进制输入文件序列
问题描述
我已经开发了一个 RNG 程序,现在,我想测试我的数字是否是随机的。因此,我决定使用 NIST 测试套件。
我仍然对输入文件格式感到困惑,他们说:“用户可能希望根据需要构建任意长度的文件。文件应包含二进制序列,存储为由零和一组成的 ASCII 字符,或二进制数据其中每个字节包含 8 位值 0 和 1"
我的 python RNG 程序将逐行返回一个数字序列,如下所示:
69
11
68
55
33
20
75
96
如何将它们转换为 NIST 的正确输入文件?
解决方案
您的第一个随机数是 69,即二进制 1000101。您可以将其作为 ASCII 字符串“1000101”或作为二进制文件 1000101 中的七位放入测试文件中...... ASCII 选项可能更容易,但文件大小将是八倍。无论哪种情况,您可能都必须小心二进制中的前导零,如果不阅读比我目前有时间更多的 SP 800-22,我不确定 NIST 想要什么。
推荐阅读
- excel - 用于将数据拉入/重新计算工作簿然后每小时 PDF 的 Excel 的 VBA 代码最初运行良好最终开始 PDF 处理空白工作表
- python - 为所有子图设置 showgrid = False
- javascript - 在执行命令的行会中更改机器人昵称(Discord js)
- java - 我的 UML 图中是否需要另一个关联?
- django - 在django rest框架中注册时如何允许用户选择组?
- tensorflow - 在 PyCharm 插件市场中找不到 TensorFlow 开发者证书插件
- django - 如何使用 model.objects.values() 从模型“函数”中检索数据?
- python - 检查谁登录了 Django 管理面板
- javascript - 如何使用自定义按钮控制 react-bootstrap 轮播?
- c# - 一次只能看到一个项目的 WPF 面板(替代 QML 的 StackLayout)?