素数かどうかを判定するというプロセスになります。増やしていって生成元を探索することになるでしょう。あると、コンピュータによる計算上、都合がよいわけです。探索することになるでしょう。ちなみに、現在、ディフィー・ヘルマンの鍵共有が実際に使われている例をあげておきます。\(g\))を次に掲げます。これはインターネットの規格文書(RFC)に記載されています(RFC3526。形の素数で、10進では617桁です。超えない最大の整数)。FFFFFFFF\(g\:=\:2\)ディフィー・ヘルマンの鍵共有の安全性ですが、離散対数問題を効率的に解くアルゴリズムはないと、数学的に証明されているわけではありません。RSA暗号の根拠になっている素因数分解のアルゴリズムと同じように、こういった数論の極めて基本的で、昔からある普遍的な問題は、世界の多くの数学者が関わってきています。それでも効率的に解くアルゴリズムは知られていません。ブログのタイトルを「高校数学で理解する」とましたが、そのような基礎的な数学しか使っていないからこそ暗号が成り立っている。ディフィー・ヘルマンの鍵共有は公開鍵暗号の発端となったものですが、上にあげたように現在でも使われています(DHと略記される)。容易性」という二律背反の要求をいかに両立させるかにあります。その意味で、ディフィー・ヘルマン以降、各種の公開鍵暗号が開発されてきました。離散対数問題」を利用した暗号です。基本的な考え方はディフィー・ヘルマンの鍵共有と同じです。その意味で、公開鍵暗号の発端となった発明の意義は、今も続いているのでした。「ディフィー・ヘルマンの鍵共有」および「離散対数暗号」をまとめると、次のようになるでしょう。離散対数問題を解く困難さ(=実質的に不可能)を根拠とする暗号である。「ディフィー・ヘルマンの鍵共有」や「離散対数暗号」は、有限体(乗法群)やその生成元の存在など(オイラー、ガウスにさかのぼる)数論の基本のところをベースにできている。RSA暗号(No.310-311)から通して振り返ってみると、そこでの前提知識は加減乗除と冪乗のルール程度であり、そこから論理を積み重ねていって公開鍵暗号の成立性が証明できる。高校数学程度の知識があれば十分理解できる。RSA暗号と同じく、この最後の点がこの記事の目的なのでした。素数判定アルゴリズム公開鍵暗号で使われる巨大素数の判定アルゴリズム(ミラー・ラビン法)を、No.369「高校数学で理解する素数判定の数理」に書きました。