English 简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// 暗号化ツール v2.0

RSA 暗号

クライアント側のみ
ウェブ暗号化 API
🔒 クライアント側のみ - キーとデータは完全にブラウザ内で処理され、サーバーにアップロードされることはありません。ネイティブ Web Crypto API に基づいて構築されています。
アルゴリズム構成
🔑
キーマテリアル
RSA-OAEP 暗号化では公開キーが使用されます。復号化には一致する秘密キーが必要です ( 4096 -bit / SHA-256 )
手を離してファイルをロード
プレーンテキスト / 入力
暗号文 / 出力
.txt としてダウンロード
Base64/16 進テキスト形式
読み取りまたはコピー/ペースト可能
暗号化完了 — 復号ツール に入力できる生のバイナリ バイト
現在の設定 (モード / キー サイズ / キー / IV) をエクスポートして、一致する復号化ツールで直接使用できるようにします。
復号化が必要ですか?
準備完了 - キーを設定し、[暗号化] または [復号化] をクリックします
アルゴリズム
RSA
OAEP / SHA-256
主要な強度
4096
ビット
セキュリティ レベル
非対称
処理済み
0
このセッションのバイト数
🔑
RSA 暗号化ではなぜ公開キーを使用するのですか?
RSA は、キー ペアを使用する非対称暗号化アルゴリズムです。 公開キー はデータを暗号化し、 秘密キー はデータを復号します。公開キーは、暗号化されたデータを送信したい相手とオープンに共有できますが、秘密キーは秘密にしておく必要があります。

主な利点は、送信者が事前に秘密を共有する必要がないことです。公開キーを使用して暗号化することは誰でもできますが、結果を復号化できるのは一致する秘密キーの所有者だけです。秘密キーを紛失すると、暗号化されたデータを復元できなくなります。
📏
キーのサイズはどのように選択すればよいですか?
RSA キーが長いほどセキュリティは強化されますが、キーの生成と暗号化/復号化も遅くなります。

2048 ビット : 現在安全であると広く考えられており、一般的な使用に適しており、最速のオプションです。

3072 ビット : より広いセキュリティ マージンが追加され、長期的な機密保持のために推奨されます。

4096 ビット : このページの最高のセキュリティ レベル。非常に高いセキュリティ要件に最適ですが、生成と使用に時間がかかります。

注: RSA は、1 回の操作で限られたサイズの平文のみを暗号化できます。 2048 ビット/SHA-256 の場合、制限は約 190 バイトです。 4096 ビットでは約 446 バイトになります。ペイロードが大きい場合は、チャンキングまたはハイブリッド暗号化を使用します。
⚙️
OAEP ハッシュとは何ですか?
RSA-OAEP (最適な非対称暗号化パディング) は、現在 RSA 暗号化に推奨されるパディング方式です。ハッシュ関数を使用してランダム性を追加し、選択平文攻撃を防御します。

SHA-256 (推奨): 強力なセキュリティ、幅広い採用、優れた互換性。
SHA-384 / SHA-512 : セキュリティ マージンが広がりますが、最大平文サイズがわずかに減少します。
SHA-1 : 従来の互換性のためだけに保持されており、新しいシステムには推奨されません。

暗号化と復号化では同じハッシュ アルゴリズムを使用する必要があります。
🔠
出力エンコーディングとは何ですか?
RSA 暗号化の生の出力はバイナリ データであるため、直接保存したりテキスト送信したりするには不便です。出力エンコーディングは、バイトを印刷可能な形式に変換します。

Base64 : 3 バイトごとに 4 つの ASCII 文字にエンコードし、元のサイズの約 1.33 倍の出力を生成します。コンパクトで、API、電子メール、JSON ペイロードで広く使用されています。

16 進数 : すべてのバイトを 2 つの 16 進数文字として表し、出力サイズを 2 倍にします。検査が容易になり、バイトごとのデバッグに役立ちます。
📄
PEM フォーマット ガイド

1️⃣ PEM 形式とは何ですか?
PEM (Privacy-Enhanced Mail) は、キーと証明書の保存と転送に使用されるテキスト形式です。バイナリ DER データを Base64 エンコードし、 -----BEGIN および -----END のようなヘッダーとフッターでラップします。一般的なラベルには、 PUBLIC KEY PRIVATE KEY 、および CERTIFICATE が含まれます。テキストベースのワークフローでのコピー、貼り付け、送信が簡単で、最も一般的な鍵交換形式の 1 つです。

2️⃣ PEM 以外に一般的な形式は何ですか?
- DER : ASN.1 構造を直接保存する純粋なバイナリ形式。これは人間が判読できるものではなく、Java エコシステムでは一般的です。
- HEX : DER バイナリ コンテンツを 16 進文字列として表現します。デバッグやコードへの埋め込みに役立ちます。
- Base64 (ヘッダーなし) : PEM ヘッダーなしで Base64 としてエンコードされた生の DER。コンパクトな構成またはトークン ペイロードでよく使用されます。
- PKCS#12 (PFX) : 公開キーと秘密キーをバンドルできるバイナリ コンテナ形式。通常はパスワードで保護され、ブラウザや Windows システムでよく使用されます。

3️⃣ 各形式はいつ使用する必要がありますか?
- PEM : OpenSSL、Web サーバー (Nginx/Apache)、および API 交換に適した最も汎用的なオプション。
- DER : Java 環境または厳密なバイナリ ストレージが必要な場合によく使用されます。
- HEX : デバッグ、組み込みシステム、または正確なバイト検査が必要な場合に役立ちます。
- Base64 (ヘッダーなし) : 書式設定が制約されている場合、またはコンパクトな表現が必要な場合に便利です。
- PKCS#12 : 秘密キーをパスワードで保護しながら、公開キーと秘密キーの両方を一緒に転送する必要がある場合に便利です。