aleksei-radchenkov/sphincsplus-py

GitHub: aleksei-radchenkov/sphincsplus-py

一个基于 Python 的 Sphincs+ 后量子签名方案实现,提供密钥生成、签名与验证的完整流程。

Stars: 0 | Forks: 0

# Sphincs+Py 一个 Sphincs+ 后量子签名方案的 Python 实现。 原始论文可在此处找到:[The SPHINCS+ Signature Framework](https://eprint.iacr.org/2019/1086.pdf)。 ## 安装 安装 [Docker](https://www.docker.com/get-started/)。 ## 用法 _TODO: 首先说明 sphincs 的密钥生成、签名和验证的签名流程。 是否需要暴露其他函数并解释其用法?我认为我们应该在 `__init__.py` 中的 `__all__` 中记录所有函数(如果不打算让用户导入则移除它们)。_ 可以通过两种方式运行程序:通过交互式 Python 控制台,以及通过 Python 脚本。 ### 交互式 Python 控制台 要启动控制台,请使用以下命令: ``` docker build -t sphincsplus . && docker run -it sphincsplus ``` 进入控制台后,您可以运行任意 Python 代码并检查变量。 ``` Interactive Sphincs+ Console. >>> n, h, d, a, k, w, m = 16, 8, 2, 4, 4, 16, 24 >>> sk, pk = keygen(n, h, d, a, k, w, m) >>> sig = sign(msg, sk, n, h, d, a, k, w, m, rand=False) >>> verify(msg, sig, pk, n, h, d, a, k, w, m) True >>> print(pk) b"9h\xefCCv\xa5\xd8\x19|'\x91M\xe11\xfd\xe6\xdd\xdbP\xfbK\xb7I\x03\xeb*\r\xe9\xd4j\x96" ``` ### Python 脚本 您也可以在 [demo.py](/demo.py)) 中运行代码。编写完代码后,可以使用以下命令运行它。 ``` docker build -t sphincsplus . && docker run -it sphincsplus python3 demo.py ``` ## 测试 执行以下命令以运行测试: ``` docker build -t sphincsplus . docker run --rm sphincsplus pytest tests/ -q ``` ## 性能基准测试 _TODO_
标签:__all__导出, CVE, DNS解析, Docker, ePrint, IACR, pocsuite3, pytest, Python加密库, Python实现, Sphincs+, 交互式控制台, 代码文档, 后量子密码, 哈希签名, 安全规则引擎, 安全防御评估, 密码学, 密钥对, 密钥生成, 开源项目, 手动系统调用, 抗量子签名, 数字签名, 签名验证, 请求拦截, 软件测试, 逆向工具, 量子安全