##### Pohlig-Hellman 法実行例 ##### 幾つまでの素数を小さいと考えますか ( 100 以上 ) : 10000 素数 p のビット数を指定してください ( 10 以上 ) : 100 素数生成中 ... 素数 p = 9798398557644442969045143552001 ( 103 bits ) p-1 の素因数分解 : [[2, 15], [3, 1], [5, 3], [7, 3], [11, 1], [31, 1], [41, 2], [43, 1], [59, 1], [401, 1], [1301, 1], [1481, 1], [2069L, 1]] 原始根計算中 ... 法 p の原始根 g = 19 y = 283944930714353305510349500837 離散対数 x = log_g(y) を求める Pohlig-Hellman 法開始 x mod 2^15 = 3434 x mod 3^1 = 2 x mod 5^3 = 16 x mod 7^3 = 38 x mod 11^1 = 1 x mod 31^1 = 19 x mod 41^2 = 1616 x mod 43^1 = 2 x mod 59^1 = 21 x mod 401^1 = 1 x mod 1301^1 = 788 x mod 1481^1 = 218 x mod 2069^1 = 98 解 x = 3613364126427156873594505596266 検算 : g^x = 283944930714353305510349500837 y = 283944930714353305510349500837 計算時間 = 0.0729999542236