0Pricing
Cryptology Academy · レッスン

対称暗号の概念

共通鍵暗号、鍵長、ブロック暗号とストリーム暗号を理解します。

「対称暗号の概念」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

ようこそ

共通鍵暗号では、暗号化と復号の両方に1つの鍵を使用します。このレッスンでは、AESの内部に踏み込む前に基本概念を学びます。

共有鍵モデル

AliceとBobは秘密鍵Kを共有しています。Aliceは暗号化します:C = Enc(K, P)。Bobは復号します:P = Dec(K, C)。EveはCを傍受できますが、KがなければPを復元できません。

ブロック暗号

ブロック暗号は、平文を固定サイズのブロック単位で暗号化します。AESは128ビットのブロックを使用します。DESは64ビットのブロックを使用していましたが、現在は廃止されています。長いメッセージはブロックに分割され、運用モードが適用されます。

ストリーム暗号

ストリーム暗号はキーストリームを生成し、平文とバイト単位でXORを取ります。ChaCha20とRC4はストリーム暗号です。パディングなしで可変長の入力を処理できます。

鍵サイズとセキュリティレベル

AES-128:2^128通りの鍵空間 → 128ビットのセキュリティ。AES-256:2^256通りの鍵空間 → 256ビットのセキュリティ。DESの鍵はわずか56ビットで、1999年に総当たり攻撃で破られました。

DESの歴史

Data Encryption Standard(1977年)は、NSAの要請により56ビットの鍵を使用しました。1999年、distributed.netが22時間でDESを解読しました。Triple-DES(3DES)はDESを拡張しましたが、2001年にAESが両方に取って代わりました。

AESの選定プロセス

NISTは1997年から2001年にかけて、世界各地から15件の応募を集めた5年間のコンペティションを実施しました。Daemen氏とRijmen氏によるRijndaelが優勝しました。シンプルで高速、かつ解析しやすいことが評価されました。

攪乱と拡散

強力な暗号におけるShannonの設計原則: - 攪乱:各暗号文ビットが多数の鍵ビットに依存すること(SubBytesが提供) - 拡散:平文の1ビットを変更すると、多数の暗号文ビットに影響すること(ShiftRows+MixColumnsが提供)

FeistelネットワークとSPネットワーク

DESはFeistelネットワーク(ブロックを分割してF関数を適用)を使用しました。AESは置換・転置(SP)ネットワークを使用し、すべてのバイトを同時に変換します。SPネットワークはハードウェア上でより高速です。

ブロックサイズと安全性

64ビットブロック(DES)では、誕生日限界による衝突が2^32個、約40億個のブロックの後に発生します。AESの128ビットブロックでは2^64個のブロックが必要です。AESは実用的なデータ量に対して安全です。

認証付き暗号化と認証なし暗号化

AES-CBCだけでは暗号化はできますが、認証はできません。攻撃者が検知されずに暗号文を変更できてしまいます。必ずAEAD、つまりAES-GCMまたはChaCha20-Poly1305を使用してください。これらは暗号化と認証を同時に行います。

クイックチェック

ブロック暗号とストリーム暗号を区別する特徴は何ですか?

まとめ

共通鍵暗号の基本概念をしっかり理解できました。次はAESの内部に入り、ラウンド、状態行列、そして安全性を実現する4つの操作を学びます。

よくある質問

「対称暗号の概念」レッスンは無料ですか?

はい。「対称暗号の概念」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「対称暗号の概念」で何を学びますか?

共通鍵暗号、鍵長、ブロック暗号とストリーム暗号を理解します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「対称暗号の概念」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 対称暗号の概念
  2. AESの構造:ラウンドと状態行列
  3. AESの鍵拡張と鍵長
  4. 実践:AESによるファイル暗号化
← Cryptology Academyに戻る