Secure Programming Cookbook for C and C++: Recipes for Cryptography, Authentication, Input Validation & More