BACK | TOP |
---|
暗号通信では通信されるデータがすべて暗号化されます。暗号化する際には、必ず暗号鍵を指定します。「暗号鍵」とは、具体的には、ある範囲の整数の中から選ばれた1個の整数です。暗号鍵(事前に指定されたある1個の整数値)がわからなければ、暗号を解くことはできません。ある範囲といっても、とてつもなく大きな範囲から選択されます。通常暗号鍵が選択される整数の範囲は、ビットという単位で表現します。例えば、128ビットの暗号鍵とは、0-2128から選ばれた1個の整数です。ちょっと2128の計算を試みてみられればわかると思いますが、とてつもなく大きな整数です。
暗号を解く方法には、大きく分けて2つあります。1つは暗号アルゴリズムの弱点をついて解く方法で、もう1つはすべての暗号鍵をしらみつぶしに調べる方法です。アルゴリズムが公開されてから長く利用されている暗号では大きな弱点が知られておらず、前者の方法で解くことは困難です。後者の方法では、理論的にはどんな暗号でも必ず解くことができます。ただし、しらみつぶしに調べるためには、時間がかかります。暗号鍵が選択される範囲が広ければ広いほど、しらみつぶしに調べるのに時間がかかります。しらみつぶしに調べるのに非常に長い時間(例えば100万年)かかるようであれば、「解けない」とみなしてもよいと思われます。表1、表2に各々100万ドルの専用ハードウエアとコンピュータで、しらみつぶしに調べた場合にかかる時間の予測値を示します。ハードウエアの処理能力が、5年で10倍になると仮定しています。128ビット暗号が40ビット暗号と比較にならないくらい強いということがおわかりいただけると思います。
表1 100万ドルの専用ハードウエアを利用して、しらみつぶしに暗号鍵を調べた場合に解くのに必要な時間(出展:E-Mailセキュリティ、ブルース・シュナイダー著、力武健次監訳、1995)
暗号鍵の長さ(ビット) | ||||||
年 | 40 | 56 | 64 | 80 | 112 | 128 |
1995 | 0.2秒 | 3.6時間 | 38日 | 7000年 | 1013年 | 1018年 |
2000 | 0.02秒 | 21分 | 4日 | 700年 | 1012年 | 1017年 |
2005 | 2m秒 | 2分 | 9時間 | 70年 | 1011年 | 1016年 |
2010 | 0.2m秒 | 13秒 | 1時間 | 7年 | 1010年 | 1015年 |
2015 | 0.02m秒 | 1秒 | 5.5分 | 251日 | 109年 | 1014年 |
2020 | 2μ秒 | 0.1秒 | 31分 | 25日 | 108年 | 1013年 |
2025 | 0.2μ秒 | 0.01秒 | 3秒 | 2.5日 | 107年 | 1012年 |
2030 | 0.02μ秒 | 1m秒 | 0.3秒 | 6時間 | 106年 | 1011年 |
表2 100万ドルのコンピュータを利用して、しらみつぶしに暗号鍵を調べた場合に解くのに必要な時間(出展:E-Mailセキュリティ、ブルース・シュナイダー著、力武健次監訳、1995)
暗号鍵の長さ(ビット) | ||||||
年 | 40 | 56 | 64 | 80 | 112 | 128 |
1995 | 33分 | 3年 | 1000年 | 107年 | 1017年 | 1022年 |
2000 | 3.3分 | 115日 | 100年 | 106年 | 1016年 | 1021年 |
2005 | 20秒 | 15日 | 10年 | 7000000年 | 1015年 | 1020年 |
2010 | 2秒 | 1.5日 | 1年 | 70000年 | 1014年 | 1019年 |
2015 | 0.2秒 | 3.6時間 | 38日 | 7000年 | 1013年 | 1018年 |
2020 | 0.02秒 | 21分 | 4日 | 700年 | 1012年 | 1017年 |
2025 | 2m秒 | 2分 | 9時間 | 70年 | 1011年 | 1016年 |
2030 | 0.2m秒 | 13秒 | 1時間 | 7年 | 1010年 | 1015年 |