《2022年密码算法接口文档 .pdf》由会员分享,可在线阅读,更多相关《2022年密码算法接口文档 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、接口说明概要本接口是基于OpenSSL实现的一套密码算法库,目前提供了AES、DES、MD5、SHA1、RSA和 DSA六种密码算法的算法接口。附带的 test 工程中,有对各个接口的测试代码。接口函数描述1、AES128_ECB_encrypt 函数说明:AES加密,密钥长度128 位,加密模式是ECB模式函数原型:int AES128_ECB_encrypt(unsigned char*key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:AES密钥,长度必须是16 字节input
2、:输入明文inputLen:输入明文的长度output:输出的密文outputLen:输出密文的长度函数返回:执行成功返回0 2、AES128_ECB_decrypt 函数说明:AES解密,密钥长度是128 位,加密模式是ECB模式函数原型:int AES128_ECB_decrypt(unsigned char*key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:AES密钥,长度必须是16 字节input:输入的密文inputLen:输入密文的长度output:输出的明文outpu
3、tLen:输出明文的长度函数返回:执行成功返回0 3、AES128_CBC_encrypt 函数说明:AES加密,密钥长度是128 位,加密模式是CBC模式函数原型:int AES128_CBC_encrypt(unsigned char*key,unsigned char*iv,名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:AES密钥,长度必须是16 字节iv:初始向量,长度必须是16 字节input:输入的明文
4、intputLen:输入的明文的长度output:输出的密文outputLen:输出密文的长度函数返回:执行成功返回0 4、AES128_CBC_decrypt 函数说明:AES解密,密钥长度是128 位,加密模式是CBC模式函数原型:int AES128_CBC_decrypt(unsigned char*key,unsigned char*iv,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:AES密钥,长度必须是16 字节iv:初始向量,长度必须是16 字节input:输入的密文i
5、ntputLen:输入密文的长度output:输出的明文outputLen:输出明文的长度函数返回:执行成功返回0 5、DES_ECB_encrypt 函数说明:DES加密,加密模式是ECB模式函数原型:int DES_ECB_encrypt(unsigned char*key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:DES密钥,长度必须是8 字节input:输入的明文inputLen:输入的明文的长度output:输出的密文outputLen:输出密文的长度函数返回:名师资料总
6、结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -执行成功返回0 6、DES_ECB_decrypt 函数说明:DES解密,加密模式是ECB模式函数原型:int DES_ECB_decrypt(unsigned char*key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:DES密钥,长度必须是8 字节input:输入的密文inputLen:输入密文的长度output:输出的明文outputLen:输出明文的长度函数返回:执行成功返回0 7、DES_CBC_encrypt
7、 函数说明:DES加密,加密模式是CBC模式函数原型:int DES_CBC_encrypt(unsigned char*key,unsigned char*iv,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:DES密钥,长度必须是8 字节iv:初始向量,长度必须是8 字节input:输入的明文inputLen:输入明文的长度output:输出的密文outputLen:输出密文的长度函数返回:执行成功返回0 8、DES_CBC_decrypt 函数说明:DES解密,加密模式是CBC模式
8、函数原型:int DES_CBC_decrypt(unsigned char*key,unsigned char*iv,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:DES密钥,长度必须是8 字节iv:初始向量,长度必须是8 字节名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -input:输入的密文inputLen:输入密文的长度output:输出的明文outputLen:输出明文的长度函数返回:执行成功返回0 9、MD5 函数说明:生成MD5 摘要函数原型:i
9、nt MD5(unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:input:原文inputLen:原文长度output:输出的摘要outputLen:输出摘要的长度函数返回:执行成功返回0 10、SHA1 函数说明:生成SHA1摘要函数原型:int SHA1(unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:input:原文inputLen:原文长度output:输出的摘要outputLen:输出摘要
10、的长度函数返回:执行成功返回0 11、RSA1024_generateKey 函数说明:生成RSA密钥对,长度是1024 位函数原型:int RSA1024_generateKey(RSAKey*key);输入参数:key:输出的RSA密钥对句柄函数返回:执行成功返回0 12、RSA1024_freeKey 函数说明:释放RSA密钥对句柄函数原型:int RSA1024_freeKey(RSAKey*key);输入参数:key:RSA密钥对句柄名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 7 页 -函数返回:执行成功返回0 13、RSA1024_privateKeyEnc 函数
11、说明:RSA私钥加密函数原型:int RSA1024_privateKeyEnc(RSAKey key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:RSA密钥对句柄input:输入的明文inputLen:输入明文的长度,必须小于128 字节output:输出的密文outputLen:输出密文的长度函数返回:执行成功返回0 14、RSA1024_privateKeyDec 函数说明:RSA私钥解密函数原型:int RSA1024_privateKeyDec(RSAKey key,uns
12、igned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:RSA密钥对句柄input:输入的密文inputLen:输入密文的长度output:输出的明文outputLen:输出明文的长度函数返回:执行成功返回0 15、RSA1024_publicKeyEnc 函数说明:RSA公钥加密函数原型:int RSA1024_publicKeyEnc(RSAKey key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入
13、参数:key:RSA密钥对句柄input:输入的明文inputLen:输入明文的长度,必须小于128 字节output:输出的密文名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -outputLen:输出密文的长度函数返回:执行成功返回0 16、RSA1024_publicKeyDec 函数说明:RSA公钥解密函数原型:int RSA1024_publicKeyDec(RSAKey key,unsigned char*input,int inputLen,unsigned char*output,int*outputLen);输入参数:key:RSA密钥对句柄input:
14、输入的密文inputLen:输入密文的长度output:输出的明文outputLen:输出明文的长度函数返回:执行成功返回0 17、DSA_generateKey 函数说明:生成DSA密钥对函数原型:int DSA_generateKey(DSAKey*key);输入参数:key:输出的DSA密钥对句柄函数返回:执行成功返回0 18、DSA_freeKey 函数说明:释放DSA密钥对句柄函数原型:int DSA_freeKey(DSAKey key);输入参数:key:DSA密钥对句柄函数返回:执行成功返回0 19、DSA_dosign 函数说明:DSA签名函数原型:int DSA_dosig
15、n(DSAKey key,unsigned char*dgst,int dgstLen,unsigned char*sig,int*sigLen);输入参数:key:DSA密钥对句柄dgst:输入的摘要dgstLen:摘要长度sig:输出的签名值名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -sigLen:签名长度函数返回:执行成功返回0 20、DSA_doverify 函数说明:DSA验签函数原型:int DSA_doverify(DSAKey key,unsigned char*dgst,int dgstLen,unsigned char*sig,int sigLen);输入参数:key:DSA密钥对句柄dgst:输入的摘要dgstLen:摘要长度sig:输入的签名值sigLen:签名长度函数返回:验签成功返回0,否则返回非0 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -