Codes And Ciphers by Adrian Gilbert & Adrian D. Gilbert