一个用于生成和统计测试伪随机数的 Python 实现,支持多种经典随机数生成算法和统计检验,适用于密码学中随机数相关部分的学习与动手实验。
- 支持多种随机数生成器:LCG、FSR、Box-Muller、NumPy 等
- 支持均匀分布、正态分布等常用分布
- 提供频率检验、间隔检验、序列检验、扑克检验、游程检验、K-S 检验等统计测试
- 支持命令行批量测试和可视化分析
pip install -r requirements.txt
# 或
pip install numpy scipy matplotlib seaborn如需开发/打包,可用:
python setup.py installrandom_tester/ # 主程序包
generators.py # 随机数生成算法
testers.py # 统计检验方法
visualizers.py # 可视化工具
utils.py # 工具函数
main.py # 命令行入口
Report/ # LaTeX报告与图表
main.tex
references.bib
Figure/
README.md # 项目说明
requirements.txt # 依赖列表
setup.py # 安装脚本
命令行生成并测试 10000 个均匀分布随机数,并输出每个数字的出现次数和概率:
python -m random_tester.main -g uniform_numpy -n 10000 -t frequency_test -N 10运行 frequency_test 时,命令行会输出每个数字的出现次数和概率,便于直接统计频率分布。
测试正态分布生成器的 K-S 检验:
python -m random_tester.main -g normal_box_muller -n 10000 -t ks_test_normal -m 0 -sd 1更多参数和用法请见main.py或使用-h查看帮助。