、ウ、ホ・レ。シ・ク、、マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、爨マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ 、ウ、ホ・レ。シ・ク、livedoor ・ッ・・テ・ラ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、瀝ivedoor ・ッ・・テ・ラ

*フワシ。 [#x0599f56]

#contents


*・ユ・ァ・・゙。シ・ニ・ケ・ネ [#k30409a1]

。。、゙、コチヌヒム、ヒケヘ、ィ、、ネ。「チヌソ・ニ・ケ・ネ、ホ・「・・エ・・コ・爨ネ、キ、ニ。「[[・ユ・ァ・・゙。シ、ホセョトヘ]]、ャサネ、ィ、、ォ、筅キ、、ハ、、、ネサラ、ヲ、マ、コ、ヌ、「、。」、ス、、ヌ、マヒワナ、ヒサネ、ィ、、ホ、ォ、ノ、ヲ、ォ、ウホヌァ、キ、ニ、゚、隍ヲ。」

。。・ユ・ァ・・゙。シ、ホセョトヘ、ネ、マ。ヨp、ャチヌソ、ハ、鬢ミ。「ヌ、ーユ、ホa。ハ「コ{1,。ト,p}。ヒ、ヒツミ、キ、ニ&mimetex("a^{p-1} \equiv 1 \pmod{p}");、ャタョ、ホゥ、ト。ラ、ネ、、、ヲ、筅ホ、ヌ、「、テ、ソ。」、ト、゙、遙「p、ャチヌソ、ハ、鬢ミ。「p-1セ隍ケ、、ミ、ノ、ホテヘ、ヌ、穃od p、ホタ、ウヲ、ヌ1、ヒーテラ、ケ、、ネ、、、ヲ、ウ、ネ、ヌ、「、。」

。。、ウ、、チヌソp、ホツ螟、熙ヒ。「ーネフ、ホターソn。ハチヌソ、ネケ鄲ョソ、ホコョケ遑ヒ、ヒツミ、キ、ニケヘ、ィ、ニ、゚、。」、ウ、ウ、ヌ。「a、マnーハイシ、ホターソ、ハ、魎ソ、ヌ、筅隍、、ホ、ヌ。「a=4、ネ、キ、ニ、ェ、ッ。」

-[1]n=5、ホ、ネ、ュ
--4SUP{n-1};=4SUP{5-1};=4SUP{4};=16。゚16「1。゚1 (mod 5)=1
-[2]n=6、ホ、ネ、ュ
--4SUP{n-1};=4SUP{6-1};=4SUP{5};「4 (mod 6)
-[3]n=7、ホ、ネ、ュ
--4SUP{n-1};=4SUP{7-1};=4SUP{6};「1 (mod 7)
-[4]n=8、ホ、ネ、ュ
--4SUP{n-1};=4SUP{8-1};=4SUP{7};「0 (mod 8)
-[5]n=9、ホ、ネ、ュ
--4SUP{n-1};=4SUP{9-1};=4SUP{8};「7 (mod 9)
-[6]n=10、ホ、ネ、ュ
--4SUP{n-1};=4SUP{10-1};=4SUP{9};「4 (mod 10)
-[7]n=11、ホ、ネ、ュ
--4SUP{n-1};=4SUP{11-1};=4SUP{10};「1 (mod 11)
-[8]n=12、ホ、ネ、ュ
--4SUP{n-1};=4SUP{12-1};=4SUP{11};「4 (mod 12)

。。ーハセ螟ホキイフ、ノス、ヒ、ケ、、ネシ。、ホ、隍ヲ、ヒ、ハ、。」

|n|5|6|7|8|9|10|11|12|
|4SUP{n-1}; (mod n)|1|4|1|0|7|4|1|4|

。。n、ャチヌソ、ホ、ネ、ュ、ヒ&mimetex("4^{n-1} \pmod{n}");、ャ1、ヒ、ハ、、ウ、ネ、マ。「・ユ・ァ・・゙。シ、ホセョトヘ、ォ、鯒チウ、ヌ、「、。」、ウ、ホノス、ォ、鬘「オユ、ヒ&mimetex("4^{n-1} \pmod{n}");、ャ1、ホ、ネ、ュ、ヒ。「n、マチヌソ、ヒツミア、キ、ニ、、、、ウ、ネ、ャ、、ォ、。」ホ网ィ、ミ。「n=5,7,11。ハ、ケ、ル、ニチヌソ。ヒ、ホ、ネ、ュ、ヒ&mimetex("4^{n-1} \pmod{n}");、ャ1、ヒーテラ、キ、ニ、、、、ォ、鬢ヌ、「、。」ツィ、チ。「・ユ・ァ・・゙。シ、ホセョトヘ、ホオユ、ャタョ、ホゥ、ト、ウ、ネ、ャエツヤ、ヌ、ュ、ス、ヲ、ヌ、「、。ハツミカ、ャタョ、ホゥ、ト、ホ、マシォフタ。」、ウ、ウ、ヌ、マ、オ、鬢ヒオユ、ャタョ、ホゥ、ト、ウ、ネ、エツヤ、キ、ニ、、、。ヒ。」、ウ、ホ・ユ・ァ・・゙。シ、ホセョトヘ、ホオユ、ホハヒ。、ヌ。「チヌソネスト・「・・エ・・コ・爨・ユ・ァ・・゙。シ・ニ・ケ・ネ、ネクニ、モ。「・ユ・ァ・・゙。シ・ニ・ケ・ネ、ホ・「・・エ・・コ・猯セ、Fermat、ネ、ケ、。」、ウ、ホFermat、ホニスミホマ、ネニ篷、ホ・「・・エ・・コ・爨マシ。、ホ、隍ヲ、ヒ、ハ、。」

-ニホマ
--n。ァターソ。ハ、ソ、タ、キ。「n。3。ヒ
-スミホマ
--"reject" or "accept"

#code(lisp){{
a「ォ{2,3,。ト,n-2}、ォ、鬣鬣・タ・爨ヒチェツ、キ、ソテヘ
if a^{n-1} 。 1 (mod n) then
    return "reject"
else return "accept"
}}

。。、ウ、ウ、ヌ。「n、ャチヌソ、ハ、鬢ミ。「ツィ、チ&mimetex("n \in Primes");、ハ、鬢ミ。「。ヨFermat(n)="reject"。ラ。ハ、ウ、ホノスオュヒ。、マ。ヨFermat、ヒn、ツ衄、キ、ソ、ネ、ュ、ホスミホマキイフ、ャ"reject"。ラ、ネ、、、ヲ、ウ、ネ、ーユフ」、ケ、。ヒ、ネ、ハ、ウホホィ、マ0、ャナチウタョ、ホゥ、ト。」

。。ーハ。「n、ャケ鄲ョソ、ハ、鬢ミ。「ツィ、チ&mimetex("n \not{\in} Primes");、ハ、鬢ミ。ヨFermat(n)="reject"。ラ、ャ、ノ、、ハテヘ、ヒ、ハ、、ォ、ャノヤフタ、ヌ、「、。」

。。1、ヒ、ハ、、ホ、ャヘチロナェ、タ、ャ。「、ス、、マニ、キ、ス、ヲ、ヌ、「、。」、キ、ォ、キイソ、鬢ォ、ホウホホィ、ャカツホナェ、ヒスミ、ニペ、キ、、。」、ヌ、ュ、、ミ1/2ーハセ螟タ、ネエ、キ、、。ハ1/2ーハセ螟ハ、鮹ヌソ・ニ・ケ・ネ、ネ、キ、ニウ靉ムイトヌス、ヌ、「、、ウ、ネ、ャウホト熙ケ、、ォ、鬘ヒ。」、ス、、ヌ、マ。「。ヨn、ャケ鄲ョソ。ラ、ォ、ト。ヨFermat(n)="reject"。ラ、ャタョ、ホゥ、ト、ネ、ュ、ホウホホィ、トエ、ル、ニ、゚、。」

。。・ユ・ァ・・゙。シ・ニ・ケ・ネ、ホ・「・・エ・・コ・澁ermat、ホニスミホマ、マシ。、ホトフ、熙ヌ、「、。」

#img(http://security2600.sakura.ne.jp/main2/image3/Fermat_alg.jpg)
#img(,clear)

。。ニホマ、オ、、n、マハフ、ホ・鬣・タ・爨ハターソ、タクタョ、ケ、・「・・エ・・コ・爨ヘヘム、ケ、。」、ス、、・ユ・ァ・・゙。シ・ニ・ケ・ネ、ホ・「・・エ・・コ・澁ermat、ヒニホマ、ケ、、ネ。「"accept"、「、、、、マ"reject"、ャスミホマ、オ、、。」

-"accept"、ャスミホマ、オ、、ソ、ネ、ュ
--n、マチヌソ、「、、、、マ・ォ。シ・゙・、・ア・ソ
---、ハ、シ、ハ、鬢ミ。「&mimetex("\exists a; a^{n-1} \not{\equiv} 1 \pmod{n}");、ヌ、「、、ォ、鬘」、ソ、タ、キ。「(a,n)=1、ヌ、「、。」
-"reject"、ャスミホマ、オ、、ソ、ネ、ュ
--n、マノャ、コケ鄲ョソ
---、ハ、シ、ハ、鬢ミ。「&mimetex("\forall a; a^{n-1} \equiv 1 \pmod{n}");、ヌ、「、、ォ、鬘」、ソ、タ、キ。「(a,n)=1、ヌ、「、。」


。。、ウ、ウ、ヌシ酘・、フタウホ、ヒ、ケ、、ソ、皃ヒ。「シ。、ホ2、ト、ホクタヘユ、トオチ、ケ、。」

#divid(s,thorem)
-。ヨn。2。ラ、ォ、ト。ヨ&mimetex("a^{n-1} {\not}{\equiv} 1 \pmod{n}");。ラ、ャタョ、ホゥ、ト、ネ、ュ。「a。ハ、ソ、タ、キ1。藺。縅。ヒ、''n、ヒツミ、ケ、Fermat witness''、ネクニ、ヨ。」
-。ヨn。ハ。3。ヒ。ァケ鄲ョソ。ラ、ォ、ト。ヨ&mimetex("a^{n-1} {\equiv} 1 \pmod{n}");。ラ、ャタョ、ホゥ、ト、ネ、ュ。「a。ハ、ソ、タ、キ1。藺。縅。ヒ、''n、ヒツミ、ケ、Fermat liar''、ネクニ、ヨ。」
#divid(e,thorem)

。。、ウ、ホトオチ、隍遙「サリト熙オ、、ソn、ヒツミ、キ、ニ、メ、ネ、ト、ヌ、礑ermat witness、ャツクコ゚、キ、ソ、鬘「n、マケ鄲ョソ、ネウホト熙ヌ、ュ、。」、ハ、シ、ハ、鬢ミ。「Fermat witness、ネ、、、ヲ、ウ、ネ、マ。ヨ&mimetex("a^{n-1} {\not}{\equiv} 1 \pmod{n}");。ラ、ャタョ、ホゥ、ト、ウ、ネ、ーユフ」、キ。「Fermat、ホ・「・・エ・・コ・爨ホifハク、ホセキハク、ヒツミア、キ、ニ、、、。」、ト、゙、遙「ifハク、ホセキ、ャTrue、ヒ、ハ、遙「"reject"、ャスミホマ、オ、、、ウ、ネ、ヒツミア、ケ、。」、ネ、ウ、、ャ。「n、ャチヌソ、ホ、ネ、ュ、ヒ"reject"、ャスミホマ、オ、、、ウ、ネ、マウァフオ、ヌ、「、。」、ウ、、マ・ユ・ァ・・゙。シ、ホセョトヘ、ォ、鯲タ、鬢ォ、ヌ、「、。」、ト、゙、遙「"reject"、ャスミホマ、オ、、ソ、ネ、ュ、ホFermat、ホニホマ、マノャ、コケ鄲ョソ、ネ、、、ヲ、ウ、ネ、ヒ、ハ、。」

。。、゙、ソ。「。ヨn、ャケ鄲ョソ。ラ、ォ、ト。ヨFermat(n)="reject"。ラ、ャタョ、ホゥ、ト、ネ、ュ、ホウホホィ、トエ、ル、、ヒ、マ。「a、ホチソ、ホ、ヲ、チ、ヌ。「。ヨn、ヒツミ、ケ、Fermat witness。ラ、ヌ、「、、隍ヲ、ハa、ホクトソ、ャ、ノ、、ー、鬢、、「、、ォ、テホ、、ウ、ネ、ャ、ヌ、ュ、、ミ、隍、。」、゙、コ。「a、ホチソ、マn-3クト、ヌ、「、。」、ウ、、マa、マ3。藺。縅、ヒ、ソ、ケ、ォ、鯲タ、鬢ォ、ヌ、「、。」シ。、ヒ。「。ヨn、ヒツミ、ケ、Fermat witness。ラ、ホ、ネ、ュ、マ。「トオチ、隍遙ヨ&mimetex("a^{n-1} {\not}{\equiv} 1 \pmod{n}");。ラ、ネ、、、ヲセキ、ャヒ、ソ、オ、、ソ、ネ、ュ、ヌ、「、。」

。。、ス、キ、ニ。「n、ャチヌソ、ォネン、ォ。「a、ャサリト熙オ、、ソn、ヒ、ェ、、、ニ&mimetex("a^{n-1} {\equiv} 1 \pmod{n}");、ヒ、ソ、ケ、ォネン、ォ、ヒ、隍テ、ニハャホ爨ケ、、ネ。「シ。、ホ4、ト、ホ・ム・ソ。シ・、ャツクコ゚、ケ、。」

||n、マチヌソ|n、マケ鄲ョソ|
|a、ャ&mimetex("a^{n-1} {\not}{\equiv} 1 \pmod{n}");、ヒ、ソ、ケ|(1)|(2)|
|a、ャ&mimetex("a^{n-1} {\equiv} 1 \pmod{n}");、ヒ、ソ、ケ|(3)|(4)|

。。・ユ・ァ・・゙。シ、ホセョトヘ、隍遙「(1)、ホセケ遉マ、「、熙ィ、ハ、、、ホ、ヌ。「0クト。」、ス、キ、ニ。「a、ャ。ヨn、ヒツミ、ケ、Fermat witness。ラ、ヌ、「、、ネ、ュ、ホクトソ、マ(2)。「a、ャ。ヨn、ヒツミ、ケ、Fermat liar。ラ、ヌ、「、、ネ、ュ、ホクトソ、マ(3)+(4)、ヒツミア、キ、ニ、、、。」、ト、゙、遙「。ヨn、ヒツミ、ケ、Fermat witness。ラ。ワ。ヨn、ヒツミ、ケ、Fermat liar。ラ。疣-3、ャタョ、ホゥ、ト。」タ隍ロ、ノ。「。ヨn、ャケ鄲ョソ。ラ、ォ、ト。ヨFermat(n)="reject"。ラ、ャタョ、ホゥ、ト、ネ、ュ、ホa、ホクトソ、ャ。「n、ヒツミ、ケ、Fermat witness、ホクトソ、ネーテラ、ケ、、ネ、ケ、ヌ、ヒスメ、ル、ソ。」、隍テ、ニ。「。ヨn、ャケ鄲ョソ。ラ、ォ、ト。ヨFermat(n)="reject"。ラ、ャタョ、ホゥ、ト、ネ、ュ、ホa、ホクトソ、マ。「。ヨa、ホチソ。ラ-。ヨn、ヒツミ、ケ、Fermat liar。ラ、ネクタ、、エケ、ィ、、ウ、ネ、筅ヌ、ュ、。」

。。ーハセ螟ホ、ウ、ネ、、゙、ネ、皃、ネ。「フワナェ、ヌ、「、テ、ソ。ヨn、ャケ鄲ョソ。ラ、ォ、ト。ヨFermat(n)="reject"。ラ、ャタョ、ホゥ、ト、ネ、ュ、ホウホホィ、マ。ハn、ヒツミ、ケ、Fermat witness、ホクトソ。ヒ/。ハn-3。ヒ。「ツィ、チ1-。ハn、ヒツミ、ケ、Fermat liar、ホクトソ。ヒ/。ハn-3。ヒ、ヌ、「、。」

#divid(s,notice)
ホ1。ァ・鬣・タ・狹ヘタクタョ・「・・エ・・コ・爨ヌn、タクタョ、ケ、、、ア、タ、ャ。「ホ网ィ、ミn=143、タクタョ、キ、ニ。「、ウ、、チヌソネスト・「・・エ・・コ・澁ermat、ヒニホマ、キ、ソ、ネ、ュ、ホニー、ュ、クォ、ニ、、、ッ。」

。。、ス、筅ス、穗=143、マ11。゚13、ホ、隍ヲ、ヒチヌーソハャイ、ヌ、ュ、、ホ、ヌ。「ケ鄲ョソ、ヌ、「、。」、キ、ォ、キ。「イ譯ケ、マ、゙、タケ鄲ョソ、ォ、ノ、ヲ、ォ、、ォ、鬢ハ、、。「、ウ、、トエ、ル、、ソ、皃ヒFermat、サネ、ヲ、ホ、ヌ、「、。」n=143、ホ、ネ、ュ、ホ。ヨn、ヒツミ、ケ、Fermat liar。ラ。「ツィ、チaSUP{n-1};「1 (mod n)、ヒ、ソ、ケ、隍ヲ、ハa、テホ、熙ソ、、。」、ウ、ウ、ヌ、マキマタ、スメ、ル、、ネ。「a=1,12,131,142、ホ4、ト、タ、ア、ヌ、「、。」ホ网ィ、ミ。「143、マケ鄲ョソ、ハ、ホ、ヌ。「12SUP{142}; (mod 143)、マ1、ヒーテラ、ケ、、ネ、マクツ、鬢ハ、、。」、ネ、ウ、、ャキラササ、ケ、、ネ1、ヒーテラ、ケ、。」131、簇アヘヘ、ヒ131SUP{142};「1 (mod 143)、ャタョ、ホゥ、ト、ホ、ヌ。「143、ヒツミ、ケ、Fermat liar、ホ、メ、ネ、ト、ヌ、「、。」ニテ、ヒa=1。ハ、ハ、シ、ハ、鬢ミ1^142「1 (mod 143)。ヒ,142。ハ、ハ、シ、ハ、鬢ミ142SUP{142};「-1SUP{142}; (mod 143)「1 (mod 143)。ヒ、マシォフタ、ハ、筅ホ、ハ、ホ、ヌ。「スウー、キ、ニケヘ、ィ、、ネ。「a=12,131、タ、ア、ヒ、ハ、。」

。。、ウ、ホ、ネ、ュ。ヨFermat(143)="reject"。ラ、ャタョ、ホゥ、トウホホィ、ャ1/2ーハセ螟ォ、ノ、ヲ、ォ、トエ、ル、。」、゙、コ。「。ヨFermat(143)="accept"、ャタョ、ホゥ、トウホホィ。ラ。2/(143-3)=2/140=1/70。1/2、ャタョ、ホゥ、ト。」、隍テ、ニ。「。ヨFermat(143)="reject"、ャタョ、ホゥ、トウホホィ。ラ。1/2、ヒ、ハ、。」、ト、゙、遙「n=143、ホ、ネ、ュ、マFermat、ツソテハ、ヒ、ケ、、ウ、ネ、ヌ。「ケ鄲ョソ、ネステヌ、ヌ、ュ、ニ、ヲ、゙、ッ、マ、ク、ッ、ウ、ネ、ャ、ヌ、ュ、、、ア、タ。」。。。
ホ2。ァシ。、ヒ。「n=561、ホ、ネ、ュ、ケヘ、ィ、ニ、゚、。」、ウ、ホn=561、3。゚11。゚17、ネチヌーソハャイ、ヌ、ュ、、ホ、ヌケ鄲ョソ、ヌ、「、。」

。。、ウ、ホ、ネ、ュ。ヨFermat(561)="reject"。ラ、ャタョ、ホゥ、トウホホィ、ャ1/2ーハセ螟ォ、ノ、ヲ、ォ、トエ、ル、。」n=561、ホ、ネ、ュ、ヒGCD(a,n)=1、ヒ、ソ、ケa、マ。ヨn、ヒツミ、ケ、Fermat liar。ラ、ヒ、ハ、テ、ニ、キ、゙、ヲ。」、ト、゙、遙「。ヨFermat(143)="accept"、ャタョ、ホゥ、トウホホィ。ラ。皋ユ(n)/(n-3)「筥ユ(n)/n、ヒ、ハ、。ハヲユ、ネ、、、ヲオュケ讀マ[[オラホアナ遑ヲ・ェ・、・鬘シエリソ]]、ーユフ」、ケ、。ヒ。」、ハ、シヲユ(n)、ャスミ、ニ、ッ、、ホ、ォ、ネ、、、ヲ、ネ。「GCD(a,n)=1、ヌ、「、、隍ヲ、ハa、ホクトソ。「ツィ、チZ_n^*、ホクトソ、タ、ォ、鬢ヌ、「、。」、隍テ、ニ。「。ヨFermat(143)="reject"、ャタョ、ホゥ、トウホホィ。ラ。(1-ヲユ(n))/n、ヒ、ハ、。」、ウ、ウ、ヌ。「n、ャツ遉ュ、、、ネ、ュ。「n-ヲユ(n)。罍縅、ャタョ、ホゥ、ト、ホ、ヌ。「。ヨFermat(143)="reject"、ャタョ、ホゥ、トウホホィ。ラ。罍1/2、ヒ、ハ、テ、ニ、キ、゙、ヲ。」、ト、゙、遙「n=561、ホ、ネ、ュ、マFermat、ツソテハ、ヒ、キ、ニ、筍「ケ鄲ョソ、ネステヌ、ヌ、ュ、コ、ヲ、゙、ッ、マ、ク、ッ、ウ、ネ、ャ、ヌ、ュ、ハ、、。」、ト、゙、遙「n=561、ヒツミ、キ、ニ、マFermat、マ。「チヌソ・ニ・ケ・ネ、ネ、キ、ニ、ヲ、゙、ッニー、ォ、ハ、、、ネ、、、ヲ、ウ、ネ、ヌ、「、。」。。。
#divid(e,notice)

。。、ウ、ホ、隍ヲ、ハn、マ''・ォ。シ・゙・、・ア・ソ''、ネクニ、ミ、。「フオクツ、ヒツクコ゚、ケ、、ウ、ネ、ャセレフタ、オ、、ニ、、、。」

。。、隍テ、ニ。「ホ羌ー、ネ、ハ、、ホ、マn=561、タ、ア、ヌ、ハ、ッ。「・鬣・タ・狹ヘタクタョ・「・・エ・・コ・爨ホスミホマ、ヌ、「、n、ヌ、ソ、゙、ソ、゙・ォ。シ・゙・、・ア・ソ、ャチェ、ミ、、ニ、キ、゙、ィ、ミFermat、マチヌソ・ニ・ケ・ネ、ネ、キ、ニヘュク、ヌ、マ、ハ、、、ネ、、、ヲ、ウ、ネ、ヒ、ハ、。」、キ、ォ、筍「・ォ。シ・゙・、・ア・ソ、マフオクツ、ヒツクコ゚、ケ、、ホ、ヌ。「n、ャ・ォ。シ・゙・、・ア・ソ、ォ、ノ、ヲ、ォ、・チ・ァ・テ・ッ、キ、ニ、ォ、鬘「Fermat、ホニホマ、ヒ、ケ、、ネ、、、ヲ・「・ラ・。シ・チ、篶オヘ、ヌ、「、。」、キ、ソ、ャ、テ、ニ。「・ユ・ァ・・゙。シ・ニ・ケ・ネ、マチヌソ・ニ・ケ・ネ、ネ、キ、ニウ靉ム、マ、ヌ、ュ、ハ、、、ネ、、、ヲキマタ、ヒ、ハ、。」

#divid(s,thorem)
[トヘ]n。3。ァエソ、ホケ鄲ョソ、ネ、ケ、。」、ウ、ホ、ネ、ュ。「n、マセッ、ハ、ッ、ネ、筅メ、ネ、トFermat witness。ハ「コ&mimetex("\mathbb{Z}_n^*");。ヒ、サ、ト、ハ、鬢ミ。「Pr[Fermat(n)=reject]。1/2、ャタョ、ホゥ、ト。」
#divid(e,thorem)

。。、ウ、ホトヘ、ホセキ、ャ。「n、マ・ォ。シ・゙・、・ア・ソーハウー、ネ、、、ヲーユフ」、ヌ、「、。」、ス、キ、ニキマタ、ャタョ、ホゥ、ト、ネ、ュ。「チヌソ・ニ・ケ・ネ、ネ、キ、ニ、ヲ、゙、ッニー、ッ。」


#divid(s,proof)
[セレフタ]n、ヒツミ、キ、ニ、ホFermat liar、ホスクケ遉F-LiarSUB{n};、ネノスオュ、ケ、、ウ、ネ、ヒ、ケ、。」、ト、゙、遙「シ。、ホ、隍ヲ、ヒトオチ、オ、、。」

&mimetex("F-Liars_n := \{a|1 \le a < n \bigwedge (a,n)=1 \bigwedge a^{n-1} \equiv 1 \pmod{n} \} \subset \mathbb{Z}_n^*");

。。、ウ、ホ、ネ、ュ。「&mimetex("F-Liars_n < \mathbb{Z}_n^*");、ャタョ、ホゥ、ト、ウ、ネ、シィ、ケ。」

[1]テアーフクオ1「コF-LiarsSUB{n};、ャタョ、ホゥ、ト。」

[2]タム、ヒ、ト、、、ニハト、ク、ニ、、、、ウ、ネ、シィ、ケ。」

。ヨa,b「コF-LiarsSUB{n};。ラ「ヘ。ヨab「コF-LiarsSUB{n};。ラ

。。、ハ、シ、ハ、鬢ミ。「&mimetex("(ab)^{n-1}=a^{n-1} b^{n-1} \equiv 1 \cdot 1 \pmod{n} \equiv 1 \pmod{n}");、ャタョ、ホゥ、ト、ォ、鬘」

。。、隍テ、ニ。「[トヘ]。ヨ。ヨG。ァヘュクツキイ。ラ、ォ、ト。ヨG「ソH「サe。ラ、ォ、ト。ヨH、マキイア鮟サ、ヒ、ト、、、ニハト、ク、ニ、、、。ラ。ハa,b「コH「ヘab「コH。ヒ「ヘ。ヨG。腥。ラ。ハH、マG、ホノハャキイ。ヒ。ラ、ャタョ、ホゥ、ト、ネ、、、ヲサシツ、ャ、「、、ソ、癸「[1][2]、隍遙「&mimetex("F-Liars_n < \mathbb{Z}_n^*");、ャタョ、ホゥ、ト。」

。。、゙、ソ。「[トヘ]。ヨG。ァヘュクツ・「。シ・ル・キイ、ネ、ケ、。」、ウ、ホ、ネ、ュ。ヨG。腥。ラ「ヘ。ヨ#H|#G。ラ。ラ、ャタョ、ホゥ、ト、ホ、ヌ。「&mimetex("\sharp F-Liars_n | \sharp \mathbb{Z}_n^*");、ャタョ、ホゥ、ト。」、隍テ、ニ。「ヲユ(n)=n-1、隍遙「&mimetex("F-Liars_n \le \frac{n-2}{2}");、ャタョ、ホゥ、トT。」

。。スセ、テ、ニ。「シ。、ホ、隍ヲ、ヒキラササ、ヌ、ュ、。」

Pr[Fermant(n)=reject]~
&mimetex("1-\frac{\frac{n-2}{2} -2}{n-3}");。。。ハハャサメ、ホ(n-2)/2、マ#F-LiarsSUB{n};。「2、マシォフタ、ハFermat-liar、ーユフ」、ケ、。ヒ~
&mimetex("=\frac{n}{2(n-1)}");~
&mimetex(">\frac{1}{2}");。。「「
#divid(e,proof)


*オシチヌソ、ネ・ォ。シ・゙・、・ア・ソ [#m31e8435]

。。、ウ、ホタ皃ヌ、マオシチヌソ、ネ・ォ。シ・゙・、・ア・ソ、ヒ、ト、、、ニ、筅ヲセッ、キクォ、ニ、゚、。」チヌソタクタョ・「・・エ・・コ・爨ホマテ、ォ、鬢マセッ、キ、マ、コ、、、ホ、ヌ。「ネ、ミ、キ、ニ、筅鬢テ、ニ、筅隍、。」

#divid(s,thorem)
[トオチ]オシチヌソ。ハpseudoprime。ヒ~
。ヨn。ァ。ハトa、ヒ、ト、、、ニ、ホ。ヒオシチヌソ。ラ~
「ホSUP{def};。ヨ&mimetex("a^{n-1} \equiv 1 \pmod{n}");。ラ
#divid(e,thorem)

#divid(s,thorem)
[トオチ]・ォ。シ・゙・、・ア・ソ。ハCarmichael number。ヒ~
。ヨn。ァ・ォ。シ・゙・、・ア・ソ。ラ~
「ホSUP{def};。ヨ「マa。ハ、ソ、タ、キ。「(n,a)=1。ヒ;&mimetex("a^{n-1} \equiv 1 \pmod{n}");。ラ
#divid(e,thorem)

。。、ト、゙、遙「・ォ。シ・゙・、・ア・ソ、マ。「GCD(a,n)=1、ヌ、「、、隍ヲ、ハ、ケ、ル、ニ、ホターソa、ヒツミ、キ、ニ。「n、ャトa、ヒ、ト、、、ニ、ホオシチヌソ、ヌ、「、、ネ、ュ、サリ、ケ。」

**オシチヌソ、ホタュシチ [#q2b4a94d]

#divid(s,thorem)
[トヘ]オシチヌソ、マフオクツクトツクコ゚、ケ、。」
#divid(e,thorem)

**・ォ。シ・゙・、・ア・ソ、ホタュシチ [#ob2cfc37]

。。・ォ。シ・゙・、・ア・ソ、マシ。、ホ、隍ヲ、ハタュシチ、サ、ト。」

#divid(s,thorem)
[トヘ]。ハAlford, Graville and Pomerance (1992)。ヒ~
・ォ。シ・゙・、・ア・ソ、マフオクツクトツクコ゚、ケ、。」
#divid(e,thorem)

#divid(s,thorem)
[トヘ]。ヨn。ハ。3。ヒ。ァエソ、ホ・ォ。シ・゙・、・ア・ソ。ラ~
「ホ。ヨ&mimetex("(\frac{n}{2})=-1 \wedge (\forall n,p)=1 \wedge p-1|n-1");。ラ
#divid(e,thorem)

。。n、ャエソ、ホ・ォ。シ・゙・、・ア・ソ、ハ、鬘「3、ト、ホキマタ、ャニウ、ア、、ウ、ネ、ーユフ」、ケ、。」ツ1、ホキマタ、マn、マハソケヤソ、サ、ソ、ハ、、、ネ、、、ヲ、ウ、ネ。「ツ2、ホキマタ、マヌ、ーユ、ホn、ャp、ネチヌ、ヌ、「、、ネ、、、ヲ、ウ、ネ。「ツ3、ホキマタ、マp-1、ャn-1、ホフソ、ネ、、、ヲ、ウ、ネ、ヌ、「、。」

#divid(s,proof)
[セレフタ]「ホ、シィ、ケ、ホ、ヌ。「ノャヘラセキ、ネススハャセキ、ヒセケ醋ャ、ア、キ、ニセレフタ、ケ、。」

[1]「ヘ、シィ、ケ

。。・ォ。シ・゙・、・ア・ソ、ホトオチ、隍遙「「マa。ハ、ソ、タ、キ。「(n,a)=1。ヒ;&mimetex("a^{n-1} \equiv 1 \pmod{n}");、ャタョ、ホゥ、ト。」

。。、゙、ソ。「p、n、ホフソ、ホチヌソ、ネ、キ。「a、n、ネチヌ、ハmod p、ホクカサマクオ、ネ、ケ、。」、ウ、ホa、マ。「[[テ貉ソヘセヘセトヘ]]、隍ツクコ゚、ャハンセレ、オ、、。」、ケ、、ネ。「クカサマクオ、ホトオチ、隍遙「&mimetex("a^{p-1} \equiv 1 \pmod{p}");、ャタョ、ホゥ、ト。」、隍テ、ニ。「&mimetex("a^{n-1} \equiv 1 \pmod{p}");、ャタョ、ホゥ、ト。」

。。シ。、ヒ。「[トヘ]。ヨg「コG、ヌ、「、遙「e「コZ、ヌ、「、、ネ、ケ、。」、ウ、ホ、ネ、ュ。「gSUP{e};=1、ネ、ハ、、ホ、マ。「e、ャg、ホーフソ、ヌウ荀タレ、、、ネ、ュ、ヒクツ、。ラ、隍遙「a、ホーフソp-1、マn-1、ホフソ、ヌ、「、。」

。。、オ、鬢ヒ。「pSUP{2};、ャn、ホフソ、ヌ、ハ、、、ウ、ネ、シィ、ケ。」ヌリヘヒ。、ヘム、、、、ソ、癸「pSUP{2};、ャn、ウ荀タレ、、ネイセト熙ケ、。」、ウ、ホ、ネ、ュ。「&mimetex("\phi(p^{2})(=(p-1)p)");、マヲユ(n)、ホフソ、ヌ、「、。」、゙、ソ。「mod n、ホエフセヘセキイ、ヌーフソp、ホクオ、ャツクコ゚、ケ、。」、隍テ、ニ。「p、マn-1、ホフソ、ヌ、「、。」、ウ、、マp、ャn、ホフソ、ヌ、「、、ウ、ネ、ヒフキス筅ケ、。」

[2]「ォ、シィ、ケ

。。n、マハソハソ、エ゙、゙、ハ、、、ネ、キ。「n、ホ、ケ、ル、ニ、ホチヌ、ホフソp、ヒツミ、キ、ニ。「p-1、n-1、ホフソ、ネ、ケ、。」、ソ、タ、キ。「a、ネn、マク゚、、、ヒチヌ、ネ、ケ、。」

。。、ウ、ホ、ネ、ュ。「[[・ユ・ァ・・゙。シ、ホセョトヘ]]、隍遙「&mimetex("a^{p-1} \equiv 1 \pmod{p}");、ャタョ、ホゥ、ト。」n-1、マp-1、ホヌワソ、ヌ、「、、ォ、鬘「&mimetex("a^{n-1} \equiv 1 \pmod{p}");、ャタョ、ホゥ、ト。ハn、ネチヌ、ヌ、「、テヘp、エ、ネ、ヒ。「、ウ、ホ・・。シ・キ・逾、ャタョ、ホゥ、ト。ヒ。」、隍テ、ニ。「n、ホチヌーソ、マク゚、、、ヒーロ、ハ、テ、ニ、、、、ォ、鬘「&mimetex("a^{n-1} \equiv 1 \pmod{n}");、ャタョ、ホゥ、ト。ハハ」ソ、ホ・・。シ・キ・逾、、メ、ネ、ト、ホ・・。シ・キ・逾、ヒ、゙、ネ、皃ソ。ヒ。」。。「「
#divid(e,proof)

#divid(s,thorem)
[トヘ]・ォ。シ・゙・、・ア・ソ、マセッ、ハ、ッ、ネ、3、ト、ホーロ、ハ、チヌーソ、サ、ト。」
#divid(e,thorem)

#divid(s,proof)
[セレフタ]n、・ォ。シ・゙・、・ア・ソ、ネ、ケ、、ネ。「トオチ、隍麩、マチヌソ、ヌ、マ、ハ、、。」、゙、ソ。「セ蠏ュ、ホトヘ、隍遙「n、マハソハソ、サ、ソ、ハ、、。」、隍テ、ニ。「n、マチヌソ、ホ、ル、ュセ隍ヒ、マ、ハ、鬢ハ、、。」、ト、゙、遙「n、マセッ、ハ、ッ、ネ、2、ト、ホチヌーソ、サ、ト、ウ、ネ、ャ、、、ィ、。」

。。シ。、ヒ。「p,q。ハp。舍、ネ、キ、ニ、箍ネフタュ、シコ、、ハ、、。ヒ、n、ホチヌーソ、ネ、キ。「n=pq、ャタョ、ホゥ、ト、ネイセト熙ケ、。」セ蠏ュ、ホトヘ、隍遙「p-1、マn-1=pq-1=(p-1)q+(q-1)、ホフソ、ヒ、ハ、。」、隍テ、ニ。「p-1、マq-1、ホフソ、ネ、ハ、。」、キ、ォ、キ。「p。舍、隍遙「p-1。舍-1。ハ。0。ヒ、ャタョ、ホゥ、ト、ホ、ヌ。「q-1、ホコヌセョタュ、隍フキス筅ャタク、ク、。」、隍テ、ニ。「n=pq、ネイセト熙キ、ソ、ウ、ネ、ャエヨー网、、ネ、、、ヲ、ウ、ネ、ヒ、ハ、。」、キ、ソ、ャ、テ、ニ。「n、ホチヌーソ、マセッ、ハ、ッ、ネ、3、トーハセ螟ヌ、「、、ウ、ネ、ャ、、、ィ、。」。。「「
#divid(e,proof)


*サイケヘハクク・ [#ed1f0be4]

-・シ・゚・ホ。シ・ネ
-ケヨオチ・ホ。シ・ネ
-。リクスツ蟆ナケ讀ホエチテソヘ。ル
-。リーナケ賚マタニフ遑ル
-。リアヘムツ蠢ウリニフ遑ル
-。リIntroduction to Algorithms。ル