This Crypto++ User Guide was originally written by Denis Bider, who has given permission for it to be incorporated into this Wiki, to be modified and updated as needed by the Crypto++ user community. The original guide is also available in ZIP format for download: Original User Guide, but please note that it was written for Crypto++ version 4.x, and does not include updates made on this Wiki.
This guide was written in order to demonstrate the capabilities of the Crypto++ library and to show how its features can be integrated into practical applications. To make the most of this guide, you should be:
- fairly proficient in C++, and
- acquainted with basic cryptographic techniques.
This guide does not attempt to teach what cryptography is, or how to use it properly. Learning cryptography takes time, and there are books and resources available that teach this subject very well.
I therefore assume that you are well acquainted with cryptography, and will try to show how you can use the Crypto++ library to achieve your objectives. Since Crypto++ is a moving target, this guide is arranged primarily as a user's guide; it would be impossible to provide a normative reference without a serious devotion of sustained effort. I therefore recommend that you learn to use Crypto++ source files as your primary reference, and only use this guide to help you in your initial orientation.