FrodoKEM 项目使用教程
1. 项目目录结构及介绍
FrodoKEM 项目的目录结构如下:
PQCrypto-LWEKE/
├── eFrodoKEM/
│ ├── src/
│ ├── tests/
│ └── ...
├── FrodoKEM/
│ ├── src/
│ ├── tests/
│ └── ...
├── common/
│ ├── aes/
│ ├── sha3/
│ └── ...
├── LICENSE
├── README.md
├── CONTRIBUTING.md
├── SECURITY.md
└── ...
目录介绍
- eFrodoKEM/: 包含 eFrodoKEM 的 C 和 Python3 实现。
- FrodoKEM/: 包含标准 FrodoKEM 的 C 和 Python3 实现。
- common/: 包含共享的 AES 和 SHA3 实现。
- LICENSE: 项目的 MIT 许可证文件。
- README.md: 项目的介绍和使用说明。
- CONTRIBUTING.md: 贡献指南。
- SECURITY.md: 安全相关信息。
2. 项目启动文件介绍
FrodoKEM 项目的主要启动文件位于 FrodoKEM/src/
和 eFrodoKEM/src/
目录下。以下是一些关键的启动文件:
FrodoKEM/src/
- frodokem.c: 标准 FrodoKEM 的主要实现文件。
- frodokem.h: 标准 FrodoKEM 的头文件。
eFrodoKEM/src/
- efrodokem.c: eFrodoKEM 的主要实现文件。
- efrodokem.h: eFrodoKEM 的头文件。
启动步骤
- 进入
FrodoKEM/src/
或eFrodoKEM/src/
目录。 - 编译源文件:
gcc -o frodokem frodokem.c -I.
- 运行生成的可执行文件:
./frodokem
3. 项目的配置文件介绍
FrodoKEM 项目没有传统的配置文件,但其参数和配置主要通过代码中的宏定义和函数参数进行设置。以下是一些关键的配置点:
参数配置
- AES 和 SHAKE 的选择: 在
frodokem.c
和efrodokem.c
中,可以通过修改宏定义来选择使用 AES 还是 SHAKE 进行矩阵生成。 - 安全级别: 可以通过修改宏定义来选择不同的安全级别(如 FrodoKEM-640-AES、FrodoKEM-976-AES 等)。
示例
在 frodokem.c
中,可以通过以下方式选择 AES 或 SHAKE:
#define USE_AES
// #define USE_SHAKE
在 efrodokem.c
中,可以通过以下方式选择安全级别:
#define SECURITY_LEVEL 640
// #define SECURITY_LEVEL 976
// #define SECURITY_LEVEL 1344
通过这些配置,可以根据需求调整 FrodoKEM 的行为和性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考