Skip to content

riyueshan/Random

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

random_tester

一个用于生成和统计测试伪随机数的 Python 实现,支持多种经典随机数生成算法和统计检验,适用于密码学中随机数相关部分的学习与动手实验。

主要功能

  • 支持多种随机数生成器:LCG、FSR、Box-Muller、NumPy 等
  • 支持均匀分布、正态分布等常用分布
  • 提供频率检验、间隔检验、序列检验、扑克检验、游程检验、K-S 检验等统计测试
  • 支持命令行批量测试和可视化分析

环境要求

pip install -r requirements.txt
#
pip install numpy scipy matplotlib seaborn

如需开发/打包,可用:

python setup.py install

目录结构

random_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查看帮助。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published