15cs434e Unit-2
15cs434e Unit-2
15cs434e Unit-2
2
Mathematical Background for
Cryptography
Fermat’s and Euler’s Theorems,
Testing for Primality
Prime Numbers
prime numbers only have divisors of 1 and self
they cannot be written as a product of other numbers
note: 1 is prime, but is generally not of interest
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. 300=21x31x52 18=21x32 hence
GCD(18,300)=21x31x50=6
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 have: ap = a (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) ø(p.q)=(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
• also have: aø(n)+1 = a (mod n)
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
PUBLIC KEY CRYPTOGRAPHY
AND RSA