Skip to content
App-Vault
ja

LANGUAGE / 1

FILE G1 / 暗号化の基礎

AES-256暗号化とは?暗号化のプロでない人のためのガイド

AES-256暗号化は、iPhoneのバックアップから政府の極秘文書までを守る対称暗号です。このガイドでは、数学の知識がなくても理解できる言葉で、その仕組み、強み、そしてできないことを説明します。

Cover illustration for: AES-256暗号化とは?暗号化のプロでない人のためのガイド
FILE COVER · / GUIDES / WHAT-IS-AES-256-ENCRYPTION /

UPDATED · 2026-05-16 · REVIEWED BY APP-VAULT

TL;DR

AES-256(256ビット鍵のAdvanced Encryption Standard)は、NISTが2001年に承認した対称ブロック暗号です。128ビットのブロックを14ラウンドの置換・転置で暗号化します。AES-256-GCMは認証付き暗号化を追加し、改ざんを防止します。この暗号は、既知の実用的な攻撃(古典コンピュータによる総当たりを含む)に対して安全とされています。主な弱点は数学ではなく実装にあります。弱いパスワード、サイドチャネル漏洩、ソフトウェアのバグが、暗号解析よりもはるかに頻繁にAES-256を破ります。

AES-256暗号化とは?

AES-256は対称ブロック暗号です。「対称」とは、同じ鍵で暗号化と復号を行うことを意味します。「ブロック暗号」とは、データを固定サイズのチャンク——128ビット(16バイト)ずつ処理することを意味します。「256」は鍵長を示します:256ビットです。

Advanced Encryption Standard(AES)は、米国国立標準技術研究所(NIST)が2001年に複数年にわたる公開コンペの後に選定しました。勝者のアルゴリズムRijndaelは、Joan DaemenとVincent Rijmenによって設計されました。NISTはこれをFIPS 197として公開しました。この標準は3つの鍵サイズ(128、192、256ビット)を規定しています。AES-256は14ラウンドの処理を行い、AES-128は10ラウンドです。

製品説明で「256ビット暗号化」と聞いた場合、ほぼ常にAES-256です。256ビット鍵を持つ他の暗号(Twofish、ChaCha20)も存在しますが、AESが最も広く採用され、最も徹底的に分析されています。

この記事は平易な言葉での概要です。認証付き暗号化のバリアント——nonceの規律、GHASH認証タグ、RFC 5116のAEAD構造——のより深い技術的解説については、AES-256-GCMの専用解説をご覧ください。

AES-256の仕組み

AESはstateと呼ばれる4×4のバイトグリッドで動作します。各ラウンドは4つの操作を適用します:

  1. SubBytes —— 各バイトを固定の置換表(S-box)で置き換えます。これにより非線形性が導入されます。
  2. ShiftRows —— stateの行を循環シフトします。これによりバイトが列全体に拡散します。
  3. MixColumns —— 各列を固定の多項式で乗算します。これによりデータがさらに混合されます。
  4. AddRoundKey —— ラウンド鍵(マスター鍵から導出)がstateにXORされます。

AES-256はこれらのステップを14回繰り返します。最初のラウンドはMixColumnsを省略します。最後のラウンドもMixColumnsを省略します。ラウンド鍵は鍵スケジュールによって生成され、256ビットの鍵を15個の独立した128ビットラウンド鍵に拡張します。

暗号はいくつかのモードで動作できます——基本的に、ブロック暗号を1ブロックより長いデータに適用する方法です。

AES-256-GCM:推奨モード

GCMはGalois/Counter Modeの略です。これは認証付き暗号化(AEAD)方式であり、機密性と完全性の両方を提供します。各メッセージは固有の96ビットnonce(一度だけ使われる数)で暗号化されます。暗号文には、データが改ざんされていないことを証明する認証タグが含まれます。仕様はRFC 5116です。

GCMはTLS 1.2およびTLS 1.3のデフォルトモードです。App-Vaultが暗号化するすべてのファイルにも使用されています。ファイルごとに固有のnonceを使用することで、攻撃者が暗号文を比較して同一ファイルを検出するのを防ぎます。

AES-256-CBC:レガシーモード

Cipher Block Chaining(CBC)は、暗号化前に各平文ブロックを前の暗号文ブロックとXORします。機密性のみを提供します。別途HMACがない場合、CBCはパディングオラクル攻撃に対して脆弱です。NISTおよびほとんどのセキュリティ当局は、新規実装ではGCMをCBCより推奨しています。

AES-256暗号化とは?暗号化のプロでない人のためのガイド

AES-256 vs AES-128

核心的な違いは鍵空間です。AES-128は2^128通りの鍵を持ち、AES-256は2^256通りです。これは2倍ではなく、2^128倍多いということです。2^128という数字はすでに天文学的で、約340澗(かん)です。2^256は2^128の二乗です。

実用的には、どちらも古典コンピュータによる総当たりに対して安全です。NSAはAES-128を機密データに、AES-256を極秘データに許可しています。選択は長期的な秘密保持に重要です。攻撃者が今日の暗号化トラフィックを記録して保存し、将来のブレークスルー(または量子コンピュータ)が数十年後にAES-128を破る可能性があります。AES-256はより大きな安全マージンを提供します。

Groverのアルゴリズムを使う量子コンピュータは、実効鍵強度を半分に減らします:AES-256は128ビット、AES-128は64ビットになります。128ビット鍵は当面の間、量子攻撃に対して安全と見なされていますが、64ビット鍵はそうではありません。2030年以降も機密を保つ必要があるデータには、AES-256がより安全な選択です。

性能:AES-256はソフトウェア上でAES-128より約40%低速です。AES-NI命令を備えた最新のCPUでは、その差ははるかに小さく、通常10~20%です。ほとんどのアプリケーションでは、セキュリティの向上が性能コストを上回ります。

AES-256が使われている場所

AES-256はいたるところにあります。

  • TLS/HTTPS —— すべての安全なWebサイトはGCMまたはCBCモードでAESを使用しています。暗号スイートTLS_AES_256_GCM_SHA384が一般的です。
  • Wi-Fi —— WPA2とWPA3はAES-CCMP(128ビット鍵)またはAES-GCMP(WPA3-Enterpriseでは256ビット鍵)を使用します。
  • iPhoneファイル保護 —— iOSはSecure Enclaveでラップされた鍵を使い、AES-256でファイルを暗号化します。Appleのプラットフォームセキュリティガイドに鍵階層が記載されています。
  • フルディスク暗号化 —— BitLocker(Windows)、FileVault(macOS)、LUKS(Linux)はすべてAES-256を使用します。
  • メッセージング —— Signal、WhatsApp、iMessageはAES-256を他のプリミティブと組み合わせて使用します。
  • VPN —— OpenVPN、WireGuard、IPsecはすべてAES-256-GCMをサポートしています。

AES-256はApp-Vault内部の暗号化エンジンでもあります。すべての写真、動画、ファイルはストレージに保存される前にAES-256-GCMで暗号化されます。完全なスタックはAES-256-GCM暗号化のページに文書化されています。

AES-256が保護しないもの

アルゴリズムは数学的に健全です。失敗はその周辺で起こります。

弱いパスワード。 AES-256は鍵と同程度の強さしかありません。鍵が4桁のPINから導出されている場合、攻撃者は1万通りの可能性をミリ秒で試せます。PBKDF2、bcrypt、Argon2などの鍵導出関数は、弱いパスワードをより強い鍵に引き伸ばします。App-VaultはPBKDF2-SHA256を60万回のイテレーションとインストールごとの128ビットソルトで使用し、総当たり攻撃を遅くしています。

サイドチャネル攻撃。 攻撃者が消費電力、電磁放射、キャッシュタイミングを測定できる場合、暗号を破らずに鍵を回復する可能性があります。AES-NIを備えたハードウェア実装は多くのサイドチャネルに耐性があります。ソフトウェア実装は、タイミングによるデータ漏洩を防ぐために定数時間である必要があります。

実装バグ。 AESは正しく実装するのが複雑です。GCMでのnonce再利用はすべてのセキュリティを破壊します。パディングオラクル攻撃は、完全性チェックがない場合にCBCを破ります。単一のバッファオーバーフローで鍵が漏洩する可能性があります。最も安全なアプローチは、オペレーティングシステムの十分に監査されたライブラリ(AppleのCryptoKit、iOSのCommonCrypto、OpenSSL)を使用することです。

保存時の暗号化なしの物理アクセス。 AES-256は保存データを保護します。デバイスの電源が入っていてロック解除されている場合、鍵はメモリにあります。フォレンジックツールを持つ攻撃者は鍵をダンプできます。これが、iPhoneのファイル保護がデバイスがロックされると消去されるハードウェアバックアップ鍵を使用する理由です。

人的要因。 暗号化は、誰かに騙されてパスワードを明かすのを防ぎません。デバイスのロック解除を強制する裁判所命令を止めません。同じ電話で動作する悪意のあるアプリが復号後にファイルを読み取るのを防ぎません。

App-Vaultの脅威モデルページには、アプリが防御するものと防御しないものがリストされています。正直な答え:AES-256-GCMは、デバイスがロックされている間に物理アクセスを得た攻撃者、または暗号化されたバックアップを傍受した攻撃者から保護します。デバイス上のキーロガーやゴムホース攻撃からは保護しません。

App-VaultがAES-256-GCMをどのように使っているか

App-Vaultは、暗号そのものを超えた複数の層でAES-256-GCMを実装しています。

ファイルごとに固有のnonce。 暗号化操作ごとに、Secure Enclaveの乱数生成器を使用して新しい96ビットnonceを生成します。2つのファイルが同一であっても、暗号文は異なります。攻撃者は暗号化されたサイズやパターンを比較してファイルの内容を推測できません。

パターンからの鍵導出。 ユーザーの5×5パターンロックは、PBKDF2-SHA256を60万回のイテレーションで256ビット鍵に変換します。イテレーション数はOWASP 2026年の推奨に従っています。ソルトは128ビットで、インストールごとに生成されます。結果の鍵は、iPhoneのSecure Enclave内部で生成された鍵でラップされます。Enclave鍵はチップから決して離れません。つまり、攻撃者がメモリからPBKDF2出力を抽出しても、Secure Enclaveにアクセスできなければファイルを復号できません。

サーバーなし。 App-Vaultはデフォルトでネットワーク呼び出しを一切行いません。暗号化鍵はデバイスから決して離れません。暗号化されたiCloudバックアップはオプトインで、デバイスごとの別のバックアップ鍵を使用します。Appleが受け取るのは暗号文のみです。これはゼロ知識アーキテクチャです:たとえ強制されてもApp-Vaultはあなたのファイルを読めません。

カタログ暗号化。 ファイルのリスト——名前、サイズ、日付——も暗号化されています。生のストレージにアクセスした攻撃者は、ボールト内のファイル数を特定できず、ましてや内容を知ることはできません。

デコイボールト。 デコイボールト機能は、別のパターンの背後に数学的に独立した第二の暗号化カタログを作成します。各ボールトは独自の鍵導出チェーンを使用します。一方のボールトの存在は他方を明かしません。

AES-256暗号化

まとめ

AES-256暗号化は、データ機密性のゴールドスタンダードです。認証付き暗号化、固有のnonce、強力な鍵導出、ハードウェアバックアップ鍵ストレージで正しく実装された場合、既知の攻撃者が破れないレベルのセキュリティを提供します。

しかし、暗号化は道具であって、お守りではありません。弱いパスワード、侵害されたデバイス、ソーシャルエンジニアリングからは保護しません。ユーザーがボールトコードに「1234」を設定してしまえば、世界最高の暗号も無意味です。

App-Vaultの設計はその現実を認識しています。暗号化スタックは、Secure Enclaveラッピング、60万回のイテレーションのPBKDF2、ゼロ知識アーキテクチャを備えたAES-256-GCMを使用しています。パターンロックのページでは、5×5のグリッドがどのように256ビット鍵になるかを正確に説明しています。Keepsafeとの比較では、異なるアプリが同じ問題にどのように取り組んでいるかを示しています。

AES-256は魔法ではありません。数学です。そして数学は、正しく適用されたとき、プライバシーエンジニアリングが提供できる最も確実な保証に近いものです。

DIAGRAM · 04

DOSSIER

ON-DEVICE ONLY 📱 your iPhone key · vault · plaintext all sealed locally vs. ACCOUNT + CLOUD ☁︎ a server email · password · sync breach surface
ARCHITECTURE COMPARISON — on-device versus account-and-cloud

QUESTIONS

10 sharp answers.

  1. 01 AES-256暗号化とは何ですか?
    AES-256は、256ビット鍵を使用するAdvanced Encryption Standardです。128ビットのブロックを14ラウンドで暗号化します。256ビット鍵により2^256通りの鍵が可能で、総当たり検索は非現実的です。
  2. 02 AES-256は安全ですか?
    はい。AES-256にはフルラウンドの暗号に対する既知の実用的攻撃はありません。NSAは極秘データに承認しています。セキュリティ障害のほとんどは、弱いパスワード、サイドチャネル漏洩、実装バグに起因し、アルゴリズム自体ではありません。
  3. 03 AES-128とAES-256の違いは何ですか?
    AES-128は128ビット鍵で10ラウンド、AES-256は256ビット鍵で14ラウンドです。AES-256ははるかに大きな鍵空間(2^128対2^256)を持ち、長期的な秘密保持に推奨されます。AES-128もほとんどの用途で安全ですが、将来の量子攻撃に対して脆弱になる可能性があります。
  4. 04 AES-256-GCMとは何ですか?
    AES-256-GCMは、Galois/CounterモードのAES-256で、機密性と完全性の両方を提供する認証付き暗号化(AEAD)方式です。攻撃者による暗号文の改ざんを防ぎます。暗号化ごとに固有の96ビットnonceを使用します。
  5. 05 AES-256-CBCとは何ですか?
    AES-256-CBCはCipher Block ChainingモードのAES-256です。機密性のみを提供し、完全性チェックはありません。別途HMACがない場合、CBCはパディングオラクル攻撃に対して脆弱です。レガシーと見なされ、新規システムでは推奨されません。
  6. 06 AES-256は解読できますか?
    古典コンピュータでは不可能です。2^256個の鍵を総当たりするには、太陽が生成する以上のエネルギーが必要です。Groverのアルゴリズムを使う量子コンピュータは実効鍵強度を128ビットに減らせますが、それでも現時点では安全です。AES-256に対してGroverを実行できる量子コンピュータは存在しません。
  7. 07 AES-256暗号化はどこで使われていますか?
    AES-256はTLS 1.2/1.3(HTTPS)、Wi-Fi WPA2/WPA3、Signal、WhatsApp、iPhoneファイル保護、BitLocker、FileVault、多くのVPNで使用されています。App-Vaultはファイルごとに固有のnonceを使ったAES-256-GCMを採用しています。
  8. 08 AES-256は256ビット暗号化と同じですか?
    必ずしも同じではありません。「256ビット暗号化」は256ビット鍵を使う任意の暗号(AES-256、Twofish-256、ChaCha20の256ビット鍵版など)を指すことがあります。AES-256は最も広く展開されている標準化された256ビット暗号です。
  9. 09 AES-256より優れたものはありますか?
    ChaCha20-Poly1305は同等の安全性で、AESハードウェアアクセラレーションがないモバイルCPUでは高速なことが多いです。AES-256-GCMはハードウェアアクセラレーション対応プラットフォームでは依然としてゴールドスタンダードです。256ビット鍵の暗号で「より優れた」安全性マージンを持つものはなく、違いは性能と実装の成熟度です。
  10. 10 ゼロ知識暗号化とは何ですか?
    ゼロ知識暗号化とは、暗号化鍵がデバイスから決して離れないため、サービスプロバイダがあなたのデータを読めないことを意味します。App-Vaultは、デバイス上で鍵を生成し、Secure Enclaveでラップし、鍵をサーバーに送信しないことでゼロ知識を実現しています。

関連資料

続きを読む。

9 ENTRIES

はじめよう

金庫を閉じる。

ダウンロード無料。最初の金庫は永久に無料です。容量が足りなくなったらアップグレードしてください。