primality testing : aks algorithm · 2014-04-08 · idea algorithm and its crrectnesso solutions to...

73

Upload: others

Post on 09-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Primality Testing : AKS Algorithm

Sumit Sidana, PhD CSE

Paper by

Manindra Aggarwal,

Neeraj Kayal and Nitin Saxena

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 2: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Outline

1 Idea

2 Algorithm and Its Correctness

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 3: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Generalization of Fermat's Little Theorem

Important Result

Let a ∈ Z , n ∈ N, n ≥ 2, (a, n) =1.Then n is prime if and only if

(X + a)n = X n + a(mod n).Proof. For 0<i<n,the coeecient of x i in

((X + a)n − (X n + a) is(ni

)an−i .

Suppose n is prime.Then(ni

)= 0(modn) and hence all

coeecients are zero .Suppose n is composite. Consider a prime q that is a factor ofn and let qk |n .Then qk does not divide

(nq

)and is coprime to

an−q and hence the coeecient of X q is not zero(mod n).Thus ((X + a)n − (X n + a) is not identically zero over Zn

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 4: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Generalization of Fermat's Little Theorem

Important Result

Let a ∈ Z , n ∈ N, n ≥ 2, (a, n) =1.Then n is prime if and only if

(X + a)n = X n + a(mod n).Proof. For 0<i<n,the coeecient of x i in

((X + a)n − (X n + a) is(ni

)an−i .

Suppose n is prime.Then(ni

)= 0(modn) and hence all

coeecients are zero .Suppose n is composite. Consider a prime q that is a factor ofn and let qk |n .Then qk does not divide

(nq

)and is coprime to

an−q and hence the coeecient of X q is not zero(mod n).Thus ((X + a)n − (X n + a) is not identically zero over Zn

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 5: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Problem

However , the above test takes time Ω(n) because we need toevaluate n coeecients in the LHS in the worst case .

There are two problems which we are facing right now :-Evaluating (X + a)n requires n multiplications.-(X + a)n has n+1 coeecients which take ω(n) time in worstcase to evaluate .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 6: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 7: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 8: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 9: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 10: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 11: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solutions to Problems

Solutions

Use repeated Squaring to calculate (X + a)n .

Evaluate both sides of (1) modulo a polynomial of the formX r − 1 for an appropriately chosen r .

Test if the following equation is satised(X + a)n = X n + a(mod X r − 1, n)

All Primes n satisfy the equation for all values of a and r .

Problem Now is that some composites n may also satisfy theequation for few values of a and r .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 12: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Solution to the above Problem

We show for an appropriately chosen r if the equation issatised for several a's then n must be a prime power .

The number of a's and the appropriate r are both bounded bya polynomial in log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 13: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Outline

1 Idea

2 Algorithm and Its Correctness

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 14: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Algorithm

Algorithm

Input: Integer n > 1 .1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to b2

√r log(n)cdo

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 15: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

If n is prime then Algorithm Returns Prime .

If n is prime then Algorithm Returns Prime .

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If n is prime steps (1),(3) and (5) cannot return Composite.Then Either Step (4) or (6) is going to output prime .

If step(4) returns prime then n must be prime .

If it would not have been prime then step(3) would have founda prime p|n output COMPOSITE.

Therefore, algorithm returns prime if n is prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 16: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

If n is prime then Algorithm Returns Prime .

If n is prime then Algorithm Returns Prime .

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If n is prime steps (1),(3) and (5) cannot return Composite.Then Either Step (4) or (6) is going to output prime .

If step(4) returns prime then n must be prime .

If it would not have been prime then step(3) would have founda prime p|n output COMPOSITE.

Therefore, algorithm returns prime if n is prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 17: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

If n is prime then Algorithm Returns Prime .

If n is prime then Algorithm Returns Prime .

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If n is prime steps (1),(3) and (5) cannot return Composite.Then Either Step (4) or (6) is going to output prime .

If step(4) returns prime then n must be prime .

If it would not have been prime then step(3) would have founda prime p|n output COMPOSITE.

Therefore, algorithm returns prime if n is prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 18: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

If n is prime then Algorithm Returns Prime .

If n is prime then Algorithm Returns Prime .

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If n is prime steps (1),(3) and (5) cannot return Composite.Then Either Step (4) or (6) is going to output prime .

If step(4) returns prime then n must be prime .

If it would not have been prime then step(3) would have founda prime p|n output COMPOSITE.

Therefore, algorithm returns prime if n is prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 19: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

If n is prime then Algorithm Returns Prime .

If n is prime then Algorithm Returns Prime .

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If n is prime steps (1),(3) and (5) cannot return Composite.Then Either Step (4) or (6) is going to output prime .

If step(4) returns prime then n must be prime .

If it would not have been prime then step(3) would have founda prime p|n output COMPOSITE.

Therefore, algorithm returns prime if n is prime .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 20: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 21: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 22: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 23: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 24: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 25: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

More Observations

Observations

1. If (n = ab for a ∈ N and b > 1), output COMPOSITE .2.Find the smallest r such that or (n) > log2n.3.If 1 <(a,n)<n for some a≤r output COMPOSITE .4.If n ≤ r ,output PRIME .5.For a = 1 to 2

√r log(n)do

if ((X + a)n 6= X n + a(mod X r − 1, n)), output COMPOSITE ;6.Output Prime .

If the algorithm does not halt after step(3) or step(4) thenfollowing observations are evident :

n > r

There must exist a prime divisor p of n such that p> r.

(n,r) = 1 ⇒ p, n ∈ Z ∗r

Also let l = 2√r log n.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 26: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

General Denitions

Introspective Numbers

Call a number m introspective if(X + a)m = Xm + a(mod X r − 1, p)∀1 ≤ a ≤ l .

If m1 and m2 are introspective numbers then so is m1m2

Proof-(X + a)m2 − (Xm2 + a) = (X r − 1)g(x) + p.h(x) for someg(x),p(x)

⇒(Xm1 + a)m2 − (Xm1m2 + a)

= (Xm1r − 1)g(Xm1) + p.h(Xm1)

= 0(mod X r − 1, p)

⇒ (X + a)m1m2 = (Xm1 + a)m2

= Xm1m2 + a(modX r − 1, p)

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 27: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

General Denitions

Introspective Numbers

Call a number m introspective if(X + a)m = Xm + a(mod X r − 1, p)∀1 ≤ a ≤ l .

If m1 and m2 are introspective numbers then so is m1m2

Proof-(X + a)m2 − (Xm2 + a) = (X r − 1)g(x) + p.h(x) for someg(x),p(x)

⇒(Xm1 + a)m2 − (Xm1m2 + a)

= (Xm1r − 1)g(Xm1) + p.h(Xm1)

= 0(mod X r − 1, p)

⇒ (X + a)m1m2 = (Xm1 + a)m2

= Xm1m2 + a(modX r − 1, p)

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 28: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

General Denitions

Introspective Numbers

Call a number m introspective if(X + a)m = Xm + a(mod X r − 1, p)∀1 ≤ a ≤ l .

If m1 and m2 are introspective numbers then so is m1m2

Proof-(X + a)m2 − (Xm2 + a) = (X r − 1)g(x) + p.h(x) for someg(x),p(x)

⇒(Xm1 + a)m2 − (Xm1m2 + a)

= (Xm1r − 1)g(Xm1) + p.h(Xm1)

= 0(mod X r − 1, p)

⇒ (X + a)m1m2 = (Xm1 + a)m2

= Xm1m2 + a(modX r − 1, p)Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 29: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 30: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 31: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 32: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 33: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 34: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 35: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

p and n as Introspective Numbers .

Numbers of the form pinj

If algorithm outputs Composite at step (5) then we are done .

If the algorithm does not output Composite at step(5) thensuch n has veried l equations .

(X + a)n = X n + a(mod X r − 1, n)0 ≤ a ≤ l .

This implies (X + a)n = X n + a(mod X r − 1, p)

and For Prime Factor of n ,p we have :(X + a)p = X p + a(mod X r − 1, p).

Hence for each m of the form pinj we have(X + a)m = Xm + a for a = 1...l

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 36: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Two sets I and P

We now dene two sets I and P .

I = (ni .pj |i , j ≥ 0) .

P = (∏l

a=0(X + a)ea |ea ≥ 0).

Clearly ,Every member of set I is introspective for everymember of set P .

Also, let Î= pinj |0 ≤ i , j ≤√t .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 37: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Two sets I and P

We now dene two sets I and P .

I = (ni .pj |i , j ≥ 0) .

P = (∏l

a=0(X + a)ea |ea ≥ 0).

Clearly ,Every member of set I is introspective for everymember of set P .

Also, let Î= pinj |0 ≤ i , j ≤√t .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 38: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Two sets I and P

We now dene two sets I and P .

I = (ni .pj |i , j ≥ 0) .

P = (∏l

a=0(X + a)ea |ea ≥ 0).

Clearly ,Every member of set I is introspective for everymember of set P .

Also, let Î= pinj |0 ≤ i , j ≤√t .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 39: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Two sets I and P

We now dene two sets I and P .

I = (ni .pj |i , j ≥ 0) .

P = (∏l

a=0(X + a)ea |ea ≥ 0).

Clearly ,Every member of set I is introspective for everymember of set P .

Also, let Î= pinj |0 ≤ i , j ≤√t .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 40: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 41: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 42: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 43: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 44: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 45: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Groups G and eld F

We dene a group G = nipj modulo r and let t be the orderof this group .

Let Qr (X ) be the r th cyclotomic polynomial over Fp.

Polynomial Qr (X ) divides X r − 1 and factors into irreduciblefactors of degree or (p) .

Let h(x) be one such irreducible factor .

Since or (p) > 1 ,degree of h(X) is greater than 1 .

Let F be eld which consists of the set of all residues ofPolynomials in P modulo h(X) .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 46: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 47: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 48: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 49: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 50: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 51: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 52: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Some Results

Clearly, t ≥ ordr (n)

Any m ∈Î is atmost n2√t

|Î| = (√t + 1)2 > t.

Since |G| =t ,at least two numbers in Î must be equal modulor .⇒ m1 = m2 + kr

(X + a)m1 = (Xm1 + a) = (Xm2+kr + a) = Xm2 + a =(X + a)m2(mod X r − 1, p)

Consider the Polynomial Zm1 − Zm2 has several roots namely,X+a , for a = 1,2,...,l .

If m1,m2 ∈ Î are such that(X + a)m1 = (X + a)m2(mod X r − 1, p) for a = 1,2,...,l thenwe want conditions under which m1 = m2

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 53: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

We want to show that it has more roots than its degree .If wecan show that ,we will force m1 = m2.

In a eld , a non zero polynomial of degree d has atmost droots .

If we show m1 = m2 then pi1nj1 = pi2nj2 ⇒ n is a primepower.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 54: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 55: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 56: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 57: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 58: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 59: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Forcing m1 = m2

If η is the primitive r th root of unity , then η + a is the rootof the equation h(Z ) = Zm1 − Zm2 .

Also note that if α and β are the roots of h then so are αβ.

Let S = (∏l

a=1(η + a)ea |ea ∈ 0, 1)

Each element of S is the root of h .

If we force number of roots to be greater than degree we get2l > n2

√t ⇒ l > 2

√tlog n Then we force m1 = m2 .

Now we need to force each root of S to be distinct for aboveclaim to be true .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 60: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 61: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 62: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 63: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 64: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 65: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Background for Bounds on r

If we take our earlier P =∏l

a=0(X + a)ea |ea ≥ 0 they are alldistinct polynomials of Fp[X ] if a=1....l do not divide n (and p)

But this can be shown : l = 2√

(r)log n ≤ r and p > r .

We also need to show : If f (X ) and g(X ) are two distinctelements of P ,then so are g(η) andf (η)

Proof - For everym = pinj , g(X )m = g(Xm)(modX r − 1, p). Hence if f (X )and g(X ) are two distinct elements of P such thatf (η) = g(η)⇒ g(η)m = g(ηm) = f (η)m = f (ηm)

This shows ηm is the root ofQ(X ) = f (X )− g(X ) for every m ∈ G .

So there are at least t roots of Q(X) in F.

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 66: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Since these polynomials are of degree atmost l If we ensurethat t > l ,we show Q(X) = 0⇒ f(X) = g(X)

We want to ensure t > l = 2√r log n > 2

√tlog n⇒ t >

4(log2n) + 2 and since t > ordr (n)

It is enough to show ordr (n) > 4(log2n) + 2 .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 67: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 68: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 69: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 70: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 71: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 72: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm

Page 73: Primality Testing : AKS Algorithm · 2014-04-08 · Idea Algorithm and Its Crrectnesso Solutions to Problems Solutions Use repeated Squaring to calculate (X + a )n. Evaluate both

IdeaAlgorithm and Its Correctness

Finding such an r

LCM of 1,2,3,.....2k+1 numbers is at least 22k .

Suppose we run through all r till some odd number say R andfail to get one such that ordr (n) > T = 4(log2n) + 2.

⇒ for each r ≤ R nimod r = 1 for some i < R

Each r ≤ R divides∏T

i=0(ni − 1) ≤ nT2and hence LCM of all

r ≤ R divides it .

By the rst result on LCM 2R−1 ≤ nT2that is

R ≤ T 2log n + 1 .

Therefore if we take r > T 2log n + 1 ,we are sure to r suchthat ordr (n) ≥ T = 4log2 n + 2 .

Hence there is a number r = O(log5 n) ≥ T .

Sumit Sidana, PhD CSE Primality Testing : AKS Algorithm