7 个版本 (破坏性更新)
0.9.0 | 2024年4月13日 |
---|---|
0.8.0 | 2024年4月10日 |
0.7.0 | 2023年10月4日 |
0.6.0 | 2023年10月4日 |
0.3.0 | 2023年1月18日 |
#365 in 加密学
每月 68 次下载
用于 3 个 crates (直接使用 2 个)
315KB
6.5K SLoC
一种后量子信号协议,使得开发超安全的客户端到服务器和P2P应用变得容易
白皮书
堡垒协议的白皮书可以在以下仓库中找到:这里。注意:自2022年7月以来,此白皮书尚未更新。尽管协议与白皮书中所述非常相似,但此后已有所发展。白皮书将在不久的将来与源代码同步。
文档
有关构建应用的示例,请参阅 文档
构建说明
为了编译库,需要 OpenSSL 和 Clang。查看 .github 中的 CI 文件,了解如何在裸机上的示例。或者,您可以使用以下命令设置环境:
cargo make install
测试说明
在 citadel_sdk
内运行单元测试时,您 必须 使用 Makefile。Makefile 包含用于与 cargo test
交互的特殊标志和环境变量。首先,安装 cargo make
cargo install --force cargo-make
要本地运行测试(设置有限)运行:
cargo make test-local
要运行需要设置 SQL 和/或 Redis 服务器的一组全面测试(请查看 Makefile.toml
中的描述以获取设置环境变量的帮助),运行:
cargo make test
WASM (仅限开发者 WIP)
目标三元组 wasm32-wasi
目前仍在开发中以支持该功能。应按以下顺序执行命令以编译成wasm。
# Allows execution of `cargo wasi test --package citadel_pqcrypto`
cargo install cargo-wasi
# install wasmtime
curl https://wasmtime.dev/install.sh -sSf | bash
# get the include/build files
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sysroot-12.0.tar.gz
tar -xvzf wasi-sysroot-12.0.tar.gz
rm wasi-sysroot-12.0.tar.gz
# Set environment variables
export WASI_SDK_DIR="$(pwd)/wasi-sysroot"
export WASMTIME_HOME="$(pwd)/.wasmtime"
export PATH="$WASMTIME_HOME/bin:$PATH"
export RUSTFLAGS="--cfg tokio_unstable"
# If on Mac M1, make sure to use the clang/ar provided by homebrew. Make sure to replace <LATEST_VERSION>
export PATH="/opt/homebrew/Cellar/llvm/<LATEST_VERSION>/bin/:$PATH"
export AR="/opt/homebrew/Cellar/llvm/<LATEST_VERSION>/bin/llvm-ar"
export CC="/opt/homebrew/Cellar/llvm/<LATEST_VERSION>/bin/clang"
此外,在检查/编译时,应启用功能 wasm
。
免责声明
本项目尚未(目前)通过第三方审计。虽然一些底层加密原语来自经过验证的Open Quantum Safe (OQS) 项目和/或 PQClean 项目,但 Kyber 库尚未接受审计(然而已通过已知答案测试)。
因此,如果您选择使用此库并承担其使用相关的风险,我们建议您通过使用TLS或QUIC作为底层协议来使用混合加密,以确保协议的安全性至少与椭圆曲线密码学相当。
作者
Thomas Braun - 创始人
贡献
欢迎贡献!在过去5年中,我一直是一名开发者,现在需要更多的人来帮助生态系统蓬勃发展。
依赖项
~9–30MB
~475K SLoC