コンテンツにスキップ

「素因数分解」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
編集の要約なし
4行目: 4行目:


素因数分解には次の性質がある。
素因数分解には次の性質がある。
*任意の正の整数に対して、[[算術の基本定理|素因数分解はただ1通りに決定する]]{{sfn|岡本|森杉|根本|永田|2022}}。
*任意の正の整数に対して、素因数分解はただ1通りに決定する([[算術の基本定理]]{{sfn|岡本|森杉|根本|永田|2022}}。
*素因数分解の結果から、正の[[約数]]やその個数、総和などを求めることができる。
*素因数分解の結果から、正の[[約数]]やその個数、総和などを求めることができる。
例えば 48 を素因数分解すると {{math|2{{sup|4}} × 3}} となる。
例えば 48 を素因数分解すると {{math|2{{sup|4}} × 3}} となる。
23行目: 23行目:
*複数多項式2次ふるい法 (MPQS, Multiple polynomial quadratic sieve)
*複数多項式2次ふるい法 (MPQS, Multiple polynomial quadratic sieve)
*数体ふるい法 (NFS, Number field sieve)
*数体ふるい法 (NFS, Number field sieve)
**[[一般数体篩法|一般数体ふるい法]] (GNFS, General number field sieve)
**[[一般数体篩法]] (GNFS, General number field sieve)
**[[特殊数体篩法|特殊数体ふるい法]] (SNFS, Special number field sieve)
**[[特殊数体篩法|特殊数体ふるい法]] (SNFS, Special number field sieve)


29行目: 29行目:
[[整域]]において素因数分解(に相当する概念)を考える問題は、[[代数学]]における古典的な問題の一つである。
[[整域]]において素因数分解(に相当する概念)を考える問題は、[[代数学]]における古典的な問題の一つである。


一般に[[可換環]] {{mvar|R}} においては、「割り切る」という関係を[[単項イデアル]]の包含関係により定めることができる。すなわち、{{math2|''a'', ''b'' ∈ ''R''}} の生成する単項イデアル {{math2|1=(''a'') = ''aR'', (''b'') = ''bR''}} に対し、{{math2|(''a'') ⊃ (''b'')}} のときに {{math2|''a'' {{!}} ''b''}} と書いて、{{mvar|a}} は {{mvar|b}} を割り切る、とか、{{mvar|a}} は {{mvar|b}} の約元である、とか、{{mvar|b}} は {{mvar|a}} の倍元である、などという。言い換えると、{{mvar|a}} が {{mvar|b}} を割り切るとは、{{math2|1=''b'' = ''ac''}} を満たす、{{mvar|R}} の[[可逆元|可逆]]でも {{math|0}} でもない元 {{mvar|c}} が存在することをいう。
一般に[[可換環]] {{mvar|R}} においては、「割り切る」という関係を[[イデアル]]の包含関係により定めることができる。すなわち、{{math2|''a'', ''b'' ∈ ''R''}} の生成する単項イデアル {{math2|1=(''a'') = ''aR'', (''b'') = ''bR''}} に対し、{{math2|(''a'') ⊃ (''b'')}} のときに {{math2|''a'' {{!}} ''b''}} と書いて、{{mvar|a}} は {{mvar|b}} を割り切る、とか、{{mvar|a}} は {{mvar|b}} の約元である、とか、{{mvar|b}} は {{mvar|a}} の倍元である、などという。言い換えると、{{mvar|a}} が {{mvar|b}} を割り切るとは、{{math2|1=''b'' = ''ac''}} を満たす、{{mvar|R}} の[[可逆元]]でも {{math|0}} でもない元 {{mvar|c}} が存在することをいう。


可逆でも {{math|0}} でもない {{mvar|R}} の元が、2つの非可逆元の積として表せるとき、'''可約'''であるといい、そうでないとき'''[[既約元|既約]]'''であるという。単項イデアル {{math|(''p'')}} が自明でない[[素イデアル]]であるとき、{{mvar|p}} を'''[[素元]]'''という。'''素元'''は'''既約元'''であるが、一般に逆は成立しない。
可逆でも {{math|0}} でもない {{mvar|R}} の元が、2つの非可逆元の積として表せるとき、'''可約'''であるといい、そうでないとき'''[[既約元]]'''であるという。単項イデアル {{math|(''p'')}} が自明でない[[素イデアル]]であるとき、{{mvar|p}} を'''[[素元]]'''という。'''素元'''は'''既約元'''であるが、一般に逆は成立しない。


=== 一意分解環 ===
=== 一意分解環 ===
{{Main|一意分解環}}
{{Main|一意分解環}}
環 {{mvar|R}} の元を既約元の積に表すことを'''既約元分解'''、素元の積に表すことを'''素元分解'''という。既約元分解が一意である環を[[一意分解環]]もしくは素元分解整域という(任意の元が素元の積に表せるなら、その表し方は一意である)。有理整数全体の成す環 {{mathbf|Z}} や[[可換体|体]]上の多項式環 {{math|''K''[''x'']}} などは一意分解環である(中学で学習する多項式の[[因数分解]]とは、通常有理数体 {{mathbf|Q}} 上の一変数多項式環における素元分解のことである)。これらの環は[[ユークリッド環]]にもなっているが、一般にユークリッド整域は[[単項イデアル整域]]であり、単項イデアル整域は一意分解環になる。
環 {{mvar|R}} の元を既約元の積に表すことを'''既約元分解'''、素元の積に表すことを'''素元分解'''という。既約元分解が一意である環を[[一意分解環]]もしくは素元分解整域という(任意の元が素元の積に表せるなら、その表し方は一意である)。有理整数全体の成す環 {{mathbf|Z}} や[[可換体]]上の多項式環 {{math|''K''[''x'']}} などは一意分解環である(中学で学習する多項式の[[因数分解]]とは、通常有理数体 {{mathbf|Q}} 上の一変数多項式環における素元分解のことである)。これらの環は[[ユークリッド環]]にもなっているが、一般にユークリッド整域は[[単項イデアル整域]]であり、単項イデアル整域は一意分解環になる。


一意分解環でない例として有理数体 {{mathbf|Q}} に方程式 {{math2|''x''{{sup|2}} + 5 {{=}} 0}} の根を添加した[[代数体]] {{math|'''Q'''({{sqrt|−5}})}} の[[整数環]] {{math|'''Z'''[{{sqrt|−5}}]}} で {{math|6}} を既約分解することを考えてみる。整数 {{mathbf|Z}} の範囲では {{math2|2 × 3}}(と同値なもの)のみであるが、{{math|'''Z'''[{{sqrt|−5}}]}} の範囲では
一意分解環でない例として有理数体 {{mathbf|Q}} に方程式 {{math2|''x''{{sup|2}} + 5 {{=}} 0}} の根を添加した[[代数体]] {{math|'''Q'''({{sqrt|−5}})}} の[[整数環]] {{math|'''Z'''[{{sqrt|−5}}]}} で {{math|6}} を既約分解することを考えてみる。整数 {{mathbf|Z}} の範囲では {{math2|2 × 3}}(と同値なもの)のみであるが、{{math|'''Z'''[{{sqrt|−5}}]}} の範囲では
53行目: 53行目:
*2007年5月:{{math|2{{sup|1039}} &minus; 1}} の約数として現れる307桁の[[合成数]]が素因数分解される(特殊数体ふるい法、NTT、ドイツのボン大学、スイス連邦工科大学との共同研究<!-- K.Aoki+J.Franke+T.Kleinjung+A.K.Lenstra+D.A.Osvik -->)
*2007年5月:{{math|2{{sup|1039}} &minus; 1}} の約数として現れる307桁の[[合成数]]が素因数分解される(特殊数体ふるい法、NTT、ドイツのボン大学、スイス連邦工科大学との共同研究<!-- K.Aoki+J.Franke+T.Kleinjung+A.K.Lenstra+D.A.Osvik -->)
*20??年: 200桁(663ビット)
*20??年: 200桁(663ビット)
*2010年1月:232桁(768[[ビット]])(NTT、[[スイス連邦工科大学]]ローザンヌ校 (EPFL)、独[[ボン大学]]、フランス国立情報学自動制御研究所 (INRIA)、オランダ国立情報工学・数学研究所 (CWI)。一般数体ふるい法。300台PCの[[並列計算|並列計算処理]]。約3年)
*2010年1月:232桁(768[[ビット]])(NTT、[[スイス連邦工科大学]]ローザンヌ校 (EPFL)、独[[ライン・フリードリヒ・ヴィルヘルム大学ボン|ボン大学]]、フランス国立情報学自動制御研究所 (INRIA)、オランダ国立情報工学・数学研究所 (CWI)。一般数体ふるい法。300台PCの[[並列計算]]。約3年)


=== 多項式時間で解いた記録 ===
=== 多項式時間で解いた記録 ===

2024年4月12日 (金) 03:47時点における版

素因数分解(そいんすうぶんかい、: prime factorization)とは、正の整数素数の形で表すことである[1]

素因数分解には次の性質がある。

  • 任意の正の整数に対して、素因数分解はただ1通りに決定する(算術の基本定理[1]
  • 素因数分解の結果から、正の約数やその個数、総和などを求めることができる。

例えば 48 を素因数分解すると 24 × 3 となる。

インターネットでの認証等で利用されている公開鍵暗号の代表であるRSA暗号の安全性は、巨大な合成数の素因数分解を実用的な時間内に実行することが困難である[2]ことと深い関わりがあり、RSA 以外の公開鍵暗号でも素因数分解問題に基づく方式が多々あるため、素因数分解のアルゴリズムが活発に研究されている。また実際に巨大な合成数の素因数分解の計算機実験も行われている。

通常の素因数分解は、有理整数環 Z で考えるが、一般の代数体整数環においては、素因数分解の一意性に対応する性質が成り立つとは限らない。[要出典]

素因数分解アルゴリズム

正の整数 N を素因数分解するための最も単純な方法は、2 から順に N までの素数で割っていく方法(試し割り法)である[3]。しかし、N が大きくなると、この方法では困難である。

大きな N に対しては以下の方法がある。

素元分解

整域において素因数分解(に相当する概念)を考える問題は、代数学における古典的な問題の一つである。

一般に可換環 R においては、「割り切る」という関係を主イデアルの包含関係により定めることができる。すなわち、a, bR の生成する単項イデアル (a) = aR, (b) = bR に対し、(a) ⊃ (b) のときに a | b と書いて、ab を割り切る、とか、ab の約元である、とか、ba の倍元である、などという。言い換えると、ab を割り切るとは、b = ac を満元たす、R可逆元でも 0 でもない元 c が存在することをいう。

可逆でも 0 でもない R の元が、2つの非可逆元の積として表せるとき、可約であるといい、そうでないとき既約元であるという。単項イデアル (p) が自明でない素イデアルであるとき、p素元という。素元既約元であるが、一般に逆は成立しない。

一意分解環

R の元を既約元の積に表すことを既約元分解、素元の積に表すことを素元分解という。既約元分解が一意である環を一意分解環もしくは素元分解整域という(任意の元が素元の積に表せるなら、その表し方は一意である)。有理整数全体の成す環 Z可換体上の多項式環 K[x] などは一意分解環である(中学で学習する多項式の因数分解とは、通常有理数体 Q 上の一変数多項式環における素元分解のことである)。これらの環はユークリッド環にもなっているが、一般にユークリッド整域は単項イデアル整域であり、単項イデアル整域は一意分解環になる。

一意分解環でない例として有理数体 Q に方程式 x2 + 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暗号解読コンテスト を参照。

多項式時間で解いた記録

多項式時間で解かれた記録は以下である(全て量子コンピュータによる記録である。)。

  • 2001年 - 15(=3×5)の分解に成功(IBM)
  • 2012年 - 21(=3×7)の分解に成功(ブリストル大学)

関連項目

脚注

参考文献

  • 和田秀男『コンピュータと素因子分解』遊星社、1999年4月1日。ISBN 978-4795268890 
  • Crandall, RichardPomerance, Carl 著、和田秀男 訳『素数全書 計算からのアプローチ』朝倉書店、2010年9月10日。ISBN 978-4254111286 
  • 山本, 芳彦『数論入門』岩波書店〈現代数学への入門〉、2003年。ISBN 4-00-006878-4 
  • 岡本和夫、森杉薫、根本博、永田潤一郎『未来へ広がる数学』 3巻、新興出版社啓林館、2022年2月10日、25頁。ISBN 978-4-402-02187-0 

外部リンク