Algebraic Curves and Finite Fields:Cryptography and Other Applications