openssl之EVP系列之1---算法封装

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

openssl之EVP系列之1---算法封装

---根据openssl doc\crypto\EVP.pod翻译和自己的理解写成

(作者:DragonKing, Mail: wzhah@263.net ,发布于:http://openssl.126.com 之openssl专业论坛,版本:openssl-0.9.7)

EVP系列的函数定义包含在"evp.h"里面,这是一系列封装了openssl加密库里面所有算法的函数。通过这样的统一的封装,使得只需要在初始化参数的时候做很少的改变,就可以使用相同的代码但采用不同的加密算法进行数据的加密和解密。

EVP系列函数主要封装了三大类型的算法,要支持全部这些算法,请调用OpenSSL_add_all_algorithms函数,下面分别就其结构作一个简单的介绍。

【公开密钥算法】

函数名称:EVP_Seal*...*,EVP_Open*...*

功能描述:该系列函数封装提供了公开密钥算法的加密和解密功能,实现了电子信封的功能。

相关文件:p_seal.c,p_open.c

【数字签名算法】

函数名称:EVP_Sign*...*,EVP_Verify*...*

功能描述:该系列函数封装提供了数字签名算法和功能。

相关文件:p_sign.c,p_verify.c

【对称加密算法】

函数名称:EVP_Encrypt*...*

功能描述:该系列函数封装提供了对称加密算法的功能。

相关文件:evp_enc.c,p_enc.c,p_dec.c,e_*.c

【信息摘要算法】

函数名称:EVP_Digest*...*

功能描述:该系列函数封装实现了多种信息摘要算法。

相关文件:digest.c,m_*.c

【信息编码算法】

函数名称:EVP_Encode*...*

功能描述:该系列函数封装实现了ASCII码与二进制码之间的转换函数和功能。

相关文件:encode.c

注意:

自从出现engin版本以后,所有对称加密算法和摘要算法可以用ENGINE模块实现的算法代替。如果ENGINE模块实现的对称加密和信息摘要函数被注册为缺省的实现算法,那么当使用各种EVP函数时,软件编译的时候会自动将该实现模块连接进去。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有