すべてのカテゴリ » インターネット・パソコン » セキュリティ・個人情報

質問

終了

SSLについてです
128ビットとか256ビットとか意味がわからないんですけど
上記だとどちらがセキリュティ上なんですか?
また絶対のセキリュティなんてないのはわかった上で
何ビットくらいが書かれていれば安全といえるレベルなのでしょうか?

  • 質問者:naoko9
  • 質問日時:2009-07-11 08:23:32
  • 2

並び替え:

文字数の違いです。
例えば、4文字と8文字とでは組み合わせが極端に多くなります。
組み合わせが多くなると偽装され難くなります。

レベル的に言うと128bitでも十分です。
256bitにしたからと言って安全ではありません。
使う方にも負担が掛るだけです。

  • 回答者:バイト (質問から48分後)
  • 0
この回答の満足度
  

セキュリティ的には256ビットの方が堅牢です。
ですが、現実的には128ビットも256ビットも代わり映えしません。

ビットというのは、コンピュータが扱う最小のデータ単位で、「0」と「1」で表されます。
128ビットや256ビットというのは、「0」と「1」が何桁あるかということです。
(128ビットだと128桁、256ビットだと256桁)

SSLではビットの数列がパスワードになっているとイメージしてください。
あまり桁数が多いと大変なので、2ビットのSSLを例に考えてみましょう。

2ビットですから桁数は2桁です。
「0」と「1」を使って表現できる2桁の数列は、
 00、01、10、11
の4種類です。
2ビットのSSLでは、このうちのどれかをパスワードに使います。
パスワードを知らない人は、
 「00」で解除できるか?
 「01」で解除できるか?
 「10」で解除できるか?
 「11」で解除できるか?
と試行していくわけです。
2ビットの場合は、最大4回試行すれば暗号を解除できます。

次にSSLを3ビットにしてみます。
3ビットですから桁数は3桁です。
表現できる数列は、
 000、001、010、011、100、101、110、111
の8種類です。
パスワードを知らない人は、最大8回試行すれば暗号を解除できます。

4ビットになると表現できる数列は、
 0000、0001、0010、0011、0100、0101、0110、0111、
 1000、1001、1010、1011、1100、1101、1110、1111
の16種類です。
パスワードを知らない人は、最大16回試行する必要があります。


この様に1ビット上がると、試行回数が2倍になります。
つまり、それだけ暗号の解析に時間がかかる様になるということです。

128ビットの場合、2の128乗(3.4×10の38乗)通りのパターンがあります。
数字で言うと、約340澗個です。
澗という桁は、一十百千万億兆京垓杼穣溝澗の「澗」です。
256ビットは、2の256乗(1.1×10の77乗)通りのパターンがあります。
もはや何個と表現すれば良いか分かりませんが、とりあえず1の後ろに0が77個つく数字です。

どちらも気の遠くなる様なパターン数があります。
この中からたった1つのパスワードを見つけるのですから、かなり至難の業です。

例えば、1秒間に3億個のパスワード試行が行えるコンピュータがあったとします。
このコンピュータでも、128ビットの暗号を解くには3.4×10の21乗年かかります。
256ビットの場合は、1.1×10の60乗年かかります。
(ちなみに64ビットでも、解析に180年くらい必要。)

128ビットも256ビットも現実的な時間に収まらないので、128ビットもあれば十分だと言えるでしょう。

  • 回答者:計算ミスは許して (質問から3時間後)
  • 8
この回答の満足度
  

関連する質問・相談

Sooda!からのお知らせ

一覧を見る