如何以非交互方式使用NIST软件?

时间:2018-11-07 05:44:28

标签: python c random cryptography

我正在使用NIST软件。该工具(用C语言编写)具有交互模式。它获取一个输入文件,向用户询问有关测试类型和参数的一些问题,然后运行测试。我想在几个文件上运行它,所以我想在Python中自动化整个过程。无论如何,是否可以在非交互模式下使用此软件?

有关文档和代码:http://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html

2 个答案:

答案 0 :(得分:2)

您可以使用pexpect(一个期望的python库)自动执行交互式界面。期望也是NIST产品。

答案 1 :(得分:1)

NIST STS是开源的,因此您可以下载和修改它;

asses.c中的主要内容

tp.n = atoi(argv[1]); // gets the size from command line.

generatorOptions() in the utilities.c , case option tell you how to enter your file.

因此,您可以修复参数,进行设计和编译。

在文档中NIST也这样说;

  

在存储空间有问题的情况下,用户可能希望修改参考实现并插入正在评估中的PRNG的实现。比特流将直接存储   在epsilon数据结构中,其中包含二进制序列。

注意:根据您的需要,红Cri的答案可能更适合您。