EVP_Encrypt支持的对称加密算法列表

作者在 2006-11-22 22:44:00 发布以下内容

openssl之EVP系列之3---EVP_Encrypt支持的对称加密算法列表
    ---根据openssl doc\crypto\EVP_EncryptInit.pod和doc\ssleay.txt cipher.doc部分翻译和自己的理解写成
作者:DragonKing

Mail: wzhah@263.net

发布于:http://openssl.126.com 之openssl专业论坛

版本:openssl-0.9.7
    openssl对称加密算法的格式都以函数形式提供,其实该函数返回一个该算法的结构体,其形式一般如下:
    EVP_CIPHER* EVP_*(void)
    在openssl中,所有提供的对称加密算法长度都是固定的,有特别说明的除外。下面对这些算法进行分类的介绍,首先介绍一下算法中使用的通用标志的含义。
【通用标志】
    ecb——电子密码本(Electronic Code Book)加密方式
    cbc——加密块链接(Cipher Block Chaining)加密方式
    cfb——64位加密反馈(Cipher Feedback)加密方式
    ofb——64位输出反馈(Output Feedback)加密方式
    ede——该加密算法采用了加密、解密、加密的方式,第一个密钥和最后一个密钥是相同的
    ede3——该加密算法采用了加密、解密、加密的方式,但是三个密钥都不相同
    
    【NULL算法】
    函数:EVP_enc_null()
    说明:该算法不作任何事情,也就是没有进行加密处理
    【DES算法】
    函数:EVP_des_cbc(void), EVP_des_ecb(void), EVP_des_cfb(void), EVP_des_ofb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的DES算法
    
    【使用两个密钥的3DES算法】
    函数:EVP_des_ede_cbc(void), EVP_des_ede(), EVP_des_ede_ofb(void),EVP_des_ede_cfb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的3DES算法,算法的第一个密钥和最后一个密钥相同,事实上就只需要两个密钥
    
    【使用三个密钥的3DES算法】
    函数:EVP_des_ede3_cbc(void), EVP_des_ede3(), EVP_des_ede3_ofb(void), EVP_des_ede3_cfb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的3DES算法,算法的三个密钥都不相同
    
    【DESX算法】
    函数:EVP_desx_cbc(void)
    说明:CBC方式DESX算法
    
    【RC4算法】
    函数:EVP_rc4(void)
    说明:RC4流加密算法。该算法的密钥长度可以改变,缺省是128位。
    
    【40位RC4算法】
    函数:EVP_rc4_40(void)
    说明:密钥长度40位的RC4流加密算法。该函数可以使用EVP_rc4和EVP_CIPHER_CTX_set_key_length函数代替。
    
    【IDEA算法】
    函数:EVP_idea_cbc(),EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的IDEA算法。
    
    【RC2算法】
    函数:EVP_rc2_cbc(void), EVP_rc2_ecb(void), EVP_rc2_cfb(void), EVP_rc2_ofb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的RC2算法,该算法的密钥长度是可变的,可以通过设置有效密钥长度或有效密钥位来设置参数来改变。缺省的是128位。
    
    【定长的两种RC2算法】
    函数:EVP_rc2_40_cbc(void), EVP_rc2_64_cbc(void)
    说明:分别是40位和64位CBC模式的RC2算法。
    
    【Blowfish算法】
    函数:EVP_bf_cbc(void), EVP_bf_ecb(void), EVP_bf_cfb(void), EVP_bf_ofb(void)
    说明:分别是CBC方式、ECB方式、CFB方式以及OFB方式的Blowfish算法,该算法的密钥长度是可变的
 &n

(编程)Work | 阅读 1865 次
文章评论,共0条
游客请输入验证码
浏览317349次