素因数分解 (そいんすうぶんかい、英 : prime factorization )とは、正の整数 を素数 の積 の形で表すことである。
素因数分解には次の性質がある。
例えば 48 を素因数分解すると 24 × 3 となる。
インターネット での認証等で利用されている公開鍵暗号 の代表であるRSA暗号 の安全性は、巨大な合成数 の素因数分解を実用的な時間内に実行することが困難である[ 2] ことと深い関わりがあり、RSA 以外の公開鍵暗号でも素因数分解問題に基づく方式が多々あるため、素因数分解のアルゴリズム が活発に研究されている。また実際に巨大な合成数の素因数分解の計算機実験も行われている。
通常の素因数分解は、有理整数環 Z で考えるが、一般の代数体 の整数環 においては、素因数分解の一意性に対応する性質が成り立つとは限らない。[要出典 ]
素因数分解アルゴリズム
正の整数 N を素因数分解するための最も単純な方法は、2 から順に √ N までの素数で割っていく方法(試し割り法 )である[ 3] 。しかし、N が大きくなると、この方法では困難である。
大きな N に対しては以下の方法がある。
ρ 法(ポラード・ロー素因数分解法 )
p − 1 法
p + 1 法
連分数 法
楕円曲線 法 (ECM, Elliptic curve method)
複数多項式2次ふるい法 (MPQS, Multiple polynomial quadratic sieve)
数体ふるい法 (NFS, Number field sieve)
一般数体ふるい法 (GNFS, General number field sieve)
特殊数体ふるい法 (SNFS, Special number field sieve)
素元分解
整域 において素因数分解(に相当する概念)を考える問題は、代数学 における古典的な問題の一つである。
一般に可換環 R においては、「割り切る」という関係を単項イデアル の包含関係により定めることができる。すなわち、a , b ∈ R の生成する単項イデアル (a ) = aR , (b ) = bR に対し、(a ) ⊃ (b ) のときに a | b と書いて、a は b を割り切る、とか、a は b の約元である、とか、b は a の倍元である、などという。言い換えると、a が b を割り切るとは、b = ac を満たす、R の可逆 でも 0 でもない元 c が存在することをいう。
可逆でも 0 でもない R の元が、2つの非可逆元の積として表せるとき、可約 であるといい、そうでないとき既約 であるという。単項イデアル (p ) が自明でない素イデアル であるとき、p を素元 という。素元 は既約元 であるが、一般に逆は成立しない。
一意分解環
環 R の元を既約元の積に表すことを既約元分解 、素元の積に表すことを素元分解 という。既約元分解が一意である環を一意分解環 もしくは素元分解整域という(任意の元が素元の積に表せるなら、その表し方は一意である)。有理整数全体の成す環 Z や体 上の多項式環 K [x ] などは一意分解環である(中学で学習する多項式の因数分解 とは、通常有理数体 Q 上の一変数多項式環における素元分解のことである)。これらの環はユークリッド環 にもなっているが、一般にユークリッド整域は単項イデアル整域 であり、単項イデアル整域は一意分解環になる。
一意分解環でない例として有理数体 Q に方程式 x 2 + 5 = 0 の根を添加した代数体 Q (√ −5 ) の整数環 Z [√ −5 ] で 6 を既約分解することを考えてみる。整数 Z の範囲では 2 × 3 (と同値なもの)のみであるが、Z [√ −5 ] の範囲では
6 = 2 × 3 = (1 + √ −5 )(1 − √ −5 )
と本質的に異なる2通りに既約分解される。したがって Z [√ −5 ] は一意分解環ではない。しかし、イデアルとしては (2) , (3) や (1 ± √ −5 ) はさらに分解できて、素イデアルの積としては一意に
(6) = (2, 1 + √ −5 )2 (3, 1 + √ −5 )(3, 1 − √ −5 )
と分解される。一般に、代数体の整数環はデデキント環 であり、素イデアルの積に一意的に分解する。
このような考察はクンマー の理想数 の理論に始まると考えられる。クンマー以降、デデキント のイデアル論 などを経て代数的整数論 の基盤となっている。
素因数分解の記録
Cunningham Project とは、b = 2, 3, 5, 6, 7, 10, 11, 12 および多くの自然数 n に対し、bn ± 1 を素因数分解しよう、というプロジェクトである。RSA チャレンジについてはRSA暗号#RSA暗号解読コンテスト を参照。
2005年4月:11281 + 1 の約数として現れる176桁の合成数が素因数分解される(一般数体ふるい法 (英語版 ) 、立教大学 、NTT 、富士通研究所)
2005年5月:200桁の合成数 RSA-200(RSAチャレンジ)が素因数分解される(一般数体ふるい法、Bahr、Boehm、Franke、Kleinjung)[1]
2006年8月:10381 + 1 から67桁の素数が分解される(楕円曲線 法、B. Dodson)
2006年9月:7352 + 1 の約数として現れる128桁の合成数が素因数分解される(一般数体ふるい法、情報通信研究機構 、富士通 、富士通研究所、フィールドプログラマブルゲートアレイ およびダイナミックリコンフィギュラブルプロセッサ を用いた専用ハードウェアを初めて使用)
2007年5月:21039 − 1 の約数として現れる307桁の合成数 が素因数分解される(特殊数体ふるい法、NTT、ドイツのボン大学、スイス連邦工科大学との共同研究)
20??年: 200桁(663ビット)
2010年1月:232桁(768ビット )(NTT、スイス連邦工科大学 ローザンヌ校 (EPFL)、独ボン大学 、フランス国立情報学自動制御研究所 (INRIA)、オランダ国立情報工学・数学研究所 (CWI)。一般数体ふるい法。300台PCの並列計算処理 。約3年)
多項式時間で解いた記録
多項式時間 で解かれた記録は以下である(全て量子コンピュータ による記録である。)。
2001年 - 15(=3×5)の分解に成功(IBM)
2012年 - 21(=3×7)の分解に成功(ブリストル大学)
関連項目
脚注
参考文献
外部リンク
被整除性に基づいた整数の集合
概要 因数分解による分類 約数和による分類 約数が多いもの アリコット数列 関連位取り記法 に基づくものその他