pulpul 日本の試験

情報処理安全確保支援士 概念書 · セキュリティ

共通鍵暗号とブロック暗号の利用

共通鍵暗号は、暗号化と復号に同一の秘密鍵を用いる暗号方式である。ブロック暗号は、平文を一定の長さのブロックに区切ってブロック単位で暗号化する共通鍵暗号であり、AESがその代表例である。共通鍵暗号は処理が高速である一方、通信相手と鍵を安全に共有しなければならないという管理上の課題を伴う。

共通鍵暗号の原理と鍵管理の負担

共通鍵暗号方式では、暗号化と復号に同じ鍵を用いるため、その鍵を知る者は誰でも暗号文を元の平文に戻せる。そのため、鍵は通信当事者以外に漏れないように保つことが前提になる。

送信者と受信者は、同じ鍵を事前に安全な方法で共有する必要がある。鍵の共有経路が盗聴されれば、暗号アルゴリズムが強固であっても通信内容は守られない。

通信相手ごとに秘密の通信を行う場合、相手ごとに異なる共通鍵を用意するのが基本となる。そのため、通信相手が増えるほど鍵の生成・配布・更新・廃棄の手間が増え、鍵管理の負担が大きくなる。

ブロック暗号とAESの仕組み

ブロック暗号は、平文を固定長のブロックに分けて処理する方式である。AESは共通鍵暗号方式のブロック暗号であり、暗号化と復号に同じ秘密鍵を使う。 RSAやElGamal暗号、楕円曲線暗号は公開鍵暗号方式であり、共通鍵暗号とは方式が異なる点に注意が必要である。

AESのブロック長は128ビットであり、鍵長とは別に定められている。鍵長は規格で定められた128ビット、192ビット、256ビットの3種類から選ぶのであり、任意の長さを指定できるわけではない。

AESの暗号化の段数(ラウンド数)は鍵長によって決まり、128ビット鍵では10段、192ビット鍵では12段、256ビット鍵では14段となる。段数を鍵長とは独立に選ぶ仕組みではない。

暗号化・復号・暗号化の順に3回処理する方式は3重DESの特徴であり、AESの特徴ではない。両者を取り違えると、AESの構造を誤って理解することになる。

暗号利用モードとCTRモード

ブロック暗号は1ブロックを暗号化する仕組みにすぎないため、複数ブロックにわたる長いデータを扱うには暗号利用モードを用いる。暗号利用モードは、ブロックどうしの関係や鍵ストリームの作り方を定める規則である。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む