セキュリティコラム

暗号の基礎Column vol.8

暗号アルゴリズムについて

1993年のCICLOCK販売開始から長きに渡り、クレジットカード業界を始めとした各業界を支えてきた、情報漏洩対策・暗号化ソフトのプロが綴るセキュリティコラム。

今回のコラムでは、「暗号の種類(ブロック暗号)」について解説します。

暗号アルゴリズムの特性を理解することで適した暗号アルゴリズムを選択し、より確実に情報漏洩を防止することができます。

「暗号の種類(ブロック暗号)」について

これまでのコラムでは、暗号を使う上での注意点を書いてきました。これをまとめると以下のようになります。

  • 鍵は定期的に変えること
  • 公開された暗号アルゴリズムを使うこと
  • 暗号アルゴリズムに弱点が報告されていないか確認すること
  • 現実的な範囲で鍵長の長い暗号アルゴリズムを使うこと
  • 共通鍵暗号の場合は鍵配送の手段を考慮しておくこと

暗号の種類(ブロック暗号)

暗号には「共通鍵暗号」と「公開鍵暗号」の2種類があると書きました。これは鍵のタイプによる分類ですが、暗号アルゴリズムのタイプで分類すると、「ブロック暗号」と「ストリーム暗号」の2種類に大別されます。

ブロック暗号とは、平文を一定サイズのブロックに分割し、それぞれのブロックを暗号化する方式のことです。ブロック暗号の一例を「あみだくじ」のイメージで説明しましょう。(下図参照)

ブロック暗号の「あみだくじ」のイメージ

たとえば暗号化したいデータの先頭8文字を取り出し、あみだくじの上段に左から順に1文字ずつ並べます。あみだくじが上図のようになっていれば、文字の位置が入れ替わり、「ろっこうおろしに(上段)」は「にうろろっしおこ(下段)」となります。ちょっと見には意味の分からないデータとなるので、これを暗号化と見なすことができます。同じ方法で9文字目以降もあみだくじに掛けていけば、データ全体を暗号化することができます。このように文字の位置や順序を入れ替える操作を「転字」と言います。

一方、前述のシーザー暗号で、i→H、b→A、m→Lというように、ある文字を別の文字に変換しましたが、このような操作を「換字」と言います。

実際のブロック暗号においては、転字、換字などを組み合わせ、さらに、指定する鍵によって、暗号化結果にバリエーションが出るようにする(たとえば、あみだくじの横線の位置や本数が変わるようにする)など、より複雑な操作を行っています。

なお、上図の例では1ブロックが8文字ということになりますが、通常、コンピュータ上で行うブロック暗号は64ビット、128ビットなど、ビット数で表現されます。また、ブロックの大きさをブロック長といいます。ちなみにAES暗号のブロック長は128ビットです。

カテゴリ一覧

お問い合わせ・資料請求

CICLOCKⅡや当社取り扱い製品のご相談、
ご不明点・ご質問などございましたら
お気軽にお問い合わせください。