This book forms a good introduction to cryptography and protocols for the beginner. This book has a little bit of math, a little bit of practice, and some very good examples. For example, this book actually has a worked example with real data for DES -- a real boon for someone trying to implement and understand the algorithm for the first time. The writing is quite clear and the math is well thought out with an eye to making sure that beginners will understand. This book is more practical than Trappe's book but less practical than Schneier's book for the modern software developer or user of cryptography.