#安全通信 #加密密钥 #随机密钥 #aes-gcm #客户端 # #客户端-服务器

ovunto-security

通过服务器实现客户端之间安全端到端通信的库

16 个版本

0.1.16 2024年8月3日
0.1.15 2024年6月10日
0.1.13 2024年4月28日
0.1.3 2024年3月19日

#992 in 加密学

Download history 126/week @ 2024-04-15 948/week @ 2024-04-22 61/week @ 2024-04-29 8/week @ 2024-05-20 105/week @ 2024-05-27 76/week @ 2024-06-03 208/week @ 2024-06-10 4/week @ 2024-06-17 7/week @ 2024-07-01 122/week @ 2024-07-29

每月 122 次下载

MIT 许可证

75KB
1.5K SLoC

奥温托安全

奥温托安全是一个 Rust 库,通过服务器实现客户端之间的安全端到端通信。它提供了加密和解密消息、管理密钥和构建加密链的功能。

功能

  • 加密: 使用 AES-GCM 加密算法加密和解密消息。
  • 密钥管理: 从密码和盐中派生密钥,管理密钥环,并生成随机密钥。 链构建: 构建客户端之间安全通信的加密链。

安装

将此包添加到您的 Cargo.toml

[dependencies]
ovunto-security = "0.1.0"

使用

use ovunto_security::{Error, Keyring, Salt};
fn main() -> Result<(), Error> {
    let (username, password) = form().map_err(|_| Error)?;
    let salt = Salt::random();
    let keyring = Keyring::derive_from(password, &salt)?;
    let mut sender_chain = keyring.into_chain();

    let cipher1 = sender_chain.add(format!("{username} initiated a chain"))?;
    let cipher2 = sender_chain.add("Some cookies!".to_owned())?;

    let mut receiver_chain = keyring.into_chain();
    let change1 = receiver_chain.decrypt(cipher1.clone())?;
    let change2 = receiver_chain.decrypt(cipher2.clone())?;

    println!("{:?}", (cipher1, cipher2));
    println!("{:?}", (change1, change2));

    Ok(())
}

文档

该包的 API 文档可以在 docs.rs 上找到。

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

依赖关系

~14MB
~235K SLoC