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+, 交互式控制台, 代码文档, 后量子密码, 哈希签名, 安全规则引擎, 安全防御评估, 密码学, 密钥对, 密钥生成, 开源项目, 手动系统调用, 抗量子签名, 数字签名, 签名验证, 请求拦截, 软件测试, 逆向工具, 量子安全