第二十一章 EVP / 21.5 对称加解密函数

典型的加解密函数主要有:

1  EVP_CIPHER_CTX_init

初始化对称计算上下文。

2  EVP_CIPHER_CTX_cleanup

清除对称算法上下文数据,它调用用户提供的销毁函数销清除存中的内部密钥以及其他数据。

 

       3  EVP_des_ede3_ecb

              返回一个EVP_CIPHER

       4)    EVP_EncryptInitEVP_EncryptInit_ex

加密初始化函数,本函数调用具体算法的init回调函数,将外送密钥key转换为内部密钥形式,将初始化向量iv拷贝到ctx结构中。

       5  EVP_EncryptUpdate

              加密函数,用于多次计算,它调用了具体算法的do_cipher回调函数。

       6  EVP_EncryptFinalEVP_EncryptFinal_ex

              获取加密结果,函数可能涉及填充,它调用了具体算法的do_cipher回调函数。

       7  EVP_DecryptInitEVP_DecryptInit_ex

              解密初始化函数。

       8  EVP_DecryptUpdate

              解密函数,用于多次计算,它调用了具体算法的do_cipher回调函数。

       9  EVP_DecryptFinalEVP_DecryptFinal_ex

              获取解密结果,函数可能涉及去填充,它调用了具体算法的do_cipher回调函数。

       10EVP_BytesToKey

计算密钥函数,它根据算法类型、摘要算法、salt以及输入数据计算出一个对称密钥和初始化向量iv

       11PKCS5_PBE_keyivgenPKCS5_v2_PBE_keyivgen

              实现了PKCS5基于口令生成密钥和初始化向量的算法。

       12PKCS5_PBE_add

              加载所有openssl实现的基于口令生成密钥的算法。

       13EVP_PBE_alg_add

              添加一个PBE算法。