#密钥对 #RSA密钥 #RSA #加密 #后端 #解密 #密码学

srsa

用于创建和使用RSA密钥对的简单后端。适用于个人使用。

8个版本

0.1.7 2023年4月30日
0.1.6 2023年4月15日

#2061 in 加密学

每月 31次下载

MIT 许可证

11KB
168

srsa

使用rsa crate创建和使用的RSA密钥对的简单后端。

这是一个即插即用的库,我计划将其作为我心中其他想法的后端。这也是我第一次进行任何密码学相关的工作,因此我所做的选择可能不是最好的。欢迎提交PR或issue,分享您的想法或改进意见。

用法

使用已经建立良好的rsapkcs8 crates提供一个简单的即插即用体验。


lib.rs:

使用已经建立良好的rsapkcs8 crates提供一个简单的即插即用体验。

用法

保存密钥对

use srsa::Keys;
use anyhow::Result as AnyResult;

fn main() -> AnyResult<()> {
    // The values passed in will be the file names of the private and public keys.
    let keys = Keys::new("priv", "pub");

    // Saves the key pairs to a folder in the cwd called keys and encrypts the private key with a
    // password
    keys.write_to_disk("password", "keys")?;

    Ok(())
}

使用现有的密钥对

use srsa::Keys;
use anyhow::Result as AnyResult;

fn main() -> AnyResult<()> {
    let keys = Keys::retrieve_keys("keys/test_priv", "1234", "keys/test_pub")?;
    let ciphertext = keys.seal(b"hi")?;
    let plaintext = keys.unseal(&ciphertext)?;
    Ok(())
}

加密和解密的工作方式非常相似。

  1. 您获取执行任务所需的关键密钥。
  2. 您运行适当的函数。加密函数称为seal,解密函数称为unseal

依赖关系

~5MB
~104K SLoC