058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用

定义

加密:在密码学中,加密是将明文信息隐匿起来,使之在缺少特殊信息时不可读。

加密(encryption)算法:将普通信息(明文,plaintext)转换成难以理解的资料(密文,ciphertext)的过程;解密(decryption)算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt或encipher)与解密(decrypt或decipher)的技术。

加密算法分类

对称加密算法

加解密使用相同的密钥。

速度快。

DES

3DES

AES

TDEA

Blowfish

RC5

IDEA

非对称加密算法

加解密使用不同的密钥。

公钥和私钥。

可以实现签名。

RSA

DSA

ECC

散列算法

不可逆。

MD5

SHA

如何选择

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第1张图片

加密库

botan

crypto++

tomcrypt

openssl

MCrypt

Cryptlib
--- new added begin
PolarSSL
yaSSL
GnuPG 
--- new added end

这里列出了很多:http://www.homeport.org/~adam/crypto/

Botan

官网

http://botan.randombit.net/

编译

环境:Visual C++ 2008 sp1

1.11.0及之后版本需要支持c++11的编译器。

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第2张图片

下载1.10.2源码:http://botan.randombit.net/files/Botan-1.10.2.tgz

解压。

安装python:我安装的python27。

编译:

运行wps_clip_image-24296

wps_clip_image-4558

wps_clip_image-2685

wps_clip_image-25783 可选。

wps_clip_image-24551

install之后会在系统盘产生。

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第3张图片

产生doxygen文档

需要下载 http://www.doxygen.nl/

需要注意的是Botan的Doxygen是1.5.4版本的,最好就下载doxygen1.5.4版本。(我下载了最新的1.8版本,结果生成文档有错误。)

官网说通过nmake可以,不过无所谓了。

直接调用doxygen就能生成了。

wps_clip_image-14221

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第4张图片

打开这个目录下的index.html即可。

The Amalgamation Build

(混合版本?不知道怎么翻译)

wps_clip_image-32550

这样产生两个文件。

可以直接编译进我们的工程中。

wps_clip_image-13004

例子

参考http://botan.randombit.net/firststep.html

使用Botan的关键,理解filters:http://botan.randombit.net/filters.html

base64的编码与解码:

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第5张图片

更多例子

058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用_第6张图片

参考资料

http://wenku.baidu.com/view/679dd5dad15abe23482f4d1a.html

http://zh.wikipedia.org/wiki/%E5%AF%86%E7%A0%81%E5%AD%A6

你可能感兴趣的:(058 - 问,加密算法有哪些?加密库有哪些?Botan入门使用)