guide to computer security and cryptography 5129941