OpenSSL/GMSSL EVP接口说明——1.5 加密接口的说明

1.5 加密接口的说明

EVP_EncryptInit

int   EVP_EncryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, const unsigned char *key, const unsigned char *iv);

功能描述:   加密初始化

    :   EVP_ EncryptInit_ex的简化版本(无ENGINE),实际调用

EVP_CipherInit(*,1).

参数说明:

       ctx         (in/out)  对称算法封装数据

       cipher    (in)        密码算法信息

       key        (in)        密钥

       iv           (in)        初始化向量

:   1[成功],<=0[失败]

EVP_EncryptInit_ex

int   EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv);

功能描述:   加密初始化

    :   EVP_ EncryptInit的增强版(有ENGINE),实际调用EVP_CipherInit_ex(*,1).

参数说明:

       ctx         (in/out)  对称算法封装数据

       cipher    (in)        密码算法信息

       impl       (in)        引擎

       key        (in)        密钥

       iv           (in)        初始化向量

:   1[成功],<=0[失败]

EVP_EncryptUpdate

int   EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl);

功能描述:   加密数据

    :   输入数据长度不一定为分组大小,所以输出数据长度可能为零。

参数说明:

       ctx         (in/out)  对称算法封装数据

       out         (out)      密文

       outl        (out)      密文的长度

       in           (in)        明文

       inl          (in)        明文的长度

:   1[成功],<=0[失败]

EVP_EncryptFinal

int   EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);

功能描述:   加密结束并输出可能的残留数据

    :   实际调用EVP_EncryptFinal_ex。

参数说明:

       ctx         (in/out)  对称算法封装数据

       outm      (out)      输出密文

       outl        (out)      输出密文的长度

:   1[成功],<=0[失败]

EVP_EncryptFinal_ex

int   EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);

功能描述:   加密结束并输出可能的残留数据

    :   EVP_EncryptFinal也是调用EVP_EncryptFinal_ex。

参数说明:

       ctx         (in/out)  对称算法封装数据

       outm      (out)      输出密文

       outl        (out)      输出密文的长度

:   1[成功],<=0[失败]

posted @ 2023-04-04 20:46  艾米的爸爸  阅读(1)  评论(0)    收藏  举报  来源