number theory in cryptography
DESCRIPTION
A short poster on key fields of number theory in CryptographyTRANSCRIPT
General Number Theoretic Tools I used for programming Cryptographic Algorithms
MODULAR ARITHMETIC
The set of integers mod n is the set of remainders when the set of integers is divided by “n”. Performing operations under this
modulus is important because it constrains the set of integers so the message can be decrypted.
Example: Z / 12 Z = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }
What is number theory and what are the key topics in Crypto?
Number theory is the study of integers, and their properties
Modular arithmetic PrimalityDivisibility
Functions Inverse functions Base systems
Algorithms
Elliptic Curves
13 + 5 mod 12 = 18 mod 12 = 6 mod 12
12- 13 mod 12 = (-1) mod 12 = 11 mod 12
The Fundamental Theorem of Arithmetic
“Unique Prime Factorisation”
All integers “n” are written uniquely as a product of their prime factors, e.g. 12 = 2*2*3
Its application to cryptography:
It can be computationally unfeasible to deduce the prime factors of large keys, if the product of only several prime numbers, can be hard to deduce because each number has
to be trialled computationally
Base Number Systems and Lettering
A different way of expressing quantity, leads to higher efficiency in some cases
Typical alphabet —> Base 26 number system which is converted into base 2 binary
Number “x” in base n = (dkdk-1dk-2….d1d0)n = dknk + dk-1nk-1 + dk-2nk-2 + …+ d1n1 + d0n0
MODULAR multiplicative inverses - an important tool
Coprime integers: where the greatest
common divisor between a and b = 1.
Computational time expressions refer to the amount of operations required
to multiply / add / exponentiate numbers in a relative sense. Because
computers work in BINARY - a bit refers to the amount of digits of a
number in base 2.
Its application to cryptography:Finding inverses are an invaluable tool for decryption, creating asymmetric decryption keys as they can inverse the original key to that the original message is recovered (used in the
RSA encryption algorithm, and decrypting affine-encrypted messages)
The mod inverse “x” of “a” is the integer x such that ax = 1 (mod b). In other words, ax = nb + 1, where a has to be coprime to b.
Inverses can be calculated using Euclid’s extended
algorithm. Inverses are also useful for
performing calculations on elliptic curves (mod prime).