セキュリティコラム

暗号の基礎Column vol.5

暗号鍵の長さ(桁数)はどのくらい必要か

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

今回は暗号鍵の長さ(桁数)について、またその対策について学習しましょう。

暗号鍵の長さ(桁数)と暗号強度の関係をしっかりと把握しておくことで、より確実に情報漏洩を防止することができます。

暗号鍵の長さ(桁数)はどのくらい必要か

セキュリティコラムVol.4では暗号の性質3に対する説明で、暗号アルゴリズムは公開するのが主流である、と申しましたが、暗号アルゴリズムを公開する以上、鍵だけは何としても秘密にしておく必要があります。

しかし、性質4には「暗号アルゴリズムさえ分かっていれば、たとえ鍵が分からなくても、いつかは解読できる。」とあり、鍵だけを秘密にしても意味がなさそうに思えてきます。

この問題への対処は、「いつか」を「はるか未来」にすることによって、解読を無価値にすることです。

たとえば、わたしの個人的な秘密が暗号化されたデータがあったとして、その暗号文が1年足らずで解読されたら困りますが、解読に何千年も要するならば、わたしが歴史に名を残す人物にでもならない限り、解読するだけの価値はありません。

では、解読に要する時間を大きくするにはどうすればよいでしょうか。

そのための1つの方法として、鍵の桁数(「鍵長」と言う)が大きい暗号アルゴリズムを使う、という方法があります。暗号化とは関係ありませんが、キャッシュカードの暗証番号で説明しましょう。暗証番号は4桁の数字なので、拾ったキャッシュカードを使って0000から順々に試していけば、最大で10,000回、平均では5,000回で正解に行き着くはずです。

(無論、その前に警備員が飛んで来ますが・・・。)

暗号の鍵でも同じことが言えます。現在の暗号アルゴリズムでは、鍵長は64ビット、128ビットなど、ビット数で表現されます。鍵長が64ビットの場合、鍵の種類は全部で"2"の"64乗"=18,446,744,073,709,551,616(1844京6744兆737億955万1616)という、途方もなく大きな値となるため、コンピュータを使っても全部の鍵を試すのは容易ではありません。しかしコンピュータの性能向上に伴い、いずれ64ビットでも十分とは言えなくなります。また、鍵長を選択できる暗号アルゴリズムを使えば、状況に応じて長い鍵長に移行することも容易になります。

ちなみにAESという暗号アルゴリズムは128、192、256ビットから選択可能です。当面128ビットの鍵を使い、将来的には192、256ビットという具合に、アルゴリズムはそのままに、鍵長だけを段階的に長くするといった柔軟な対応が可能になります。

さて、64ビットが128ビットになれば鍵の種類は2倍になると思いますか。

いいえ違います。

1ビット増えるごとに2倍になるので、64ビット増えれば2を64回掛けた倍数となります。ちなみに計算すると鍵の種類は、一、十、百、千、万・・・と指折り数えて、39回、指を折った桁数になります。なお、同じ暗号アルゴリズムであれば鍵長を長くするほど解読は困難になりますが、異なる暗号アルゴリズム同士を比較した場合、単純に「鍵長の長い方が解読は困難」とは言えないので注意が必要です。

カテゴリ一覧

お問い合わせ・資料請求

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