Abstract Algebra And Cryptography