Cryptography in C and C++ mainly focuses on the practical aspects involved in implementing public key cryptography methods, such as the RSA algorithm that was recently released from patent protection.
Part I - Arithmetic and Number Theory in C
Chapter 1 - Introduction
Chapter 2 - Number Formats: The Representation of Large Numbers in C
Chapter 3 - Interface Semantics
Chapter 4 - The Fundamental Operations
Chapter 5 - Modular Arithmetic: Calculating with Residue Classes
Chapter 6 - Where All Roads Meet: Modular Exponentiation
Chapter 7 - Bitwise and Logical Functions
Chapter 8 - Input, Output, Assignment, Conversion
Chapter 9 - Dynamic Registers
Chapter 10 - Basic Number-Theoretic Functions
Chapter 11 - Large Random Numbers
Chapter 12 - Strategies for Testing LINT
Part II - Arithmetic in C++ with the Class LINT
Chapter 13 - Let C++ Simplify Your Life
Chapter 14 - The LINT Public Interface: Members and Friends
Chapter 15 - Error Handling
Chapter 16 - An Application Example: The RSA Cryptosystem
Chapter 17 - Do It Yourself: Test LINT
Chapter 18 - Approaches for Further Extensions
Chapter 19 - Rijndael: A Successor to the Data Encryption Standard
Part III - Appendices
Appendix A - Directory of C Functions
Appendix B - Directory of C++ Functions
Appendix C - Macros
Appendix D - Calculation Times
Appendix E - Notation
Appendix F - Arithmetic and Number-Theoretic Packages
References
This book offers a comprehensive, yet relentlessly practical overview of the fundamentals of modern cryptography. It includes a wide-ranging library of code in C and C++, including the RSA algorithm, completed by an extensive Test Suite that proves that the code works correctly. Readers will learn, step by step, how to implement a platform independent library for the all-important multi-precision arithmetic used in modern cryptography. This is followed by an implementation of the cryptographic algorithms themselves.