[1] 12月のテーマ
テーマ:素因数分解の困難性~人間とコンピューターの計算方法の違い~
今回は先月登場した二進法とつながりがあるコンピューターに関する話として、素因数分解が現代のインターネットの暗号技術のもとになっているということについて扱いました。どれだけ桁数が多くても、感覚的にはとても速い計算速度を持ったコンピューターであれば、素因数分解はすぐに解けてしまうように感じるかもしれません。これが本当にそんなに時間がかかるのかについて考えてみました。
[2] より深い理解のために
人間は九九と言う計算発明によって1桁同士の掛け算を1桁同士の足し算と同じ程度の計算回数と錯覚してしまいがちです。しかしながら、よく考えてみれば1桁同士の掛け算というものは人間がただ暗記しているだけであって、実際の計算回数を大幅に省略していることが理解できると思います。原則コンピューターは講座でやったように足し算しかできないため、掛け算になっただけで計算回数が増えてしまいます。そのように考えると素因数分解に時間がかかる事も少しずつ実感がわきますね。
[3] 素因数分解を素早くやる方法
あまり難しい言葉を使わずに書くと、素因数分解自体が困難というよりも「素因数分解を素早くやる方法が見つかっていない」ということが本質的な話です(もちろん工夫自体はありますし研究もされています)。講座で扱ったように、例えば掛け算も3桁同士の掛け算を普通に足していくのではかなりの計算回数がかかりますが、筆算のようにシフトしてずらすような計算方法をすることで「素早く掛け算をする方法がある」ので掛け算は問題ないということです。このようにして、素因数分解も何か素早くやる方法が見つかれば、暗号技術は大きな課題を持つことでしょう。