This article will present the reader with a framework for Product Activation. It is a logical conclusion to Product Keys Based on the Advanced Encryption Standard and Product Keys Based on Elliptic Curve Cryptography. The final portion of the series will discuss the following:
- RSA Cryptography
- Compiling and Integrating Crypto++ into the Microsoft Visual C++ Environment
- Product Activation
- Named Pipe Client/Server
- Generating and Serializing RSA Keys
- RSA Signing and Verification Functions
- Product Key Signing
RSA is the work of Ron Rivest, Adi Shamir, and Leonard Adleman. The system was developed in 1977 and patented by the Massachusetts Institute of Technology. Although Rivest, Shamir, and Adleman are generally credited with the discovery, Clifford Cocks (Chief Mathematician at GCHQ—the British equivalent of the NSA) described the system in 1973. However, Cocks did not publish (the work was considered classified), so the credit lies with Rivest, Shamir, and Adleman.
The RSA patent expired in September of 2000, and was subsequently placed in Public Domain. See RSA Security’s Press Release.
Compiling and Integrating Crypto++ into the Microsoft Visual C++ Environment
Please see the related article, “Compiling and Integrating Crypto++ into the Microsoft Visual C++ Environment.” This article is based upon basic assumptions presented in the previously mentioned article. It also addresses most problems encountered with projects from Command Line to MFC (Errors C1083, C1189, LNK1104, LNK2001, and LNK2005). Additionally, it provides some tips and other nicities for using the Crypto++ Library.