An introduction to applied cryptography and information security suitable for programmers of all ages and skill levels.