Qt Tech. OpenSSL通信、HTTPS通信を行うプログラムが簡単じゃない!対処方法 新しいページはコチラ
提供: yonewiki
(→概要) |
(→概要) |
||
6行: | 6行: | ||
− | 難しいというのは、一般人が自由に保有できるであろう演算装置で計算させても数年以上かかるくらい難しいのだけれど、生成処理は簡単であり、生成処理には法則が唯一に存在するという仕組みにある。例えば因数分解みたいな計算がその一例だ。学校で習った因数分解(例えばx^2+4x+3=(x+1)(x+3))は考えれば解ける程度の問題になっているが、桁数が増えると無理っ!ってなる。じゃコンピュータにやらせてみるか?ってなってプログラムを作ってみたら、a+b=4、axb=3となるようなaとbを求めるというのは桁数が増えるとコンピュータを使ってやっても時間がかかるということがわかってきたりした。そういうたぐいの演算は存在するということがわかったのがこの仕組みの大事なところでもある。(x+1)(x+3)のような分解された値を演算するのはスグだよね。手順通り計算すれば、x^2+4x+3だってわかる。数字だけを扱う因数分解の桁数が少し増えただけでも大変なのに文字列をキーワードにしたら短くまとめたような長さでも相当時間がかかる。例えばx^2+439,193,310x+32,261,087,323,411,425の因数分解の答え<span style="/* 345935895, 93257415 */"></span> | + | 難しいというのは、一般人が自由に保有できるであろう演算装置で計算させても数年以上かかるくらい難しいのだけれど、生成処理は簡単であり、生成処理には法則が唯一に存在するという仕組みにある。例えば因数分解みたいな計算がその一例だ。学校で習った因数分解(例えばx^2+4x+3=(x+1)(x+3))は考えれば解ける程度の問題になっているが、桁数が増えると無理っ!ってなる。じゃコンピュータにやらせてみるか?ってなってプログラムを作ってみたら、a+b=4、axb=3となるようなaとbを求めるというのは桁数が増えるとコンピュータを使ってやっても時間がかかるということがわかってきたりした。そういうたぐいの演算は存在するということがわかったのがこの仕組みの大事なところでもある。(x+1)(x+3)のような分解された値を演算するのはスグだよね。手順通り計算すれば、x^2+4x+3だってわかる。数字だけを扱う因数分解の桁数が少し増えただけでも大変なのに文字列をキーワードにしたら短くまとめたような長さでも相当時間がかかる。例えばx^2+439,193,310x+32,261,087,323,411,425の因数分解の答え<span style="/* 345935895, 93257415 */"></span>は導き出せますか?無理だと思います。求めるプログラムも割かし大きなループが発生します。そんなイメージがいいかなって思う。全貌は掴めなくともイメージは大事です。求めるのが大変な演算が存在する。このイメージができれば十分だと思います。実際の演算アルゴリズムでは単純な因数分解のような演算ではありません。SSLのメカニズムそのものを作りたいという人は、もうちょっと別のsiteを徘徊して、理解するとよいと思います。 |