How do you determine the values of m and k in a strong primality test?

  • Thread starter Thread starter JaeSun
  • Start date Start date
  • Tags Tags
    Test
Click For Summary
SUMMARY

The discussion focuses on determining the values of m and k in the strong primality test, specifically the algorithm where n-1 is expressed as m * 2^k. The user is confused about how to derive m and k, noting that m must be an odd number. The algorithm involves checking conditions using modular arithmetic to ascertain primality. The user seeks clarification on the values of m and k to complete their programming assignment related to primality testing.

PREREQUISITES
  • Understanding of weak and strong primality tests
  • Familiarity with modular arithmetic
  • Knowledge of the algorithm for strong primality testing
  • Basic programming skills for implementing algorithms
NEXT STEPS
  • Study the derivation of m and k in the context of the strong primality test
  • Learn about the Miller-Rabin primality test and its implementation
  • Explore modular exponentiation techniques for efficient calculations
  • Practice programming the strong primality test in a language of choice
USEFUL FOR

This discussion is beneficial for students learning number theory, computer scientists focusing on cryptography, and programmers implementing primality tests in their applications.

JaeSun
Messages
37
Reaction score
0
strong primality test ... ??

ok, bear with me ...

we learned weak primality tests (given n and base a,::: a^(n-1) mod n ::: if it does not equal 1, then its composite, if it equals 1, then MAYBE prime) ...

then we learned strong primes ... think of n-1 = m2^k when m is odd. test ::: a^m mod n and keep squaring until we get 1 (or past n-1). go back one step, and check if it was -1 (if so, probably prime, if not, then it is composite)

so my homework. I am kinda confused.

I was given this algorithm for the strong primality test

Code:
n-1 = m2^k
A = a^m mod n
if( A=1 )
  "maybe prime
else
  while( A^2 mod n != 1 )
  {
     A = A^2 mod n
  }
  if( A = -1 )
     "maybe prime"
  else
      "composite"

my question is, where does m and k come from??

i been looking at my notes over and over again ... i did read that m is odd, so I can just choose any random odd number ? but then k ? what number is that?

i am kinda lost ...

other notes that i have:

write n-1 = 2^k m
check 2^m, (2^n)^2, ... , (2^m)^(2^k)
if 2^m mod n = 1, n is like a prime. otherwise find first j so that:
(2^m)^(2^j) != 1 and
(2^m)^(2^j+1) = 1
then 2^(m2^j) is a root of x^2-1 =0
if 2^(m2^j) = -1, n is like a prime, if not, n is composite ...

can anyone help??

he went over this in like 1 day, way back in the beginning of the semester, and he just gave us this assignment ... would like any help in understanding this, so I could program this (the assignment is to program numbers that pass weak test, but fail strong test) ...

i don't know where m and k come from, which is what is keeping me from finishing the program ...

grrrrrr
 
Physics news on Phys.org
bump ...

anyone?
 
ANYONE? bump one last time as its due tomorrow and I am still stuck
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 10 ·
Replies
10
Views
4K
Replies
30
Views
2K
  • · Replies 29 ·
Replies
29
Views
8K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 1 ·
Replies
1
Views
1K