Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RSA — RSA公開鍵暗号のための純Rustライブラリ: 鍵生成、PKCS#1 v1.5およびOAEP暗号化/復号、PSS署名、さらに鍵のインポート/エクスポート。 | Kitploit
ツール/GitHubGitHub/rustcrypto/rsa
暗号化/復号化ツール暗号化認証暗号化 第19位暗号化/復号化ツール 第20位
GitHubrustcrypto/rsa

RSA

RSA公開鍵暗号のための純Rustライブラリ: 鍵生成、PKCS#1 v1.5およびOAEP暗号化/復号、PSS署名、さらに鍵のインポート/エクスポート。

リポジトリを見る
672194884日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

RustCrypto: RSA

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

純粋なRustによるポータブルなRSA実装で、暗号化および署名スキームはPKCS#1 v2.2 (RFC8017)で規定されています。

スキーム用途仕様
RSAES-OAEP暗号化RFC8017 §7.1
RSAES-PKCS1-v1_5暗号化RFC8017 §7.2
RSASSA-PSS署名RFC8017 §8.1
RSASSA-PKCS1-v1_5署名RFC8017 §8.2

PKCS#1 v1.5暗号化は、レガシーアプリケーションとの互換性のためにのみ提供されています。 新しい暗号化アプリケーションにはOAEPおよびPSSを推奨します。

既知の実装上の脆弱性については、以下のセキュリティ警告を参照してください。

例

use rsa::{Oaep, RsaPrivateKey, RsaPublicKey};
use sha2::Sha256;

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, Oaep::<Sha256>::new(), &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt_blinded(&mut rng, Oaep::<Sha256>::new(), &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

注: RsaPrivateKey::new を使用中に鍵生成が異常に遅い場合は、リリースモードでコンパイルするか、Cargo.toml に以下を追加してみてください。最適化レベルを高くしてビルドすると鍵生成は大幅に速くなりますが、コンパイル時間が少し増加します。

[profile.debug]
opt-level = 3

ステータス

現在はフェーズ1 (v) です 🚧

1.0 🚢 をリリースする前に3つのフェーズがあります。

  1. 🚧 動作させる
    • 素数の生成 ✅
    • 鍵の生成 ✅
    • PKCS1v1.5: 暗号化と復号 ✅
    • PKCS1v1.5: 署名と検証 ✅
    • PKCS1v1.5 (セッション鍵): 暗号化と復号
    • OAEP: 暗号化と復号
    • PSS: 署名と検証
    • 鍵のインポートとエクスポート
  2. 🚀 高速化する
    • ベンチマーク ✅
    • 他の実装との比較 🚧
    • 最適化 🚧
  3. 🔐 安全にする
    • ファズテスト
    • セキュリティ監査

⚠️セキュリティ警告

このクレートは Include Security によるセキュリティ監査 を1回受けており、 その後修正された軽微な指摘が1件のみでした。

その他の既知の問題については、イシュートラッカーの 未解決のセキュリティイシュー を参照してください。

特に 剰余冪演算の実装は定数時間ではありませんが、 タイミングの変動は一般的に用いられる手法である ランダムブラインディング によって マスクされています。 このクレートは Marvin Attack に対して脆弱であり、ネットワーク攻撃者による 秘密鍵の復元を可能にする可能性があります(RUSTSEC-2023-0071 を参照)。

この問題の緩和に向けた取り組みは #390 で追跡できます。

最小サポート Rust バージョン (MSRV)

このクレートは Rust 1.85 以上をサポートします。

将来的に MSRV は変更される可能性がありますが、その場合はマイナーバージョンの更新で行われます。

ライセンス

以下のいずれかのライセンスの下で提供されます

  • Apache License, Version 2.0
  • MIT license

お好みで選択してください。

コントリビューション

明示的に別段の定めをしない限り、Apache-2.0 ライセンスで定義されているように、あなたが意図的に 作品への包含のために提出したコントリビューションは、追加の条項や条件なしに、上記のように デュアルライセンスされます。

ツールをダウンロード