Cryptography and Network Security
finite fields
Finite fields are becoming increasingly important in cryptography. Several modern cryptographic algorithms rely on computations in various finite fields, among them are AES and elliptic curve cryptography. Here, AES uses arithmetic in the finite field GF(28). All encryption algorithms whether symmetric key or public-key encryption involve arithmetic operations on integers. If we decide to work on n-bit integers, for efficiency of storage we would like to be able to use all integers on n-bits. This in turn means we have to do operations on integers from 0 to 2^(n-1) . We need finite fields having p^n elements, with p a prime number. The concepts needed for the basic understanding of AES are:
-Groups, rings, fields
Group(G, Â¢,e): a set G with a binary operation Â¢and an element ebelongs to G satisfying the Associativity, Identity element, and inverse element laws
-Divisors, modular arithmetic
Ring(R,+,Â¢,0): a set R with two binary operations + and Â¢satisfying the commutative, associative and distributive laws.
-Euclidâ„¢s algorithm
Euclid's Algorithmto compute gcd(a,b) â€œEuclid(a,b) (assume b>0) is summarised as:
If b=0 then return a
Else return Euclid(b,a mod b)
-Polynomial arithmetic
Ordinary polnomial arithmetic include Adding/subtracting two polynomials which is done by adding/subtracting the corresponding coefficients
-Multiplyingtwo polynomials which is done in the usual way, by multiplying all terms with each other
-Division(not necessarily exact) of two polynomials can also be defined if the coefficients are in a field.
Computational considerations
In computer implementations of the above operations,
Addition of polynomials becomes bitwise XOR of their n-bit representations and Multiplication is shift & XOR: example for GF(2^8) with m(x)=x8+x4+x3+x+1 (AES).
[attachment=1150]
for more details, visit this thread also:
http://www.seminarprojects.org/t-Cryptography--5386