Introduction to cryptography with mathematical foundations and computer implementations - Stanoyevitch, Alexander (Discrete mathematics and its applications, 2011)