Finite Fields and their Applications