Cryptography Engineering is the classic. Serious Cryptography is also good and more recent.
I liked Cryptography Engineering ("Practical Cryptography") but it definitely doesn't hold up; it was obsolete by 2010. You'd get yourself in trouble implementing from it today.