AES-256暗号化とは何ですか?どのように機能しますか?

著者

Advanced Encryption Standard(旧称Rijndael)は、情報を暗号化する方法のXNUMXつです。 総当たり攻撃でさえそれを壊すことができなかったとしても、それはとても安全です。

この高度な暗号化標準は、オンラインバンキングを含む複数の業界とともに、国家安全保障局(NSA)によって使用されています。 それで、 AES暗号化とは何ですか そしてそれはどのように機能しますか? 確認してみましょう!

AES暗号化とは何ですか? 

AESは、今日のデータ暗号化標準です。 それが提供するセキュリティと保護の量において比類のないものです。

それを分解してみましょう です。 AESは

  • 対称鍵暗号化
  • ブロック暗号

対称暗号化と非対称暗号化

AESは 対称の 暗号化のタイプ。

対称鍵暗号化

「対称」とは、 暗号化と復号化の両方に同じキー 情報さらに、 どちらも が待 送信者と受信者 暗号を復号化するには、データのコピーが必要です。

一方、 非対称の キーシステムは それぞれに異なるキー XNUMXつのプロセスの暗号化と復号化。

対称システムの利点 AESのように彼らは 非対称よりもはるかに高速 もの。 これは、対称鍵アルゴリズムが必要なためです より少ない計算能力。 

これが、非対称キーが最適に使用される理由です。 外部ファイル転送。 対称鍵は 内部暗号化.

ブロック暗号とは何ですか?

次に、AESはテクノロジーの世界が呼ぶものでもあります 「ブロック暗号」。 

このタイプの暗号のため、「ブロック」と呼ばれます 暗号化する情報を分割します (平文として知られている)ブロックと呼ばれるセクションに。

具体的には、AESは 128ビットのブロックサイズ。 

これは、データがに分割されることを意味します XNUMX行XNUMX列の配列 16バイトを含みます。 各バイトにはXNUMXビットが含まれています。

したがって、16バイトに8ビットを掛けると、次のようになります。 各ブロックに合計128ビット。 

この部門に関係なく、 暗号化されたデータのサイズは同じままです。 言い換えると、128ビットの平文は128ビットの暗号文を生成します。

AESアルゴリズムの秘密

ここが面白くなるので、今度は帽子を握ってください。

JoanDaemenとVincentRijmenは、 置換順列ネットワーク(SPN) アルゴリズム。

SPNは適用することによって機能します 暗号化するための複数ラウンドの鍵拡張 データ。

初期キーは、を作成するために使用されます 一連の新しいキー 「ラウンドキー」と呼ばれます。

これらの丸い鍵がどのように生成されるかについては、後で詳しく説明します。 言うまでもなく、変更を複数回行うと、毎回新しいラウンドキーが生成されます。

通過するたびに、データはますます安全になり、暗号化を破ることが難しくなります。

どうして?

これらの暗号化ラウンドにより、AESが侵入できなくなるためです。 ただあります あまりにも多くのラウンド ハッカーはそれを解読するために突破する必要があります。

このように言います: スーパーコンピューターがAESコードを解読するには、宇宙の推定年齢よりも長い年月がかかります。

現在まで、AESは実質的に脅威がありません。

異なるキーの長さ

ニキビ後の跡が目立たないよう設計されており、さらにより少ない処方で効果的なものは XNUMXつの長さのAES暗号化キー.

キーの長さごとに、可能なキーの組み合わせの数が異なります。

  • 128ビットのキーの長さ:3.4 x 1038
  • 192ビットのキーの長さ:6.2 x 1057
  • 256ビットのキーの長さ:1.1 x 1077

この暗号化方式のキーの長さはさまざまですが、そのブロックサイズ– 128ビット(または16バイト) - 同じまま。 

なぜキーサイズが違うのですか? 実用性がすべてです。

アプリを例にとってみましょう。 AES 256の代わりに128ビットAESを使用する場合、 より多くの計算能力が必要.

実用的な効果はそれが より多くの生の力が必要 あなたのバッテリーから、あなたの電話はより速く死ぬでしょう。

したがって、AESを使用している間、256ビット暗号化は 金本位、それは日常の使用には適していないだけです。

Advanced Encryption Standard(AES)はどこで使用されますか?

AESは、世界で最も信頼されているシステムのXNUMXつです。 非常に高いレベルのセキュリティを必要とする複数の業界で広く採用されています。

今日、AESライブラリは、以下を含む多数のプログラミング言語用に作成されています。 C、C ++、Java、Javascript、およびPython.

AES暗号化標準は、さまざまなユーザーによっても使用されています ファイル圧縮プログラム 7 Zip、WinZip、およびRARを含み、 ディスク暗号化システム BitLockerやFileVaultのように。 NTFSのようなファイルシステム。

気づかずに日常生活で使っているかも!

AESは データベースの暗号化 及び VPN システム.

複数のアカウントのログイン資格情報を記憶するためにパスワードマネージャーに依存している場合は、おそらくすでにAESに遭遇しています。

WhatsAppやFacebookMes​​sengerなど、使用しているメッセージングアプリは? ええ、彼らもこれを使っています。

さらに ビデオゲーム 以下のような グランドセフトオートIV AESを使用してハッカーから保護します。

AES命令セットはに統合されています すべてのIntelおよびAMDプロセッサ、したがって、PCまたはラップトップには、何もしなくてもすでに組み込まれています。

そしてもちろん、あなたのアプリを忘れないでください バンク あなたがオンラインであなたの財政を管理できるようにするために作成されました。

AES暗号化がどのように機能するかを理解したら、次のことを行います。 呼吸がずっと楽に あなたの情報が安全な手にあるという知識を持って!

AES暗号化の歴史

AESは応答として始まりました 米国政府の ニーズ。

1977年に、連邦機関はDに依存していましたata暗号化規格(DES) 主要な暗号化アルゴリズムとして。

しかし、1990年代までに、DESは侵入される可能性があるため、十分に安全ではなくなりました。 22時間。 

それで、政府は発表しました 公の競争 5年以上続いた新しいシステムを見つけるために。

世界 このオープンプロセスのメリット 提出された暗号化アルゴリズムのそれぞれが公安の対象となる可能性があるということでした。 これは、政府が 100%確実 彼らの勝利システムには裏口がなかった。

さらに、複数の心と目が関与していたため、政府はその可能性を最大化しました 欠陥の特定と修正。

最後に、 Rijndael暗号(別名今日のAdvanced Encryption Standard)がチャンピオンに輝いた.

Rijndaelは、それを作成したXNUMX人のベルギーの暗号学者にちなんで名付けられました。 フィンセント・ライメンとホァン・ダーメン.

2002年には Advanced EncryptionStandardに名前が変更されました 米国国立標準技術研究所(NIST)によって発行されました。

NSAは、処理する能力とセキュリティについてAESアルゴリズムを承認しました 極秘情報。 これにより、AESがマップに配置されます。

それ以来、AESはiになりました暗号化の業界標準.

そのオープンな性質は、AESソフトウェアが 公的および私的、商業的および非商業的の両方に使用されます アプリケーション。

AES 256はどのように機能しますか?

これまでのところ、これらの暗号化アルゴリズムは、保護している情報をスクランブルし、ランダムな混乱に変えることを知っています。

つまり、すべての暗号化の基本原則 is データの各ユニットは、セキュリティキーに応じて異なるものに置き換えられます。

しかし、 正確に AES暗号化を業界標準と見なすのに十分なほど安全にしますか?

プロセスの概要

AES暗号化アルゴリズムが通過します 複数ラウンド 暗号化の。 それはこれの9、11、または13ラウンドを通過することさえできます。

各ラウンドには、以下の同じ手順が含まれます。

  • データをブロックに分割します。
  • キーの拡張。
  • 丸い鍵を追加します。
  • バイトの置換/置換。
  • 行をシフトします。
  • 列を混合します。
  • 丸いキーをもう一度追加します。
  • もう一度やり直してください。

最後のラウンドの後、アルゴリズムはさらに1ラウンドを通過します。 このセットでは、アルゴリズムはステップ7からXNUMXを実行します 除きます 6手順。

この時点ではあまり効果がないため、6番目のステップを変更します。 すでにこのプロセスを複数回実行していることを忘れないでください。

したがって、ステップ6を繰り返すと次のようになります。 冗長。 カラムを再び混合するのに必要な処理能力の量は、それだけの価値はありません。 データを大幅に変更しなくなりました.

この時点で、データはすでに次のラウンドを通過しています。

  • 128ビットキー:10ラウンド
  • 192ビットキー:12ラウンド
  • 256ビットキー:14ラウンド

出力?

乱雑な文字のandomセット これは、AESキーを持っていない人には意味がありません。

詳細な外観

これで、この対称ブロック暗号がどのように作成されるかがわかりました。 もっと詳しく見ていきましょう。

まず、これらの暗号化アルゴリズムは、を使用してブロックに初期キーを追加します XOR(「排他的論理和」)暗号。 

この暗号は 組み込みの操作 プロセッサハードウェア。

次に、データの各バイトは 置換されました 他のと。

この CRUCIAL ステップは、と呼ばれる所定のテーブルに従います ラインダールの主要スケジュール 各交換がどのように行われるかを決定します。

今、あなたはのセットを持っています 新しい128ビットの丸い鍵 それはすでにごちゃごちゃした手紙の混乱です。

第三に、それは通過する時間です AES暗号化の最初のラウンド。 アルゴリズムは、最初のキーを新しいラウンドキーに追加します。

今、あなたはあなたを持っています 2番目の ランダム暗号。

第四に、アルゴリズム すべてのバイトを置き換えます RijndaelS-boxに準拠したコードを使用します。

さあ、 行をシフトします 4×4アレイの。

  • 最初の行はそのままです。
  • XNUMX番目の行はXNUMXスペース左に移動します。
  • XNUMX行目はXNUMXつのスペースにシフトされます。
  • 最後に、XNUMX番目はXNUMXスペース移動されます。

第XNUMXに、各列に事前定義された行列が乗算されます。 新しいコードブロック.

これは非常に複雑なプロセスであり、高度な計算が大量に必要になるため、詳細については説明しません。

暗号の列が混合されて組み合わされて、別のブロックが作成されることを知っておいてください。

最後に、ラウンドキーをブロックに追加します(最初のキーがXNUMX番目のステップにあったように)。

次に、必要なラウンド数に基づいてすすぎ、繰り返します。

このプロセスはさらに数回続き、暗号文が得られます。 根本的に異なる 平文から。

それを復号化するには、すべてを逆に実行します。

AES暗号化アルゴリズムの各段階は重要な機能を果たします。

なぜすべてのステップ?

ラウンドごとに異なるキーを使用すると、はるかに複雑な結果が得られ、使用しているキーサイズに関係なく、ブルートフォース攻撃からデータを安全に保つことができます。

バイト置換プロセスは、非線形の方法でデータを変更します。 これは隠れます オリジナルと暗号化されたものの関係 コンテンツ。

行をシフトして列を混合すると、 データを拡散します。 シフトはデータを水平方向に拡散し、ミキシングは垂直方向に拡散します。

バイトを転置することにより、はるかに複雑な暗号化が得られます。

結果は 信じられないほど洗練された形式の暗号化 秘密鍵を持っていない限り、ハッキングすることはできません。

AES暗号化は安全ですか?

プロセスの説明だけではAESキーの威力を信じられない場合は、AESの安全性について詳しく見ていきましょう。

最初に述べたように、米国国立標準技術研究所(NIST)は次のXNUMX種類のAESを選択しました。 128ビットAES、192ビット、および256ビットキー.

各タイプは同じ128ビットブロックを使用しますが、2つの点で異なります。

キーの長さ

世界 最初の違い 各ビットキーの長さにあります。

最長として、 AES 256ビット暗号化は最強を提供します 暗号化のレベル。

これは、256ビットのAES暗号化を試みるにはハッカーが必要になるためです。 2256種類の組み合わせ 正しいものが含まれていることを確認します。

この数を強調する必要があります 天文学的に大きい。 イッツ 合計78桁! 

それでも大きさがわからない場合は、このようにしましょう。 とても大きいので 指数関数的に 大きい 観測可能な宇宙の原子の数よりも。

明らかに、国家安全保障やその他のデータを保護するために、米国政府は 128ビットまたは256ビットの暗号化プロセスが必要 機密データ用。

AES-256、 256ビットのキー長は、最大のビットサイズをサポートし、現在の計算能力標準に基づく力ずくで実質的に破壊されないため、今日の時点で、現在の最強の暗号化標準となっています。 

キーサイズ可能な組み合わせ
1ビット2
2ビット4
4ビット16
8ビット256
16ビット65536
32ビット4.2 x 109
56ビット(DES)7.2 x 1016
64ビット1.8 x 1019
128ビット(AES)3.4 x 1038
192ビット(AES)6.2 x 1057
256ビット(AES)1.1 x 1077

暗号化ラウンド

世界 XNUMX番目の違い これらのXNUMXつのAESの種類の間には、通過する暗号化のラウンド数があります。

128ビットAES暗号化は 10ラウンド、AES192は 12ラウンド、およびAES256は 14ラウンド.

ご想像のとおり、使用するラウンドが多いほど、暗号化は複雑になります。 これが主に、AES256を最も安全なAES実装にしている理由です。

キャッチ

より長いキーとより多くのラウンドは、より高いパフォーマンスとより多くのリソース/パワーを必要とします。

AES256は システムリソースが40%増加 AES192より。

これが、256ビットのAdvancedEncryption標準が最適な理由です。 高感度環境、政府が機密データを扱うときのように。

これらは、 セキュリティはスピードやパワーよりも重要です.

ハッカーはAES256をクラックできますか?

世界 古い 56ビットのDESキーは、XNUMX日以内に解読される可能性があります。 しかし、AESの場合は? かかるだろう 数十億年 今日私たちが持っているコンピューティング技術を使って壊すために。

ハッカーは、この種の攻撃を試みることすら愚かでしょう。

そうは言っても、私たちは認めなければなりません 完全に安全な暗号化システムはありません.

AESを調査した研究者は、いくつかの潜在的な方法を発見しました。

脅威#1:関連-主要な攻撃

2009年に、彼らは関連キー攻撃の可能性を発見しました。 ブルートフォースの代わりに、これらの攻撃は 暗号化キー自体をターゲットにする.

このタイプの暗号解読は、さまざまなキーを使用して暗号がどのように動作するかを観察することにより、暗号を解読しようとします。

幸いなことに、関連キー攻撃は 脅威のみ AESシステムに。 それが機能する唯一の方法は、ハッカーがXNUMXセットのキー間の関係を知っている(または疑って​​いる)場合です。

暗号学者は、これらの攻撃の後、AES鍵スケジュールの複雑さを迅速に改善して、それらを防止しましたので、ご安心ください。

脅威#2:既知の主要な識別攻撃

ブルートフォースとは異なり、この攻撃は 既知のキー 暗号化の構造を解読します。

ただし、このハッキングはAES128のXNUMXラウンドバージョンのみを対象としていました。 標準の10ラウンドバージョンではありません。 でも、 これは大きな脅威ではありません。

脅威#3:サイドチャネル攻撃

これがAESが直面する主なリスクです。 それはしようとすることによって機能します 情報を拾う システムに漏れがあります。

ハッカーは聞くことができます 音、電磁信号、タイミング情報、または消費電力 セキュリティアルゴリズムがどのように機能するかを理解しようとします。

サイドチャネル攻撃を防ぐ最善の方法は、 情報漏えいの除去または漏えいデータのマスキング (余分な電磁信号または音を生成することによって)。

脅威#4:鍵を明らかにする

これは、次のようにすることで証明するのに十分簡単です。

  • 強力なパスワード
  • 多要素認証
  • ファイアウォール
  • ウイルス対策ソフト 

さらに、 従業員を教育する ソーシャルエンジニアリングやフィッシング攻撃に対して。

AES暗号化の利点

AESの暗号化プロセスは比較的理解しやすいです。 これにより、 簡単な実装、そして本当に 高速な暗号化と復号化の時間.

さらに、AES 必要なメモリが少なくて済みます 他のタイプの暗号化(DESなど)よりも。

最後に、安全性の追加レイヤーが必要な場合はいつでも、次のことができます。AESをさまざまなセキュリティプロトコルと簡単に組み合わせる WPA2やSSLのような他のタイプの暗号化のように。

AES 対 ChaCha20 

AESには、他のタイプの暗号化が満たそうとしたいくつかの制限があります。

AESはほとんどの最新のコンピューターにとって素晴らしいものですが、 私たちの携帯電話やタブレットに組み込まれていません.

これが、AESが通常モバイルデバイス上の(ハードウェアではなく)ソフトウェアを介して実装される理由です。

ただし、AESのソフトウェア実装 バッテリーの寿命が長すぎる.

ChaCha20も256ビットキーを使用します。 それはからの何人かのエンジニアによって開発されました Google このギャップを埋めるために。

ChaCha20の利点:

  • よりCPUフレンドリー
  • 実装が簡単
  • 必要な電力が少なくて済みます
  • キャッシュタイミング攻撃に対してより安全
  • 256ビットの鍵でもあります

AES 対 Twofish

Twofishは、政府がDEに取って代わるために開催したコンテストのファイナリストのXNUMX人でした。

ブロックの代わりに、TwofishはFeistelネットワークを使用します。 これは、DESのような古い標準の類似しているが、より複雑なバージョンであることを意味します。

今日まで、Twofishは壊れていません。 これが、前述の潜在的な脅威を考慮すると、AESよりも安全であると多くの人が言う理由です。

主な違いは、AESはキーの長さに応じて暗号化のラウンド数を変えるのに対し、Twofishはそれを 16ラウンドの定数.

ただし、Twofish より多くのメモリと電力が必要 モバイルまたはローエンドコンピューティングデバイスの使用に関して最大​​の欠点であるAESと比較して。

結論

AES暗号化が国家安全保障局にとって十分である場合、私たちはそのセキュリティを信頼することをいとわないでしょう。

今日利用可能な多くのテクノロジーにもかかわらず、AESは依然として最上位にあります。 どの企業も極秘情報に使用するのに十分です。

リファレンス

ホーム » クラウドストレージ » AES-256暗号化とは何ですか?どのように機能しますか?

ニュースレターに登録する

毎週のまとめニュースレターを購読して、最新の業界ニュースとトレンドを入手してください

「サブスクライブ」をクリックすると、 利用規約とプライバシーポリシー.