上QQ阅读APP看书,第一时间看更新
2.2.9 EVP接口
EVP系列的函数定义包含在evp.h里面,这是一系列封装了OpenSSL加密库里面所有算法的函数。通过这样统一的封装,使得只需要在初始化参数的时候做很少的改变,就可以使用相同的代码但采用不同的加解密算法进行数据的加密和解密。
EVP系列函数主要封装了三大类型的算法,即公开密钥算法(也称非对称加密算法)、数字签名算法和对称加密算法(业内一般讲加密算法就是指加解密算法),要支持这些算法,需要调用OpenSSL_addall_algorithms函数。
1.公开密钥算法
函数名称:EVPSeal*...*、EVPOpen*...*。
功能描述:该系列函数封装提供了公开密钥算法的加密和解密功能,实现了电子信封的功能。
相关文件:p_seal、p_open.c。
2.数字签名算法
函数名称:EVP_Sign*...*、EVP_Verify*...*。
功能描述:该系列函数封装提供了数字签名算法的功能。
相关文件:p_sign.c、p_verify.c。
3.对称加密算法
函数名称:EVP_Encrypt*...*。
功能描述:该系列函数封装提供了对称加密算法的功能。
相关文件:evp_enc.c、p_enc.c、p_dec.c、e_*.c。
4.信息摘要算法
函数名称:EVPDigest*...*。
功能描述:该系列函数封装实现了多种信息摘要算法。
相关文件:digest.c、m_*.c。
5.信息编码算法
函数名称:EVPEncode*...*。
功能描述:该系列函数封装实现了ASCII码与二进制码之间的转换函数的功能。