rsa算法是一种非常安全的不对称密钥加密算法,是很多密码产品和安全软件的基础,在共享软件使用rsa算法的私钥产生注册码,能有效抵御破解。
rsa算法的安全性取决于密钥的长度,最少需要1024位,而编译器提供的数据范围,最大也只有64位,即使浮点数,也远远无法满足算法的要求,这就必须使用大数运算库。
gmp是非常优秀的大数运算库,但是它并不是转为vc设计,想要在vc中使用,尤其是vs2010环境中使用,配置非常麻烦,这花了我一周的时间,才链接配置成功,在此记录下来配置方法,一方面是为了加强自己的记忆,另一方面是为了帮助有需要的朋友。
配置方法在vs2010,unicode编码下,debug和release模式下编译成功,详细配置方法在文件中,源代码包括rsa加密解密代码,你可以直接拷贝到自己的代码中。
rsa公钥私钥的生成可参考rsatool软件。
1