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

セキュリティ

情報セキュリティに対する意識が年々高まり、商品開発においても不正なアクセスを様々な角度で考慮し暗号化などの対策を取り入れる必要性が増しています。暗号化の概略くらいは理解していないと開発部門をマネージメントすることはできません。

暗号化と復号

暗号化は第三者がそれをみても読めないようにするものですが、もちろん暗号化したものをもと通り読めるように復号できないと誰も使えません。暗号には暗号化と復号がセットになります。

暗号アルゴリズムと暗号鍵

暗号化して復号してもとのデータにもどすことのできる変換方法ってものすごく沢山あります。簡単なものであれば誰でも作れそうですよね。それが「暗号アルゴリズム」です。

もちろん独自の暗号アルゴリズムを使っても良いわけですが、普通は公開された暗号アルゴリズムを利用します。アルゴリズムが公開されているということは、誰でも復号できてしまうことになるのですが、秘密の値を加えることで解読することをできなくさせています。この秘密の値のことを「鍵」と呼んでいます。

金庫をロックする仕組みが暗号アルゴリズムで、ダイヤルを回す数字が暗号鍵のようなものです。数字のコンビネーションが多くなるほど開けることが難しくなりますが、暗号鍵も長いほど破ることが難しくなります。

鍵の安全性

自転車に番号式の鍵を使っている人もいらっしゃると思いますが、4桁くらいあれば安全ですね。一つの番号を試すのに1秒かかるとして全て試すのに166分ほどかかります。なので平均で86分で開いてしまいます。実際はそこまで素早く試せませんし、人目に触れるところであれば一日くらい置いておいても自転車は盗まれないでしょう。

実際の暗号鍵はどうでしょうか。鍵のビットの数を鍵長と呼びますが、1970年代に主流だったDESの鍵長は52ビットでしたが、今では鍵長は128ビットとか256ビットとかになっていますね。

単純に組み合わせの数を考えて、1ビット増えると2倍労力を使って解読をしないといけません。これらの組み合わせをコンピュータが全て試すことはもちろんできます。問題は解けるまでにかかる時間です。

例えばスーパーコンピュータを使って100年かかるのであれば、あなたが生きている間は安全なのかもしれません。しかしコンピューターの処理速度は年々向上していますから、10年後には1年もかからないで解読できるようになっている可能性もあります。

今現在1億年かかる計算量であっても、数年後に技術革新があって1年で解読できるようになることは十分にありえることです。こういった技術の進歩もリスクとして考える必要があります。マネジメントとしてはここが重要です。

鍵長は増えていく運命

技術の進歩がある以上、鍵長はそれに応じて長くしていく必要があります。製品のライフが5年や10年であれば、現時点では許容される鍵長も、いずれ危険とみなされるものになっていきます。

鍵暗号の方式

鍵を用いる暗号化の方式には、共通鍵暗号方式と公開鍵暗号方式があります。

共通鍵暗号方式

共通鍵暗号方式とは、暗号化と復号に同じ鍵を用いる方式です。鍵穴の付いたアタッシュケースの鍵のコピーを送信側も受信側も持っていて、送信側が鍵をかけて送り、受信側が鍵を開けて中の文書を取り出すようなものです。

この方式には二つ課題があって、どのように鍵を相手に渡すかと、通信相手によって異なる鍵をどのように管理するかです。

公開鍵暗号方式

公開鍵暗号方式とは、暗号化と復号に用いる鍵が異なる方式です。受信側が持っている鍵で開けることができる南京錠を送信側に配っておいて、南京錠が付けられるアタッシュケースに南京錠でロックして送り、受信側が鍵を使って開けて中の文章を取り出すようなものです。

南京錠が公開鍵で、受信側が持っている鍵が秘密鍵になります。この方式にも課題があって、処理が重いことです。

鍵さえ交換できていれば共通鍵暗号方式の方が処理の面で有利ですが、鍵の取得と配布の面で公開鍵暗号方式が有利です。

コメント

  1. [180817] "暗号アルゴリズムと暗号鍵について" など | 暗号化するっていうけど、復号化するっていわない。 より:

    […] […]