12个版本 (4个稳定版)
1.2.0 | 2022年8月23日 |
---|---|
1.1.1 | 2022年6月21日 |
0.0.7 | 2022年6月9日 |
#2351 in 加密学
在 2 crates 中使用
73KB
1K SLoC
这是什么?
DEXIOS-Core是一个用于管理符合DEXIOS格式的加密功能和头的库。
安全性
DEXIOS-Core使用现代、安全且经过审计的1 AEADs进行加密和解密。
您可以在NCC Group的网站上找到AES-256-GCM和XChaCha20-Poly1305的审计。
1 Deoxys-II-256没有官方审计,所以请自行承担风险使用
谁使用DEXIOS-Core?
这个库由DEXIOS实现,一个安全的命令行文件加密工具。
DEXIOS-Core使您能够轻松地将DEXIOS格式集成到自己的项目中(如果您想看到某个功能,请随时在Github上创建一个issue)。文档中包含大量信息,可以帮助您开始使用!
特性
- 加密/解密便利函数
- 3个AEADs(XChaCha20-Poly1305、AES-256-GCM、Deoxys-II-256)
- 轻松管理加密头(不再担心存储nonce的位置!)
- 使用安全参数的轻松
argon2id
散列 - 使用安全参数和BLAKE3的轻松
balloon
散列 - 频繁更新和功能添加!
捐赠
如果您喜欢我的工作,并想支持DEXIOS或DEXIOS-Core,请随意捐赠!这并非强制性的,所以请不要感到有义务这样做。
XMR: 84zSGS18aHtT3CZjZUnnWpCsz1wmA5f65G6BXisbrvAiH7PxZpP8GorbdjAQYRtfeiANZywwUPjZcHu8eXJeWdafJQFK46G
BTC: bc1q8x0r7khrfj40qd0zr5xv3t9nl92rz2387pu48u
ETH: 0x9630f95F11dFa8703b71DbF746E5c83A31A3F2DD
示例
反序列化头
let header_bytes: [u8; 64] = [
222, 2, 14, 1, 12, 1, 142, 88, 243, 144, 119, 187, 189, 190, 121, 90, 211, 56, 185, 14, 76,
45, 16, 5, 237, 72, 7, 203, 13, 145, 13, 155, 210, 29, 128, 142, 241, 233, 42, 168, 243,
129, 0, 0, 0, 0, 0, 0, 214, 45, 3, 4, 11, 212, 129, 123, 192, 157, 185, 109, 151, 225, 233,
161,
];
let mut cursor = Cursor::new(header_bytes);
// the cursor may be a file, this is just an example
let (header, aad) = Header::deserialize(&mut cursor).unwrap();
将头写入文件
let mut output_file = File::create("test").unwrap();
header.write(&mut output_file).unwrap();
内存中的加密和解密
// obviously the key should contain data, not be an empty vec
let raw_key = Protected::new(vec![0u8; 128]);
let salt = gen_salt();
let key = balloon_hash(raw_key, &salt, &HeaderVersion::V4).unwrap();
let cipher = Ciphers::initialize(key, &Algorithm::XChaCha20Poly1305).unwrap();
let secret = "super secret information";
let nonce = gen_nonce(&Algorithm::XChaCha20Poly1305, &Mode::MemoryMode);
let encrypted_data = cipher.encrypt(&nonce, secret.as_bytes()).unwrap();
let decrypted_data = cipher.decrypt(&nonce, encrypted_data.as_slice()).unwrap();
assert_eq!(secret, decrypted_data);
您可以在项目的主要文档中了解更多关于DEXIOS、DEXIOS-Core和技术细节的信息!
谢谢!
DEXIOS-Core 独家使用由 RustCrypto 团队 提供的 AEAD,因此我想向他们表示衷心的感谢(没有他们这是不可能的!)
依赖项
~4–12MB
~142K SLoC