6个版本 (重大更新)
0.8.0 | 2024年4月10日 |
---|---|
0.7.0 | 2023年10月4日 |
0.5.0 | 2023年5月1日 |
0.4.0 | 2023年2月8日 |
0.1.0 | 2023年1月13日 |
#1804 in 密码学
在 citadel_sdk 中使用
8KB
一种类似于后量子信号协议,使得开发超安全的客户端到服务器和p2p应用程序变得容易
白皮书
关于Citadel协议的白皮书可以在以下仓库中找到:这里。注意:自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
是支持WIP。以下命令应按顺序执行以编译为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年里,我一直是唯一的开发者,需要更多人帮助让生态系统繁荣发展。
依赖项
~4–5.5MB
~90K SLoC