Revision with unchanged content. Authentication is a very old problem. The history of mankind has seen many solutions to this problem, such as relying on guards, spoken passwords, hardto- forge seals, key-operated mechanical locks and so on. With today’s computer based systems, unattended authentication with as little human interaction as possible is essential. This book briefly recalls the main concepts of cryptography and authentication, and then dives into the analysis of a commercial product that the Author developed for a market leader company in the industry of software for finance. The study follows the canonical phases (requirements, specifications, design, implementation and documentation) of software development and takes the reader by hand through the steps. This book is addressed to IT professionals like software engineers, architects and developers. It is also directed to project managers and business analysts.