Number Theory and Algebra Advisor …………… Dr. Shpilka Amir Presented by …… Cohen...

Preview:

Citation preview

Number Theoryand

AlgebraAdvisor …………… Dr. Shpilka AmirPresented by …… Cohen Gil ..………

Number Theory and Algebra

Preliminaries

Groups and Fields

Quadratic Residues

The RSA Cryptosystem

Polynomial Roots and Factors

Primality Testing

Number Theory and Algebra

Preliminaries

Groups and Fields

Quadratic Residues

The RSA Cryptosystem

Polynomial Roots and Factors

Primality Testing

Quadratic Residues

הגדרה

אם יש שארית ריבועית שארית נקראת

כך ש-

*na*

nx

2 moda x n

הערה

, לכל k>0 ראשוני ו-pקל להראות כי עבור , כאשר

שארית ריבועית יש בדיוק שני שורשים שונים.

kn p

למה

ראשוני אי-זוגי, ויהא יוצר כלשהו. אזי pיהא

זוגי.kהוא שארית ריבועית אם"ם

*pgkg

הוכחה

זוגי, אזי הוא שארית ריבועית.kברור כי אם

כך ש- xנניח כעת כי , ונניח בשלילה כי יש

.

kg

2 1k l

2 2 1 modlx g p

הוכחה - המשך

כך ש- . לכןm יוצר, וממילא יש gנזכור כי mx g

2 2 1 modm lg g p

ובמונחים של החבורה החיבורית נקבל

מכיוון ש- אנו מקבלים ש-

,p p

2 2 1 modm l p

1p p

הוכחה - המשך

1 | 2 2 1p l m

קיבלנו כי מספר זוגי מחלק מספר אי-זוגי. סתירה.

האם קיים קריטריון להיות איבר שארית ריבועית, אשר אינו

? כאן אוילר נכנס לתמונה.gנעזר ביוצר

משפט – קריטריון אוילר

ראשוני, איבר הוא שארית ריבועית אם"םpעבור *pa

1

2 1 modp

a p

הוכחה a הוא שארית ריבועית. יהא השורש של aנניח ש-

יוצר כלשהו של . ברור כיgכאשר

לכן ...

kx g*p 2 modka g p

הוכחה - המשך

1 1

12 12 2 1 1 modp p

kk pk p ka g g g p

אינו שארית ריבועית. מהלמה הקודמת נסיק aנניח כעת ש-

. נניחg הוא חזקה אי-זוגית של יוצר aכי

אז

משפט פרמה

2 1la g

1 1 11 1 1

12 1 2 12 2 22 2 2 modp p pp p p

l pl la g g g g g g p

הוכחה - המשך

נובע ש-p-1 הוא gמכיוון שהסדר של

1 1

2 2 1 modp p

a g p

הבחנה

, מתקייםgלכל יוצר

וזאת כי ממשפט פרמה

1

2 1 modp

g p

1 1 modpg p

הבחנה - המשך

אך לא ייתכן ש-

.p-1 הוא gשהרי הסדר של

( הוא שורש 1, ו- )-1 שאינו 1מכיוון ש הוא שורש של

לכל שארית , ומכיוון שהערנו קודם כי עבור1של

.ריבועית יש שני שורשים

מההבחנה רק טבעי להגדיר ...

1

2 1 modp

g p

1

2

p

g

kn p

הגדרה – סימן לז'נדר

ראשוני ו- נגדירpלכל *pa

1 if a is a quadratic residue mod

1 if a is a quadratic non-residue mod

papp

או באופן שקול

1

2 modpa

a pp

האם מספר הוא שארית ריבועית – היבט חישובי

מכריע aמהדיון לעיל, ניתן להציע אלגוריתם אשר בהינתן

(. כל שיש p הוא שארית ריבועית )כאשר ברקע ידוע aהאם

לעשות הוא לחשב את סימן לז'נדר על ידי חישוב

1

2 modp

a p

מציאת שארית לא-ריבועית

נכונה, השערת רימן המורחבת ידוע כי אם השערה בשם

אזי מבין האיברים הקטנים ב- יש שארית

לא-ריבועית.

אם ההשערה נכונה, כל שיש לעשות הוא לעבור על כל טווח

זה של איברים ולמצוא מביניהם מספר שאינו שארית

ריבועית.

*p 2logO p

מציאת שארית לא-ריבועית

ניתן להציע אלגוריתם ERHעם זאת, גם מבלי להסתמך על

אקראי )לאס-ווגאס או מונטה-קרלו( המוצא שארית

לא-ריבועית, וזאת בהתבסס על ההבחנה הבאה.

טענה

בדיוק חצי מאיברי הינם שארית ריבועית.*p

הוכחה

ראשית,

וממילא,

2 22 22 2 2 2

2 2 22 22 2 2 2

1 11 ,2 , , 1 1 ,2 , , , , 1

2 2

1 1 11 ,2 , , 1 , 2 , 1 ,2 , ,

2 2 2

p

p

p pp p

p p p

2

22 2 2 2 1 11 ,2 , , 1 mod 1 ,2 , , mod

2 2

p pp p p

הוכחה

מצד שני, אם ניקח

אז אם מתקיים

ולכן בהכרח בסתירה לכך ש-

11,2, ,

2

px y

px y

2 2px y

2 2|p x y x y x y

1, 1,2, ,

2

px y

QuadResהוצאת שורש - האלגוריתם

הסיבה שאנו מעונינים במציאת מספר שאינו שארית ריבועית

המוציא QuadResהיא שמספר כזה משמש את האלגוריתם

שורש של שארית ריבועית נתונה.

מציאת אותו מספר המהווה שארית שאינה ריבועית, היא

נכונה, אז קיים ERH. אם QuadResהחלק האקראי היחיד ב-

אלגוריתם דטרמיניסטי להוצאת שורש.

QuadResהוצאת שורש - האלגוריתם

הקלט לאלגוריתם מורכב מזוג מספרים:

הקובע את השדה .p מספר ראשוני אי-זוגי

מהשדה שאת השורש שלו אנו a שארית ריבועית

רוצים לחשב.

בשדה שאינו bבנוסף, האלגוריתם מניח שיש בידו איבר

שארית ריבועית.

*p

QuadResהוצאת שורש - האלגוריתם

הרעיון העומד מאחורי האלגוריתם הוא למצוא חזקה אי-זוגית

כך ש-aשל

תיתן לנוaמכאן, הכפלה ב-

וממילא הם השורשים, כנדרש.

2 1 1mpa

2 2mpa a

1ma

QuadResהוצאת שורש - האלגוריתם

1 היא 4 ראשוני אי-זוגי, השארית שלו בחלוקה ל-pמכיוון ש-

. המקרה הראשון בו נטפל, זהו המקרה הפשוט, הוא 3או

.3המקרה בו השארית היא

כך ש- . נבחין כיkיהי

הוא שארית ריבועית, אנו יודעים ש-aמכיוון ש-

4 3p k 1

2 22

pk

1

2

p

a a

QuadResהוצאת שורש - האלגוריתם

אבל הוא מספר זוגי, ולכן

הוא שורש.

.1 היא 4 בחלוקה ל-pנעבור למקרה בו שארית

1 modkx a p

1

2

p

QuadResהוצאת שורש - האלגוריתם

.8 ב-pגם כאן נפריד למקרים – לפי שארית החלוקה של

המקרה הראשון הוא

הפעם

זהו מספר אי-זוגי, ולכן לא נוכל להיעזר באותה השיטה כמו

במקרה הקודם.

8 5p k

14 3

2

pk

QuadResהוצאת שורש - האלגוריתם

אנו יודעים ש-

.1ולכן הוא שורש ריבועי של

אם אז סיימנו. אחרת מתקיים

מהשרוול. bזה הזמן להוציא את

1 8 5 14 22 21

p kk

p

aa a a

p

2 1ka

2 1 1ka

2 1 1ka

QuadResהוצאת שורש - האלגוריתם

אינה שארית ריבועית, ולכןbאנו יודעים ש-

ביחד עם

נקבל ש-

וסיימנו -

1 8 5 14 22 21

p kkb

b b bp

2 1 1ka

2 2 4 2 modk ka b a p

1 2 1 modk kx a b p

QuadResהוצאת שורש - האלגוריתם

המקרה האחרון הוא

במקרה זה

נסמן

ניתן להיעשות בזמן פולינומיאלי.r,Rחישוב

1 8 1 142 21

p kk

p

aa a a

p

8 1p k

22 , 1rk R R

QuadResהוצאת שורש - האלגוריתם

r,R במונחי aנכתוב את סימן לז'נדר של

היינו רוצים שהמעריך יהיה אי-זוגי. מצד שני, תחת ההצגה

וכו'. A, ומשורש A אנו יודעים להוציא שורש מ-r,R עם Aשל

למה שלא נוכל להוציא שורשים עד שהגורם הזוגי במעריך

ייעלם?

22 1r R

pA a

QuadResהוצאת שורש - האלגוריתם

הסיבה היא שאנו רוצים לשמור על ובמהלך הוצאת

שורשים אין ערובה לאינווריאנטה הזו.

ראשית נבחין כי אם אז סיימנו. נניח לכן שזה לא

המצב, לכן קיים גדול ביותר כך ש- אבל

.1 קונגרואנטי ל-

1pA

1Rpa

2 1j R

pa 0 2j r 21j jA A

QuadResהוצאת שורש - האלגוריתם

נביט במכפלה כאשר

זהו אותו טריק שהשתמשנו בו קודם – מכפלה זו קונגרואנטית

( שקיבלנו מהוצאה 1 בכדי לתקן את ה-)-B. השתמשנו ב-1ל-

.Aשל שורש של

הרעיון הוא להמשיך עם התהליך הנ"ל עבור

jA B24 2rk RB b b

jA B

QuadResהוצאת שורש - האלגוריתם

. aאנו נמשיך עד אשר לא תישאר חזקה זוגית במעריך של

תמיד יהיה גורם זוגי גדול יותר במעריך bהדבר אפשרי כי ל-

.aמאשר ל-

. עם כל R תהיה בדיוק aהתהליך יסתיים כאשר החזקה של

aהכפלה בגורם התיקון אנו מפחיתים מהחזקה של

, ולכן מספר הצעדים חסום ע"י1לפחות

4kb

logr p

QuadResהוצאת שורש - האלגוריתם

בסיום התהליך נקבל מספר

עם ההפחות שהתבצעו – b הוא סכום החזקות של zכאשר

סכום של מספרים זוגיים.

R zy a b

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

22 11713 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

22 11713 1

12 11713 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

12 11713 1

12 1 81713 3 1

22 11713 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

12 1 81713 3 1

1 41713 3 1

12 11713 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

1 41713 3 1

1 4 81713 3 1

12 1 81713 3 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

1 4 81713 3 1

1 61713 3 8

1 41713 3 1

- דוגמהQuadResהוצאת שורש - האלגוריתם

. נרצה למצוא את השורש k=2 עבור p=17=8k+1ניקח

תוך שימוש בשארית הלא a=13של השארית הריבועית

.R=r=1. מתקיים b=3ריבועית

2178 64 17 3 13 13

הוצאת שורש קשה לפחות כמו פירוק לגורמים - משפט

נניח וקיים אלגוריתם )אולי אקראי( עם זמן ריצה

. אז קיים nפולינומיאלי המוציא שורש של כל מספר מודולו

אלגוריתם אקראי בעל זמן ריצה פולינומיאלי המפרק את

n.לגורמיו הראשוניים

1A

2A

נניח ו- כך ש- אז

למה

2 2 modx y n modx y n

gcd , ,gcd , 1,x y n x y n n

בפירוק 2 זוגי, אז נוכל למצוא את מספר המופעים של nאם

. אי-זוגיnשלו, וממילא נוכל להניח מעכשיו ש-

לחזקות של מספרים ראשוניים n ייפרק את האלגוריתם

תוך שימוש ב- כקופסא שחורה.

הוכחת המשפט

2A

1A

ראשית נבחר באופן אקראי ובהסתברות אחידה .

זאת נעשה על ידי בחירה של . אם אז

, nאכן בחרנו . אחרת מצאנו מחלק לא טריוויאלי של

והוא

ונוכל להיעזר ברקורסיה עבור .

נישאר לטפל במקרה בו כן הצלחנו למצוא . במקרה

זה נחשב את ונריץ את בכדי למצוא

.n מודולו a של xשורש

הוכחת המשפט*nb

nb gcd , 1b n *nb

gcd ,g b n, /g n g

*nb

2 moda b n1A

a אינו חזקה של ראשוני, מספר השורשים של nמכיוון ש-

הוא מספר הגורמים t>1 הוא ,כאשר nמודולו

לגורמים ראשוניים.nהראשוניים השונים בפירוק של

הוא b נבחר באקראי, הידע היחידי של על bמכיוון ש-

ש-

ולכן ההסתברות ש- היא

הוכחת המשפט

2t

1A2a b

nx b 2 / 2 1/ 2t

אם לא התמזל מזלנו, ויצא ש- נחזור שוב על התהליך

הקודם.b שייבחר באופן בלתי תלוי ב-חדש bעם

כך ש- אבל . מהלמה xמכאן לכאן, מצאנו

נובע ש- . נסמן . וזהו

. מכאן נוכל להיעזר ברקורסיה nמחלק לא טריוויאלי של

עבור

הוכחת המשפט

nx b

2 2nx bnx b

gcd , 1,x b n n gcd ,g x b n

, /g n g

PrimalityTesting

מיקומה של בעיית הפירוק בהיררכיה החישובית

אחת הבעיות הגדולות בתורת המספרים החישובית היא

-קשה.NPהאם פירוק מספר לגורמים היא בעיה

-שלמות אנו עובדים עם בעיות NPמכיוון שבתאוריה של

הכרעה, נרצה להביט בבעיות ההכרעה הקשורות לבעיית

הפירוק לגורמים.

הגדרה

: is prime

1: is not prime C

PRIMALITY p p

COMPOSITENESS p p PRIMALITY

COMPOSITENESS ו-PRIMALITYנגדיר את השפות

מיקומה של בעיית הפירוק בהיררכיה החישובית

ברור כי

COMPOSITENESS NP

שהרי מחלק לא טריוויאלי של מספר הוא הוכחה הניתנת

לווידוא בזמן פולינומיאלי להיותו פריק. מכאן ש,

PRIMALITY co NP

מיקומה של בעיית הפירוק בהיררכיה החישובית

-NP היא בעיה COMPOSITENESSאנו לא יודעים האם

שלמה, אבל סביר יותר להניח שאין זה המצב, וממילא

-שלמות NP ל-P עומדת בין COMPOSITENESSקושייה של

)כמו בעיית האיזומורפיזם בין גרפים(.

NP

P

NPComplete

COMPOSITENESS

GI

I’m probably between P and NP-

Complete

מיקומה של בעיית הפירוק בהיררכיה החישובית

-שלמה NP אינה COMPOSITENESSאנו נראה כי סביר ש-

על ידי כך שנראה כי

מכאן ינבע שגם

-שלמה נקבלNP היא COMPOSITENESSאם

ואין זה סביר.

PRIMALITY NP co NP

COMPOSITENESS NP co NP

NP co NP

משפט

, קיימת הוכחה nמספיק שנראה כי לכל מספר ראשוני

הניתנת לווידוא בזמן פולינומיאלי.

PRIMALITY NP

COMPOSITENESS NP co NP

מסקנה

הוכחה

הוכחה - המשך

נעזר בלמה הבאה

*n

למה.n-1 הוא ראשוני אם"ם יש ב- איבר מסדר nמספר

הוכחת הלמה

ראשוני אז ל- יש יוצר, וממילא יש איבר nברור כי אם

.n-1מסדר

*n

הוכחת הלמה - המשך

אזn-1מצד שני, אם ב- יש איבר מסדר *n

* 1n n

אשר nמכיוון ש- היא קבוצת כל המספרים הקטנים מ-

, נובע n מספרים הקטנים מ-n-1זרים לו, ומכיוון שיש בדיוק

לא מתחלק באף n וממילא n זרים ל-nשכל אלו שקטנים מ-

ראשוני.nאחד מהם. נסיק כי

*n

המשך ההוכחה

ראשוני היא איבר nמהלמה נובע שהוכחה להיות מספר *ng

)כלומר יוצר(.n-1 מסדר gכך ש-

כל שההוכחה צריכה להראות הוא שלכל מחלק לא טריוויאלי

m של n-1 1 modmg n

המשך ההוכחה

-ים mיותר מכך, מספיק שההוכחה תראה זאת רק עבור

1מהצורה

i

nm

p

כאשר ה- הם הגורמים הראשוניים המופיעים בפירוק של

n.

ip

kאפשר להראות כי לכל

-ים.mולכן הכרחי לחסוך ב-

limsuplogk

n

d n

n

המשך ההוכחה

-ים mיותר מכך, מספיק שההוכחה תראה זאת רק עבור

1מהצורה

i

nm

p

כאשר ה- הם הגורמים הראשוניים המופיעים בפירוק של

n.

לגורמים ראשוניים, קל לוודא את n 1בהינתן הפירוק של-

ההוכחה לעיל.

ip

המשך ההוכחה

לגורמים n-1ההוכחה, לכן, צריכה גם לכלול את הפירוק של

ראשוניים. נדגיש – חשוב שההוכחה תמצא את הפירוק

ולא להשאיר גורמים שאינם ראשוניים ראשוניים גורמיםל

בפירוק.

את הבדיקה לכך שההוכחה חוקית במובן הזה שכל גורם של

n.הוא ראשוני, ניתן לעשות ברקורסיה

המשך ההוכחה - חשבונות

הואnמכיוון שמספר הגורמים הראשוניים של

ומכיוון שהצגה של כל גורם ראשוני כזה עולה

נובע שזמן הריצה הכולל של ווידוא ההוכחה הוא

2log log2

nT n n T n

logO n

logO n

עבור כל אחד מהגורמים מריצים בצורה רקורסיבית את הווידוא

לכל אחד מהגורמים מחשבים את הדרגה

המשך ההוכחה - חשבונות

2log / 2 logT n n T n n

חישוב פשוט )הערכות גסות( מראה כי

4logT n o n

תרומת משפט פרמה

ראשוני, אז nניזכר במשפט הקטן של פרמה המצהיר כי אם

לכל מתקיים

מקיים aאם הקונגרואנציה האחרונה מתקיימת, אנו נאמר כי

.nאת מבחן פרמה עבור

ראשוני, כל מקיים את מבחן פרמה. nעבור

1 1 modna n

*na

*na

תרומת משפט פרמה

אם משפט פרמה היה מתקיים גם בכיוון ההפוך, כלומר –

שלא מקיים את מבחן פרמה, אז היה a פריק קיים nלכל

, נבחר באקראי nבידינו האלגוריתם האקראי הבא: בהינתן

ונוודא ש-

פריק. אם אכן נקווה שבהסתברות nשהרי אחרת

.n ייכשל במבחן פרמה עבור aגבוהה,

na gcd , 1a n

*na

תרומת משפט פרמה

בכדי שאלגוריתם כזה ייחשב לאלגוריתם טוב אנו נרצה

-ים ייכשלו במבחן פרמה. החדשות a פריק, הרבה nשעבור

הרעות הן שיש מספרים אשר מתחזים לראשוניים במובן

הבא

הגדרה – מספר קרמייקל

הוא מספר פריק אשר עבורו לכל קרמייקלמספר *na

1 1 modna n

מספרי קרמייקל

. מספר קרמייקל נוסף 561מספר קרמייקל הקטן ביותר הוא

.1729הוא

קיומם של מספרי קרמייקל אינו מחייב אותנו לזנוח את

השימוש במשפט הקטן של פרמה לטובת בעיית ההכרעה

. אם מספרם של מספרי קרמייקל PRIMALITYהמתאימה ל-

סופי - הם לא יהוו בעיה עקרונית.

גורם נוסף לכישלון שימוש במשפט פרמה

פריק שאינו קרמייקל, nעם זאת, עדיין עלינו להראות כי עבור

-ים שייכשלו במבחן פרמה.aיש הרבה

הגדרה-ים שעוברים את a, נסמן ב- את קבוצת ה-nעבור מספר

מבחן פרמה, כלומר

ראשוניnברור כי עבור

* 1: 1 modnn nF a a n

nF

*n nF

למה

מספר פריק שאינו קרמייקל, אזיnיהא

הוכחה

אינו ראשוני ואינו קרמייקל, מתקייםnמכיוון ש-

קל לוודא ש- מהווה חבורה ולכן היא תת חבורה

של וממילא .(ממש)

מכיוון ש- נובע ש-

*n nF

*1

2n nF

,n nF

* ,n n*n nF

* / 2n nF *n nF

היכן אנו עומדים?

מהלמה אנו יודעים שאחד מהשניים – או ש- או ש-

. המקרה הראשון מתרחש רק עבור מספרים

ראשוניים ומספרי קרמייקל ולכן יש בידינו אלגוריתם אקראי

פשוט המכריע ראשוניות, עד כדי קרמייקלים.

*n nF *1

2n nF

החדשות הרעות

החדשות הרעות הן שלאחרונה הוכח כי יש אינסוף מספרי

קרמייקל, ולכן מתחזים אלו מהווים בעיה עקרונית לשימוש

במשפט פרמה עבור בדיקת ראשוניות.

W.R. (Red) Alford, Andrew Granvilleליתר דיוק,

גדול מספיק, n שעבור 1994 הראו ב-Carl Pomeranceו-

יש

.n ל-1לפחות מספרי קרמייקל בין

2/ 7n

החדשות הטובות

החדשות הטובות הן שיש דרך לעקוף את אינסוף המתחזים

הללו על ידי הצבת מבחן חזק יותר מאשר מבחן פרמה.

מבחן זה יתבסס על רעיון דומה.

נעבור להגדרה של סימן יעקובי.

הגדרה – סימן יעקובי

מספר אי-זוגי בעל הפירוק לגורמים ראשונייםnיהא

נגדיר את סימן יעקובי להיותn זר ל-aאז לכל

1

ikt

i i

a a

n p

1 21 2

tkk ktn p p p

סימן יעקובי - הערות

.(1)- או 1 ערכו של סימן יעקובי הוא תמיד

אנו מרשים לעצמנו להשתמש באותו הסימון עבור סימן

יעקובי ועבור סימן לג'נדר, שהרי סימן יעקובי מצומצם על

הראשוניים מזדהה עם סימן לג'נדר.

אנו משתמשים בסימן לג'נדר בכדי להגדיר את סימן

יעקובי.

סימן יעקובי – היבט חישובי

בהינתן הפירוק שלו. עם nנבחין כי סימן יעקובי מוגדר עבור

בזמן פולינומיאלי גם nזאת, ניתן לחשב את סימן יעקובי של

.nללא ידיעת הפירוק של

את החישוב ניתן לעשות בעזרת השימוש בזהויות הבאות

החלות על סימן יעקובי.

סימן יעקובי - זהויות

ab a b

n n n

a b

n n

1 1

2 21a na n

n a

n הזרים ל-a,bלכל

אז אם

זרים אזa,nאם

moda b n

סימן יעקובי - זהויות

11

n

-1 for 3 or 5 mod 821 for 1 or 7 mod 8

n

nn

סימן יעקובי כתחליף למבחן פרמה

1

* 2: modn

n n

aJ a a n

n

נרצה להחליף את מבחן פרמה, אשר נופל על מספרי

קרמייקל, במבחן אחר המבוסס על סימן יעקובי.

הגדרה

אי-זוגי, נגדירnלכל

למה

*1

2n nJ

פריקnלכל

הערה

נשים לב שהגרסה המקבילה של הלמה הזו עבור מבחן

פריק n פריק, אלא לכל nפרמה לא הייתה תקפה לכל

שאיננו מספר קרמייקל.

הוכחה

nJ קל לוודא כי היא חבורה וממילא תת-חבורה של

על כן כל שעלינו להראות הוא ש-

n פריק כך ש- . נביט בפירוק של nנניח בשלילה שיש

לגורמים ראשוניים

נסמן

*n

*n nJ

*n nJ

1 21 2

tkk ktn p p p

11kq p 2

2tkk

tm p p

הוכחה את האיבר ב- המקייםa של ונסמן ב-gנבחר יוצר

כזה מובטח ממשפט השאריות הסיני.aקיומו של

נבחין כי עבור כל מתקיים

*q

mod

1 mod

a g q

a m

*n

, 2ip i

1 mod ia p

הוכחהנחלק את ההוכחה למקרים. כמקרה ראשון נניח ש-

במקרה זה נוכל לכתוב כאשר ו-

אינו ראשוני. כעת,n . נבחין כי שהרי

n qm1 1k

1

ikt

i i

a a

n p

gcd , 1q m

iq p

1m

הוכחהנחלק את ההוכחה למקרים. כמקרה ראשון נניח ש-

במקרה זה נוכל לכתוב כאשר ו-

אינו ראשוני. כעת,n . נבחין כי שהרי

n qm

1 1k

1 2

i ik kt t

i ii i

a a a a

n p q p

gcd , 1q m

iq p

1m

הוכחהנחלק את ההוכחה למקרים. כמקרה ראשון נניח ש-

במקרה זה נוכל לכתוב כאשר ו-

אינו ראשוני. כעת,n . נבחין כי שהרי

n qm

1 1k

1 2 2

1i i ik k k

t t t

i i ii i i

a a a a g

n p q p q p

gcd , 1q m

iq p

1m

mod

1 1 mod i

g a q

i g p

הוכחהנחלק את ההוכחה למקרים. כמקרה ראשון נניח ש-

במקרה זה נוכל לכתוב כאשר ו-

אינו ראשוני. כעת,n . נבחין כי שהרי

n qm

1 1k

1 2 2

1i i ik k k

t t t

i i ii i i

a a a a g g

n p q p q p q

gcd , 1q m

iq p

1m

הוכחהמכיוון שסימן לג'נדר וסימן יעקובי מזדהים על הראשוניים,

ומכיוון שיוצר אינו שארית ריבועית, נקבל

מהנחת השלילה ולכן

ומכיוון ש- מתקיים גם

1a g

n q

*

n nJ

1

2 1 modn

a n

1

2 1 modn

a m

|m n

הוכחה כך ש- .aוזו סתירה לכך שבחרנו

המקרה השני הוא בו . מהנחת השלילה

ולכן

וממילא

מכיוון ש-

1 moda m

1 2k

1

2 1 modn

a n

1 1 modna n

*n nJ

1 1 modna q |q n

הוכחהומכיוון ש- נקבל

הואg יוצר של ולכן הסדר של gנזכור כי

וממילא

אבל

מכיוון ש- נובע ש-

*q

| 1q n

1 1 modng q

1 1 11 1 1 1k kq p p p

moda g q

q

1 2k 1 | 1p n

הוכחה. n-1 וגם את nאך , ואין מספר ראשוני המחלק גם את

סתירה.

1 |p n

הערה

ניתן להראות שלמספרי קרמייקל אין גורם ראשוני החוזר יותר

מפעם אחת, ולכן המקרה הראשון בהוכחת הלמה )המקרה

הקשה יותר( בעצם טיפל במתחזים אלו.

COMPOSITENESS עבור RPאלגוריתם הדומה ברוחו לאלגוריתם שיכל להצליח RPנציע אלגוריתם

אילולא היה מספרם של מספרי קרמייקל אינסופי.

COMPOSITEהאלגוריתם מקבל מספר אי-זוגי ומוציא כפלט

רק אם המספר פריק. עם זאת האלגוריתם עלול להחזיר

PRIME גם אם המספר פריק. על כן יש להתייחס לפלט

COMPOSITE ואל פריק בוודאות כאל PRIME ראשוני כאל

.בסבירות גבוהה

Strassen ו-Solovay של Primality1אלגוריתם .n מספר אי-זוגי קלט:

COMPOSITE או PRIME פלט:

בחר באקראי מספר מ-

.COMPOSITE אם החזר

.PRIME אם החזר

.COMPOSITE החזר

\ 0n

gcd , 1a n

1

2 modna

a nn

Strassen ו-Solovay של Primality1אלגוריתם COMPOSITEהאלגוריתם אינו טועה כאשר הוא מחזיר

שהרי במקרה זה הוא מצא כך ש-

או , וכל אחד ממקרים אלו אפשרי רק במקרה

פריק. מצד שני, מהלמה nבו

הנבחר a פריק וה-nמכיוון שהאלגוריתם טועה רק כאשר

PRIMEיושב ב- , נובע שהאלגוריתם טועה עם הפלט

בהסתברות שאינה עולה על חצי.

0 na

1

2 modna

a nn

gcd , 1a n

*1

2n nJ

nJ

ההיבט החישובי

מבטיח Primality1מבחינה חישובית, קיומו של האלגוריתם

ש-

וממילא

מבטיחה Huang ו-Adlemanתוצאה מורכבת מאוד של

שגם

COMPOSITENESS RP

PRIMALITY co RP

PRIMALITY RP