Skip to main content
Cryptography and
Network Security
Prime Numbers
 prime numbers only have divisors of 1 and self
 they cannot be written as a product of other numbers
 eg. 2,3,5,7 are prime, 4,6,8,9,10 are not
 prime numbers are central to number theory
 list of prime number less than 200 is:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
61 67 71 73 79 83 89 97 101 103 107 109 113 127
131 137 139 149 151 157 163 167 173 179 181 191
193 197 199
Prime Factorisation
 to factor a number n is to write it as a
product of other numbers: n=a x b x c
 note that factoring a number is relatively
hard compared to multiplying the factors
together to generate the number
 the prime factorisation of a number n is
when its written as a product of primes
 eg. 91=7x13 ; 3600=24x32x52
Relatively Prime Numbers &
GCD
 two numbers a, b are relatively prime if have
no common divisors apart from 1
 eg. 8 & 15 are relatively prime since factors of 8 are
1,2,4,8 and of 15 are 1,3,5,15 and 1 is the only
common factor
 conversely can determine the greatest common
divisor by comparing their prime factorizations
and using least powers
 Eg.18=21x32
Fermat's Theorem
 ap-1 = 1 (mod p)
 where p is prime and gcd(a,p)=1
 also known as Fermat’s Little Theorem
 also ap = p (mod p)
 useful in public key and primality testing
Euler Totient Function ø(n)
 when doing arithmetic modulo n
 complete set of residues is: 0..n-1
 reduced set of residues is those numbers
(residues) which are relatively prime to n
 eg for n=10,
 complete set of residues is {0,1,2,3,4,5,6,7,8,9}
 reduced set of residues is {1,3,7,9}
 number of elements in reduced set of residues is
called the Euler Totient Function ø(n)
Euler Totient Function ø(n)
 to compute ø(n) need to count number of
residues to be excluded
 in general need prime factorization, but
 for p (p prime) ø(p) = p-1
 for p.q (p,q prime) ø(pq) =(p-1)x(q-1)
 eg.
ø(37) = 36
ø(21) = (3–1)x(7–1) = 2x6 = 12
Euler's Theorem
 a generalisation of Fermat's Theorem
 aø(n) = 1 (mod n)
 for any a,n where gcd(a,n)=1
 eg.
a=3;n=10; ø(10)=4;
hence 34 = 81 = 1 mod 10
a=2;n=11; ø(11)=10;
hence 210 = 1024 = 1 mod 11
Primality Testing
 often need to find large prime numbers
 traditionally sieve using trial division
 ie. divide by all numbers (primes) in turn less than the
square root of the number
 only works for small numbers
 alternatively can use statistical primality tests
based on properties of primes
 for which all primes numbers satisfy property
 but some composite numbers, called pseudo-primes,
also satisfy the property
 can use a slower deterministic primality test
Prime Distribution
 prime number theorem states that primes
occur roughly every (ln n) integers
 but can immediately ignore evens
 so in practice need only test 0.5 ln(n)
numbers of size n to locate a prime
 note this is only the “average”
 sometimes primes are close together
 other times are quite far apart
Chinese Remainder Theorem
 used to speed up modulo computations
 if working modulo a product of numbers
 eg. mod M = m1m2..mk
 Chinese Remainder theorem lets us work
in each moduli mi separately
 since computational cost is proportional to
size, this is faster than working in the full
modulus M
Chinese Remainder Theorem
 can implement CRT in several ways
 to compute A(mod M)
 first compute all ai = A mod mi separately
 determine constants ci below, where Mi = M/mi
 then combine results to get answer using:
Primitive Roots
 from Euler’s theorem have aø(n)mod n=1
 consider am=1 (mod n), GCD(a,n)=1
 must exist for m = ø(n) but may be smaller
 once powers reach m, cycle will repeat
 if smallest is m = ø(n) then a is called a
primitive root
 if p is prime, then successive powers of a
"generate" the group mod p
 these are useful but relatively hard to find
Discrete Logarithms
 the inverse problem to exponentiation is to find
the discrete logarithm of a number modulo p
 that is to find x such that y = gx (mod p)
 this is written as x = logg y (mod p)
 if g is a primitive root then it always exists,
otherwise it may not, eg.
x = log3 4 mod 13 has no answer
x = log2 3 mod 13 = 4 by trying successive powers
 whilst exponentiation is relatively easy, finding
discrete logarithms is generally a hard problem
Summary
 have considered:
 prime numbers
 Fermat’s and Euler’s Theorems & ø(n)
 Primality Testing
 Chinese Remainder Theorem
 Discrete Logarithms