0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AES-CBCとは 基本的な暗号アルゴリズム

Posted at

目次

何でこんな記事を書いているのか......

どうも、初めましてRukiというネットネームで、いつもSNSを探検しています。
今回は、とあるセキュリティ問題でAES-CBCという暗号アルゴリズムが登場したため、少し語ろうと思います。

AESとはなんぞや?

AESとは、Advanced Encryption Standardの略であり、これまでにDESというData Encryption Standardという暗号アルゴリズムがあったのですが、それの拡張版みたいなものです。
共通鍵暗号であるため、共通鍵を用います。

DESと違って、AESは

  1. 鍵長が128, 192, 256ビットに拡張
  2. ブロックサイズが128ビット
  3. 高速で軽量(ハードウェア/ソフトウェア両方で効率的)

など色々メリットがあります。

簡単に、図にするとこうなります。

aes.drawio.png

至ってシンプルだと思います。
これにプラスして、ファイステルネットワークとかも関係しますが、今回は除外します。

CBCって何それ?

CBCとは、Cipher Block Chainingモード(暗号ブロック連鎖モード)の略で、1つ前の暗号文ブロックと平文ブロックのXORをとってから暗号化します。

わかりにくいと思うので、図で説明します。

cbc.drawio.png

CBCモードでは、基本は、1ブロック前の暗号文ブロックからXORで暗号化を行います。しかし、最初の暗号化は元となる暗号文ブロックが存在しないため、最初にランダムに生成したビット列を1ブロック分用意してから、暗号化を開始します。

AES-CBCとは

つまりは、AES-CBCとは、共通鍵を用いた、暗号化ブロック連鎖式の共通鍵暗号方式であることがわかります。
これにより、暗号化しながら、単一の暗号・復号関係を防ぎ、尚且つ、そのまで複雑でもないことから、今でも使われている時があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?