ECC (P-256) 暗号化 & 復号
無料オンライン ECC (P-256) 暗号化 & 復号 ツール。100% ローカル処理 — データは端末の外に出ません。
結果がここに表示されます...
入力 → 暗号化
Usage Guide
ECC/ECIES (P-256) について
ECC/ECIES(楕円曲線統合暗号化方式)は、NIST P-256 曲線をベースにしたハイブリッド非対称暗号化方式です。ECDH(楕円曲線ディフィー・ヘルマン)による鍵合意と AES-256-GCM 認証済み対称暗号化を組み合わせています。ECIES は単一の操作で機密性、完全性、真正性を提供します。鍵はコンパクトで、P-256 の秘密鍵はわずか 32 バイトに対し、RSA-2048 は同等のセキュリティに 256 バイトが必要です。
使用手順
このツールは ECIES の鍵ペア生成、暗号化(公開鍵使用)、復号(秘密鍵使用)をサポートします:
出力形式
ECIES 暗号化は 2 つのフィールドを持つ JSON オブジェクトを生成します:
ECIES の仕組み
ECIES は内部的に次のステップを実行するハイブリッド暗号化方式です:
FAQ
Q: ECIES と RSA 暗号化の違いは何ですか?
A: ECIES と RSA-OAEP はどちらも非対称暗号化方式ですが、いくつかの重要な点で異なります。鍵サイズ:P-256 秘密鍵は 32 バイト;RSA-2048 は同等のセキュリティに 256 バイトが必要です。速度:ECIES 操作は RSA より大幅に高速です。前方秘密性:ECIES は一時鍵ペアにより前方秘密性を提供しますが、RSA-OAEP は提供しません。新しいシステムでは、非対称暗号化に ECIES が RSA よりも一般的に推奨されます。
Q: 前方秘密性とは何ですか?なぜ重要ですか?
A: 前方秘密性(パーフェクトフォワードセクレシー、PFS)とは、長期秘密鍵が後で漏洩しても過去の暗号化メッセージが安全に保たれることを意味します。ECIES では、各暗号化が使用後に廃棄される新しい一時鍵ペアを生成します。共有秘密は暗号化後に存在しなくなる一時秘密鍵から導出されます。RSA-OAEP は受信者の長期公開鍵を直接使用するため、秘密鍵が漏洩した場合、過去のすべての暗号文が復号される可能性があります。
Q: JSON 出力のフィールドはどういう意味ですか?
A: ECIES 出力 JSON には 2 つのフィールドがあります:epk(一時公開鍵)は 66 の 16 進数文字で、送信者の使い捨て鍵ペアの圧縮 33 バイト P-256 ポイントを表します。ct(暗号文)は AES-256-GCM 暗号化データと 16 バイト GCM 認証タグを含む 16 進数文字列です。JSON 全体を保持する必要があります。フィールドが変更または切り捨てられると、認証エラーで復号に失敗します。
Q: 同じ公開鍵で複数のメッセージを暗号化できますか?
A: はい。同じ受信者の公開鍵を使って好きなだけメッセージを暗号化できます。各暗号化は自動的に新しい一時鍵ペアを生成するため、各暗号文は独立しており、異なる導出鍵とノンスを使用します。ノンスの再利用リスクはありません。
Q: ECC/ECIES は量子コンピュータに対して安全ですか?
A: いいえ。ECIES は楕円曲線離散対数問題(ECDLP)に基づいており、ショアのアルゴリズムを実行する十分に大きな量子コンピュータならこれを解ける可能性があります。RSA も同様です。耐量子非対称暗号化として、NIST は ML-KEM(旧 CRYSTALS-Kyber)を標準化しています。ECIES は今日の古典的な脅威モデルに対する最良の実用的な選択肢です。
Use Cases
推奨:エンドツーエンド暗号化メッセージング
ECIES は、送信者が受信者の公開鍵を知っているエンドツーエンド暗号化メッセージングに適しています。組み込みの前方秘密性により、受信者の秘密鍵が後で漏洩しても、以前に送信されたメッセージは保護されます。
- ✅ PEM 公開鍵を送信者に配布する
- ✅ PEM 秘密鍵は暗号化ボールトまたは HSM に保管する
- ✅ 前方秘密性は組み込み済み — 各メッセージは新しい一時鍵ペアを使用する
- ❌ 秘密鍵は誰とも共有しない(送信者も含む)
推奨:大容量データのハイブリッド暗号化
ECIES は大きなファイルに対してハイブリッド暗号化パターンで使用されます:ECIES を使って AES-256-GCM 対称鍵を安全に送信し、その鍵で実際の大きなファイルを暗号化します。TLS、PGP、および多くの実世界の暗号化プロトコルはこのように動作します。
- ✅ ECIES を使って対称データ暗号化鍵(DEK)をラップ/送信する
- ✅ 実際のファイルコンテンツには AES-256-GCM または ChaCha20-Poly1305 を使用する
- ✅ ECIES でラップされた鍵を暗号化ファイルと一緒に保存する
- ❌ 数 KB を超えるファイルを ECIES で直接暗号化しない
推奨:RSA-OAEP の代替
現在 RSA-OAEP を非対称暗号化に使用している新しいシステムには、P-256 ECIES が推奨される現代的な代替手段です。はるかに小さな鍵と前方秘密性という追加の利点を備えた同等以上のセキュリティを提供します。
- ✅ 新しい非対称暗号化には RSA-OAEP より ECIES を優先する
- ✅ P-256 (ECIES) 鍵は RSA-2048 鍵の 8 分の 1 のサイズ
- ✅ ECIES は RSA-OAEP が提供できない前方秘密性を追加する
- ❌ レガシー互換性が必要でない限り、新しいシステムに RSA-OAEP を維持しない
推奨:API センシティブデータの安全な転送
ECIES は API リクエスト内の機密データを保護できます — たとえば、転送前にサーバーの公開鍵でユーザーのクレジットカード番号や個人データを暗号化するなど。これはトランスポートセキュリティを超えた多層防御を提供します。
- ✅ サーバーの PEM 公開鍵を API クライアントに公開する
- ✅ 送信前に機密フィールド(PII、支払い情報)を暗号化する
- ✅ 多層防御のために TLS と組み合わせる
- 💡 各リクエストは自動的に新しい一時鍵を使用 — リクエストごとの鍵ローテーション不要
非推奨:大きなファイルの直接暗号化
ECIES は短いメッセージと鍵のラッピングのために設計されており、大きなファイルを直接暗号化するためのものではありません。正しいパターンはハイブリッド暗号化です:ランダムに生成された AES-256-GCM 鍵(32 バイト)を ECIES で暗号化し、その AES 鍵で実際のファイルを暗号化します。
- ❌ 数 KB を超えるファイルを ECIES で直接暗号化しない
- ✅ ランダムな AES-256-GCM データ暗号化鍵(DEK)を暗号化するために ECIES を使用する
- ✅ DEK と AES-256-GCM でファイルコンテンツを暗号化する
- 💡 保存:ECIES 暗号化 DEK + AES 暗号化ファイルコンテンツをセットで
ベストプラクティスの要約
- ECC/ECIES は暗号化アルゴリズムです — 機密性を提供します。署名アルゴリズムではありません。デジタル署名には ECDSA を使用してください。
- 前方秘密性は組み込み済みです:各暗号化が新しい一時鍵ペアを生成するため、秘密鍵が後で漏洩しても過去の暗号文は安全に保たれます。
- 大容量データにはハイブリッド暗号化を使用してください:鍵のラッピングに ECIES、データ自体には AES-256-GCM または ChaCha20-Poly1305。
- 秘密鍵(PEM 形式)は機密を保持する必要があります。公開鍵(PEM 形式)は暗号化メッセージを送る必要がある誰にでも自由に配布できます。