Anish-M-code/pqcrypt
GitHub: Anish-M-code/pqcrypt
一个面向后量子密码学的学习与实践工具包,帮助用户理解与测试抗量子攻击算法。
Stars: 42 | Forks: 11
# PQcrypt:后量子密码学工具包
PQcrypt 是一个易于使用的后量子密码学工具,适用于 Linux 用户。
## 系统要求
一台至少拥有 4GB 内存且 CPU 支持 x86_64 架构或 64 位 的现代 PC
运行以下支持的操作系统之一:
* Debian/Debian 系 Linux 发行版
* Ubuntu / Ubuntu 系 Linux 发行版
* Fedora Linux / Fedora 系 Linux 发行版
* Arch Linux / Arch Linux 系发行版
## 快速安装
要从本 GitHub 仓库安装:
在 Linux 终端中运行以下命令以安装:
```
git clone https://github.com/Anish-M-code/pqcrypt.git
```
然后只需输入以下命令即可开始使用:
```
cd pqcrypt && source check_deps.sh
```
安装完成后,运行程序只需输入:
```
source run.sh
```
## 支持的算法
### 公钥加密与密钥建立算法:
1. Kyber1024 [ 推荐 ]
2. HQC-256
3. Classic-McEliece-6688128
4. Classic-McEliece-6688128f
5. Classic-McEliece-6960119
6. Classic-McEliece-6960119f
7. Classic-McEliece-8192128
8. Classic-McEliece-8192128f
### 数字签名算法:
1. Dilithium5 [ 推荐 ]
2. Falcon-1024
3. SPHINCS+-Haraka-256f-robust
4. SPHINCS+-Haraka-256f-simple
5. SPHINCS+-Haraka-256s-robust
6. SPHINCS+-Haraka-256s-simple
7. SPHINCS+-SHA256-256f-robust
8. SPHINCS+-SHA256-256f-simple
9. SPHINCS+-SHA256-256s-robust
10. SPHINCS+-SHA256-256s-simple
11. SPHINCS+-SHAKE256-256f-robust
12. SPHINCS+-SHAKE256-256f-simple
13. SPHINCS+-SHAKE256-256s-robust
14. SPHINCS+-SHAKE256-256s-simple
## 功能特性
1. 仅支持 NIST 第三轮选定用于标准化和第四轮分析评估的公钥加密/密钥建立算法和数字签名算法。
2. 本项目所有算法使用的参数集均声称提供 NIST 5 级安全,提供最高安全性。
3. 使用 AES256-GCM 和 Argon2id 密钥派生来保护密钥并对数据进行混合加密。
## 贡献说明
目前我将此项目视为个人项目,开发它是为了学习现代密码学,欢迎所有公开贡献。如有问题请自由提交 issue。请注意,此项目可能会长时间无活动,除非标记为归档,否则它处于活跃状态并接受贡献。
## 限制与安全支持
有关安全支持和漏洞报告,请参考 [安全说明](/SECURITY.md)。
#### PQcrypt 会消耗数据。请谨慎使用。作者并非专业密码学家。本工具的开发目的是学习现代密码学。请注意,该工具使用了 liboqs,而 liboqs 并不适用于数据安全场景。
开发者不对因使用本工具造成的任何损害承担责任。
本工具仅用于教育和道德实验目的。
## 参考资料
* https://soatok.blog/2021/11/17/understanding-hkdf/
* https://github.com/open-quantum-safe/liboqs/discussions/1262
* https://crypto.stackexchange.com/questions/101066/is-argon2-quantum-safe
* https://crypto.stackexchange.com/questions/103918/in-a-pgp-like-application-would-compress-and-encrypt-leak-information
* https://crypto.stackexchange.com/questions/101066/can-32-byte-shared-secret-can-be-given-as-input-to-hkdf-sha512
* https://crypto.stackexchange.com/questions/101159/minimum-length-of-salt-and-info-for-hkdf
* https://crypto.stackexchange.com/questions/101651/for-post-quantum-security-is-any-hmac-with-256-bit-key-secure
* https://crypto.stackexchange.com/questions/101612/common-pitfalls-to-be-taken-care-of-while-implementing-encrypt-then-hmac-scheme
* https://crypto.stackexchange.com/questions/101164/can-encrypt-then-mac-using-hmac-sha256-with-aes-256-gcm-protect-against-attacks
* https://crypto.stackexchange.com/questions/101173/if-attacker-modifies-salt-used-for-hkdf-used-for-splitting-keys-for-encryption-a
* https://crypto.stackexchange.com/questions/101118/can-raw-hash-be-used-as-secret-key
* https://crypto.stackexchange.com/questions/101149/could-you-reuse-the-iv-for-aes256-gcm-as-salt-for-hkdf-sha256
* https://crypto.stackexchange.com/questions/101181/to-derive-multiple-keys-from-single-shared-secret-can-i-safely-ignore-info-and-s
## 系统要求
一台至少拥有 4GB 内存且 CPU 支持 x86_64 架构或 64 位 的现代 PC
运行以下支持的操作系统之一:
* Debian/Debian 系 Linux 发行版
* Ubuntu / Ubuntu 系 Linux 发行版
* Fedora Linux / Fedora 系 Linux 发行版
* Arch Linux / Arch Linux 系发行版
## 快速安装
要从本 GitHub 仓库安装:
在 Linux 终端中运行以下命令以安装:
```
git clone https://github.com/Anish-M-code/pqcrypt.git
```
然后只需输入以下命令即可开始使用:
```
cd pqcrypt && source check_deps.sh
```
安装完成后,运行程序只需输入:
```
source run.sh
```
## 支持的算法
### 公钥加密与密钥建立算法:
1. Kyber1024 [ 推荐 ]
2. HQC-256
3. Classic-McEliece-6688128
4. Classic-McEliece-6688128f
5. Classic-McEliece-6960119
6. Classic-McEliece-6960119f
7. Classic-McEliece-8192128
8. Classic-McEliece-8192128f
### 数字签名算法:
1. Dilithium5 [ 推荐 ]
2. Falcon-1024
3. SPHINCS+-Haraka-256f-robust
4. SPHINCS+-Haraka-256f-simple
5. SPHINCS+-Haraka-256s-robust
6. SPHINCS+-Haraka-256s-simple
7. SPHINCS+-SHA256-256f-robust
8. SPHINCS+-SHA256-256f-simple
9. SPHINCS+-SHA256-256s-robust
10. SPHINCS+-SHA256-256s-simple
11. SPHINCS+-SHAKE256-256f-robust
12. SPHINCS+-SHAKE256-256f-simple
13. SPHINCS+-SHAKE256-256s-robust
14. SPHINCS+-SHAKE256-256s-simple
## 功能特性
1. 仅支持 NIST 第三轮选定用于标准化和第四轮分析评估的公钥加密/密钥建立算法和数字签名算法。
2. 本项目所有算法使用的参数集均声称提供 NIST 5 级安全,提供最高安全性。
3. 使用 AES256-GCM 和 Argon2id 密钥派生来保护密钥并对数据进行混合加密。
## 贡献说明
目前我将此项目视为个人项目,开发它是为了学习现代密码学,欢迎所有公开贡献。如有问题请自由提交 issue。请注意,此项目可能会长时间无活动,除非标记为归档,否则它处于活跃状态并接受贡献。
## 限制与安全支持
有关安全支持和漏洞报告,请参考 [安全说明](/SECURITY.md)。
#### PQcrypt 会消耗数据。请谨慎使用。作者并非专业密码学家。本工具的开发目的是学习现代密码学。请注意,该工具使用了 liboqs,而 liboqs 并不适用于数据安全场景。
开发者不对因使用本工具造成的任何损害承担责任。
本工具仅用于教育和道德实验目的。
## 参考资料
* https://soatok.blog/2021/11/17/understanding-hkdf/
* https://github.com/open-quantum-safe/liboqs/discussions/1262
* https://crypto.stackexchange.com/questions/101066/is-argon2-quantum-safe
* https://crypto.stackexchange.com/questions/103918/in-a-pgp-like-application-would-compress-and-encrypt-leak-information
* https://crypto.stackexchange.com/questions/101066/can-32-byte-shared-secret-can-be-given-as-input-to-hkdf-sha512
* https://crypto.stackexchange.com/questions/101159/minimum-length-of-salt-and-info-for-hkdf
* https://crypto.stackexchange.com/questions/101651/for-post-quantum-security-is-any-hmac-with-256-bit-key-secure
* https://crypto.stackexchange.com/questions/101612/common-pitfalls-to-be-taken-care-of-while-implementing-encrypt-then-hmac-scheme
* https://crypto.stackexchange.com/questions/101164/can-encrypt-then-mac-using-hmac-sha256-with-aes-256-gcm-protect-against-attacks
* https://crypto.stackexchange.com/questions/101173/if-attacker-modifies-salt-used-for-hkdf-used-for-splitting-keys-for-encryption-a
* https://crypto.stackexchange.com/questions/101118/can-raw-hash-be-used-as-secret-key
* https://crypto.stackexchange.com/questions/101149/could-you-reuse-the-iv-for-aes256-gcm-as-salt-for-hkdf-sha256
* https://crypto.stackexchange.com/questions/101181/to-derive-multiple-keys-from-single-shared-secret-can-i-safely-ignore-info-and-s标签:AES256-GCM, Argon2id, Classic McEliece, CVE, Dilithium, GitHub 项目, Kyber, Linux 工具, NIST PQC, Post Quantum Cryptography, XML 请求, 加密, 后量子密码, 子域名枚举, 安全开发, 密码学, 密钥交换, 密钥派生, 应用安全, 开放策略代理, 手动系统调用, 抗量子攻击, 数字签名, 漏洞扫描器, 系统安全, 逆向工具