AES 暗号化 & 復号

無料オンライン AES 暗号化 & 復号 ツール。100% ローカル処理 — データは端末の外に出ません。

National Standards
Legacy
出力

結果がここに表示されます...

入力 暗号化

Usage Guide

AESについて

AES(Advanced Encryption Standard)は、米国国立標準技術研究所(NIST)が2001年に旧式のDESアルゴリズムを置き換えるために発表した対称暗号化アルゴリズムです。AESは現在、世界で最も広く使用されている対称暗号化アルゴリズムであり、安全で効率的かつ信頼性の高い暗号化標準として認められています。128、192、256ビットの3つの鍵長をサポートし、ファイル暗号化、ネットワーク通信、データベース暗号化などのシナリオで広く使用されています。AESはTLS/SSL、VPN、ディスク暗号化、クラウドストレージなどの分野でデファクトスタンダードとなっています。

業界標準: AESは世界的に認められた対称暗号化標準であり、米国政府が機密情報の保護に使用しており、 TLS 1.3、Wi-Fi(WPA2/WPA3)、VPNなどのプロトコルのコア暗号化アルゴリズムです。対称暗号化の第一選択として推奨

使用手順

AESは暗号化と復号化に同じ鍵を使用する対称暗号化アルゴリズムです:

1. モードを選択暗号化モードを選択(CBC、ECB、CTR、GCM)、CBCまたはGCMを推奨
2. 鍵を設定鍵を入力または生成(128/192/256ビット)、長い鍵ほど高いセキュリティを提供
3. IVを設定CBC/CTR/GCMモードには初期化ベクトル(IV)が必要、暗号化ごとに異なるランダムIVを使用
4. データを暗号化平文を入力し、暗号化ボタンをクリックして暗号文を取得
5. データを復号化同じ鍵、IV、モードを使用し、暗号文を入力して復号化ボタンをクリックして平文を復元
プライバシー保護: すべての計算はブラウザ内でローカルに実行され、データはサーバーにアップロードされることはなく、完全にオフラインで処理されます。

暗号化モードの選択

AESは複数の暗号化モードをサポートしており、それぞれ異なるセキュリティとパフォーマンスの特性があります:

CBC(推奨)暗号ブロック連鎖モード、高いセキュリティ、IVが必要、ほとんどのシナリオに適している
GCM(推奨)ガロア/カウンターモード、暗号化と認証を提供、改ざんを防止、TLS 1.3標準
CTRカウンターモード、並列暗号化が可能、良好なパフォーマンス、IVが必要
ECB(非推奨)電子コードブックモード、IVが不要だが低セキュリティ、同一の平文は同一の暗号文を生成
セキュリティ警告: ECBモードにはセキュリティの脆弱性があり、同一の平文ブロックは同一の暗号文ブロックを生成するため、攻撃者がパターンを容易に識別できます。本番環境ではCBCまたはGCMモードを使用し、暗号化ごとに異なるランダムIVを使用することを確認してください。

鍵長の選択

AESは3つの鍵長をサポートしており、それぞれ異なるセキュリティとパフォーマンスのトレードオフがあります:

AES-128128ビット鍵、10暗号化ラウンド、最高のパフォーマンス、十分なセキュリティ(2^128の複雑さ)
AES-192192ビット鍵、12暗号化ラウンド、セキュリティとパフォーマンスのバランス
AES-256256ビット鍵、14暗号化ラウンド、最高のセキュリティ(2^256の複雑さ)、政府の最高機密レベル
推奨選択: ほとんどのアプリケーションでは、AES-128は十分に安全です(解読には数十億年かかります)。より高いセキュリティが必要な場合や特定のコンプライアンス要件(FIPS 140-2など)を満たすためには、AES-256を選択してください。AES-192はほとんど使用されません。

アプリケーションシナリオ

AESは対称暗号化のデファクトスタンダードであり、データの機密性が必要なさまざまなシナリオで広く使用されています:

ネットワーク通信TLS/SSL、VPN、SSHなどのプロトコルはAESを使用して送信データを保護
ファイル暗号化機密ファイル、アーカイブ(7-Zip、WinRARなど)、ドキュメントの暗号化
ディスク暗号化BitLocker、FileVault、LUKSなどのフルディスク暗号化ツール
データベース暗号化データベースフィールド、バックアップファイルの暗号化
クラウドストレージプライバシーを保護するためにクラウドにアップロードされたファイルを暗号化
ワイヤレスネットワークWi-Fi WPA2/WPA3はAESを使用してワイヤレス通信を暗号化

FAQ

Q: AES-128とAES-256はどちらが優れていますか?

A: どちらも非常に安全です。選択は具体的なニーズによって異なります。AES-128:解読の複雑さは2^128(約3.4×10^38)で、世界中のすべてのコンピューターを使用しても数十億年かかります。パフォーマンスはAES-256より約20-40%速いです。ほとんどのアプリケーションシナリオに適しています。AES-256:解読の複雑さは2^256(約1.2×10^77)で、理論的にはより安全ですが、実際にはAES-128で十分です。米国政府が“最高機密”レベルの情報を保護するために使用しています。パフォーマンスはわずかに遅いですが、差は最小限です。推奨:一般的なアプリケーションにはAES-128、政府、金融、医療などの高セキュリティシナリオにはAES-256を使用してください。

Q: IV(初期化ベクトル)とは何ですか?なぜ必要なのですか?

A: IV(初期化ベクトル)は、同じ平文が異なる時間に暗号化されたときに異なる暗号文を生成することを保証するために暗号化プロセスで使用されるランダムな数値です。IVが必要な理由:IVがないと、同じ平文と鍵は常に同じ暗号文を生成し、攻撃者が繰り返しデータブロックを識別してセキュリティを低下させることができます。IVの要件:1)ランダム性:暗号化ごとに異なるランダムIVを使用する必要があります。2)秘密不要:IVは公開で送信でき、通常は暗号文の前に付加されます。3)長さ:AES IVの長さは128ビット(16バイト)です。注意:ECBモードはIVを使用しませんが、セキュリティが低く推奨されません。

Q: CBCモードとGCMモードの違いは何ですか?

A: CBC(暗号ブロック連鎖):各平文ブロックが暗号化前に前の暗号文ブロックとXORされる従来の暗号化モード。利点:高いセキュリティ、広くサポートされている。欠点:暗号化を並列化できない、認証を提供しない(追加のHMACが必要)。GCM(ガロア/カウンターモード):暗号化と認証の両方を提供する現代の認証付き暗号化モード。利点:暗号化を並列化できる、良好なパフォーマンス、改ざんを防止、TLS 1.3標準。欠点:実装が複雑、IVの再利用は深刻なセキュリティ問題を引き起こす。推奨:新しいプロジェクトにはGCM、レガシープロジェクトにはCBC + HMACを使用してください。

Q: 鍵を安全に保存・送信するにはどうすればよいですか?

A: 鍵管理は暗号化システムの核心であり、鍵の漏洩は暗号化を無効にします。鍵生成:暗号学的に安全な乱数生成器(CSPRNG)を使用し、単純なパスワードや予測可能な値を使用しないでください。鍵保存:1)AWS KMS、Azure Key VaultなどのKey Management Services(KMS)を使用する。2)Hardware Security Modules(HSM)を使用する。3)鍵導出関数(PBKDF2、Argon2など)を使用してパスワードから鍵を導出する。鍵送信:1)非対称暗号化(RSAなど)を使用して対称鍵を送信する。2)鍵交換プロトコル(Diffie-Hellmanなど)を使用する。3)安全なチャネル(TLSなど)を通じて送信する。ベストプラクティス:定期的に鍵をローテーションし、鍵バージョン管理を使用し、鍵アクセス権限を制限してください。

Q: AESとSM4の違いは何ですか?

A: AESと SM4 はどちらも対称暗号化アルゴリズムですが、異なる起源とアプリケーションシナリオを持っています。AES:米国NIST標準(2001年)、世界的に広く使用、128/192/256ビット鍵をサポート、優れたパフォーマンス。SM4:中国国家暗号管理局標準(2012年)、128ビット鍵のみサポート、パフォーマンスはAES-128と同等。選択アドバイス:国際的なアプリケーションにはAESを使用し、暗号法の要件に準拠するために中国の重要セクター(金融、政府、通信)にはSM4を使用してください。互換性が必要な場合は、両方のアルゴリズムを同時にサポートできます。

Q: AES暗号化の正確性を確認するにはどうすればよいですか?

A: テストベクター:NISTは公式のAESテストベクター(CAVP)を提供しており、実装の正確性を確認するために使用できます。比較ツール:複数の独立した実装(OpenSSL、このツール、オンラインツールなど)を使用して同じデータを暗号化し、結果の一貫性を比較してください。復号化検証:暗号化直後に復号化して、元のデータを復元できるかどうかを確認してください。注意:同じ平文、鍵、IV、モードは同じ暗号文を生成するはずです。結果が異なる場合は、パディング、エンコーディング、またはモード設定に問題がある可能性があります。

Use Cases

推奨:ファイル暗号化

AESを使用して機密ファイルを暗号化することは最も一般的なアプリケーションシナリオです。ファイルコンテンツの機密性を確保するためにAES-256-CBCまたはAES-256-GCMモードを推奨します。暗号化中にランダムIVを生成して暗号文の前に付加します(IVは秘密にする必要はありません)。鍵はユーザーパスワードから導出できます( Argon2 またはPBKDF2を使用)、またはランダムに生成された鍵を使用します(安全な保存が必要)。

Recommended Configuration:
  • ✅ AES-256-GCM(推奨、認証を提供)
  • ✅ AES-256-CBC + HMAC(従来のアプローチ)
  • ✅ 暗号化ごとに異なるランダムIVを使用
  • ✅ Argon2またはPBKDF2を使用してパスワードから鍵を導出
  • ❌ ECBモードを避ける
推奨:データベースフィールド暗号化

データベース内の機密フィールド(IDナンバー、銀行カード番号、パスワードなど)を暗号化することでデータ漏洩を防ぐことができます。AES-256-GCMまたはAES-256-CBCモードを推奨します。鍵はKey Management Service(KMS)に保存し、コードにハードコードしないでください。各レコードに異なるIVを使用し、IVはデータベースに保存できます(暗号文と一緒に)。検索可能なフィールドには、決定論的暗号化(AES-SIVなど)または暗号化インデックスを使用できます。

Recommended Configuration:
  • ✅ AES-256-GCM(推奨)
  • ✅ KMSを使用して鍵を管理
  • ✅ 各レコードに異なるIVを使用
  • ✅ 定期的に鍵をローテーション
  • 💡 データベース組み込みの暗号化機能の使用を検討(MySQL TDEなど)
推奨:APIデータ送信暗号化

HTTPS(TLS)はすでにトランスポート層暗号化を提供していますが、高度に機密性の高いデータには、アプリケーション層暗号化を追加できます。AES-256-GCMを使用してリクエストとレスポンスの機密フィールドを暗号化し、安全なチャネル(Diffie-Hellmanなど)を通じて交渉された鍵または事前共有鍵を使用します。この“二重暗号化”は中間者攻撃とTLSダウングレード攻撃を防ぐことができます。

Recommended Configuration:
  • ✅ AES-256-GCM(推奨)
  • ✅ 鍵交換プロトコルを使用して鍵を交渉
  • ✅ HTTPSと組み合わせて使用(二重保護)
  • ✅ タイムスタンプを追加してリプレイ攻撃を防止
  • 💡 JWE(JSON Web Encryption)標準の使用を検討
推奨:クラウドストレージファイル暗号化

クラウドストレージ(AWS S3、Alibaba Cloud OSSなど)にアップロードされるファイルは、クラウドサービスプロバイダーが平文にアクセスできないようにするために、アップロード前にクライアント側で暗号化する必要があります。AES-256-GCMを使用してファイルを暗号化し、クライアントが管理する鍵を使用します(クラウドにアップロードしない)。暗号化されたファイルは任意のクラウドサービスに安全に保存できます。クラウドサービスが侵害されても、攻撃者はファイルを復号化できません。

Recommended Configuration:
  • ✅ AES-256-GCM(推奨)
  • ✅ クライアント側暗号化、鍵はアップロードしない
  • ✅ 鍵導出関数を使用してパスワードから鍵を生成
  • ✅ クラウドサービスのクライアント側暗号化SDKの使用を検討
  • 💡 鍵をバックアップ;鍵を失うとデータを復元できない
推奨:ディスク/パーティション暗号化

フルディスク暗号化は、デバイスが紛失または盗難にあった場合のデータセキュリティを保護できます。Windows BitLocker、macOS FileVault、Linux LUKSはすべてAES暗号化を使用しています。AES-256-XTSモード(ディスク暗号化専用に設計)を推奨します。鍵は通常、ユーザーパスワードから導出されるか、TPM(Trusted Platform Module)を使用して保存されます。フルディスク暗号化はパフォーマンスへの影響が最小限です(最新のCPUにはAESハードウェアアクセラレーションがあります)。

Recommended Configuration:
  • ✅ AES-256-XTS(ディスク暗号化専用モード)
  • ✅ オペレーティングシステム組み込みの暗号化ツールを使用
  • ✅ TPMを有効にしてセキュリティを強化
  • ✅ 強力なパスワードを設定するかハードウェアキーを使用
  • 💡 データ損失を避けるために回復キーをバックアップ
非推奨:パスワード保存

AESは対称暗号化アルゴリズムであり、直接のパスワード保存には適していません。パスワード保存には一方向ハッシュアルゴリズム( Argon2、bcrypt、PBKDF2など)を使用する必要があります。これらは逆算できないため、データベースが侵害されても攻撃者は平文パスワードを取得できません。可逆暗号化が必要な場合(サードパーティAPIキーの暗号化など)は、Key Management Service(KMS)を使用して鍵を管理し、アクセス権限を制限してください。

Recommended Configuration:
  • Argon2 をパスワード保存に使用(OWASP推奨)
  • ✅ bcrypt(コストファクター ≥ 12)
  • ✅ PBKDF2-SHA256(≥ 600kイテレーション)
  • ❌ 非推奨:AESパスワード暗号化(可逆、鍵漏洩リスク)

ベストプラクティスの推奨事項

  • データ改ざんを防ぐために暗号化と認証の両方を提供するAES-256-GCMモードを優先してください。
  • 暗号化ごとに異なるランダムIVを使用する必要があります。IVは公開で送信でき、通常は暗号文の前に付加されます。
  • ECBモードを避けてください。深刻なセキュリティの脆弱性があり、同一の平文ブロックは同一の暗号文ブロックを生成します。
  • 鍵管理は重要です。KMSまたはHSMを使用して鍵を管理し、定期的に鍵をローテーションし、アクセス権限を制限してください。
  • パスワードから導出された鍵にはArgon2またはPBKDF2を使用してください。ユーザーパスワードを直接鍵として使用しないでください。
  • HTTPSと組み合わせて使用し、トランスポート層とアプリケーション層の両方で二重保護を提供してください。

ディスカッション&フィードバック

0件のコメント
自分