Cryptopp 加密库 RSA 加密算法的 入门指引

导读

  由于使用需要,进来开始接触 Windows 平台下 C++编程开发使用的 RSA 加密算法。先是接触了 微软提供的 RSA Cryptography(位于头文件 wincrypt.h 下),主要的接口有 CryptExportKey,CryptEncrypt,CryptImportKey , CryptBinaryToString 等,虽然网上有人提供了部分使用示例,如这里这里,官网也有相关接口的说明和例子,  然而或许是个人初步接触,水平有限(相关知识和英文水平),入门起来还是有些痛苦,没有一个快速能够上手的条件。

      在将目光转向了另一个 C++ 开源库 Crypto++ 。Crypto++是一个开源的C++加密算法库,它包括密码、消息认证码,单向散列函数,公钥密码机制,关键协议方案,缩小压缩等加密算法。

      出乎意料的是,对于初学者上手来说,相比于Win32 提供的接口,操作起来则容易很多。官方提供 windows 平台下 Visual Studio 的 sln 解决方案,极大减小了刚接触入门者编译和运行测试的门槛。

      本文简单记录 自己如何 下载 和 使用 Cryptopp 库的过程,希望为有有关需要的人提供一个参考。 


目录
  1. 环境 和 软件
  2. 项目下载 与 编译测试
  3. 参考链接
1、环境 和 软件

开发平台:Windows

开发工具:Visual Studio 2015

加密算法库:Cryotopp : https://www.cryptopp.com/

2、项目下载与编译测试

由于 Cryotopp 库自带提供了很多测试用例、以及自带 Visual Studio 解决方案 sln 的配置,实际上整个过程变得非常简单

(1)从官方下载 Release 发布包

访问官网:https://www.cryptopp.com/ ,点击 Download 链接

 在列表中下载特定的版本的 Release

(2)使用 Visual Studio 打开 sln 项目

解决方案下有 4 个项目: 

 其中,cryptdll 项目将生成动态 dll;   cryptlib 项目用于生成静态 lib

dlltest 用于 测试 cryptdll;  cryptest 则提供了大量的测试用例,用于测试。

(3)RSA 的测试和使用

进入 cryptest 项目,可通过命令行指令,测试 生成 公钥和秘钥、进行加密和解密测试

参数设置 g 测试生成公钥和秘钥

输入长度,私钥公钥的存储位置 和  秘钥种子,便可完成秘钥的生成

参数设置 r 测试使用公钥加密,和使用秘钥解密

指定 秘钥的位置,输入 加密的消息 即可进行测试加密和解密

 

3、参考链接

关于cryptopp加密库RSA加密算法的简单应用

visual studio c++ 2015 Crypto++ 下载、编译和部署

关于 秘钥种子


版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者 BensonLaur  和本文原始地址:
原文地址:https://www.cnblogs.com/BensonLaur/p/14570188.html