Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
RSA — 纯 Rust 库,用于 RSA 公钥密码学:密钥生成、PKCS#1 v1.5 和 OAEP 加密/解密、PSS 签名,以及密钥导入/导出。 | Kitploit
工具/GitHubGitHub/rustcrypto/rsa
加密/解密工具密码学身份验证
GitHubrustcrypto/rsa

RSA

纯 Rust 库,用于 RSA 公钥密码学:密钥生成、PKCS#1 v1.5 和 OAEP 加密/解密、PSS 签名,以及密钥导入/导出。

查看仓库
6711872个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

RustCrypto: RSA

crates.io Documentation Build Status Dependency Status Apache2/MIT licensed MSRV Project Chat

纯 Rust 编写的可移植 RSA 实现。

示例

root@kitploit:~
use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};

let mut rng = rand::rng();
let bits = 2048;
let priv_key = RsaPrivateKey::new(&mut rng, bits).expect("failed to generate a key");
let pub_key = RsaPublicKey::from(&priv_key);

// Encrypt
let data = b"hello world";
let enc_data = pub_key.encrypt(&mut rng, Pkcs1v15Encrypt, &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt(Pkcs1v15Encrypt, &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

注意: 如果你在使用 RsaPrivateKey::new 时遇到异常缓慢的密钥生成时间,可以尝试以发布模式编译,或在 Cargo.toml 中添加以下内容。在更高的优化级别下构建时,密钥生成会快得多,但这会稍微增加编译时间。

root@kitploit:~
[profile.debug]
opt-level = 3

状态

目前处于第一阶段 (v) 🚧

在 1.0 🚢 发布之前,还有三个阶段。

  1. 🚧 使其工作
    • 素数生成 ✅
    • 密钥生成 ✅
    • PKCS1v1.5:加密与解密 ✅
    • PKCS1v1.5:签名与验证 ✅
    • PKCS1v1.5(会话密钥):加密与解密
    • OAEP:加密与解密
    • PSS:签名与验证
    • 密钥导入与导出
  2. 🚀 使其更快
    • 基准测试 ✅
    • 与其他实现比较 🚧
    • 优化 🚧
  3. 🔐 使其安全
    • 模糊测试
    • 安全审计

⚠️ 安全警告

此 crate 已接受一次 由 Include Security 进行的安全审计,仅发现一个轻微问题,且该问题已被解决。

其他已知问题请参阅我们问题跟踪器上的[未解决安全问题]。

值得注意的是,[模幂运算的实现并非恒定时间],但时间变化通过常用的[随机盲化]技术进行了掩盖。 此 crate 容易受到 [Marvin 攻击] 的影响,网络攻击者可能借此恢复私钥(参见 RUSTSEC-2023-0071)。

你可以在 #390 中关注我们缓解此问题的工作。

最低支持的 Rust 版本 (MSRV)

此 crate 支持 Rust 1.85 或更高版本。

未来 MSRV 可能会更改,但会通过次版本号升级来进行。

许可证

你可以自行选择采用以下任一许可证:

  • Apache License, Version 2.0
  • MIT license

贡献

除非你另有明确说明,否则根据 Apache-2.0 许可证的定义,你为本作品有意提交的任何贡献,均将按上述双重许可证授权,不附加任何额外条款或条件。

下载工具