Vector - CAPL - AES算法介绍(续1)

        前面介绍了CAPL自带函数库中包含的AES相关的4种算法,今天咱们介绍下CAPL库包含的一些其他的低级加密函数。

Vector - CAPL - AES算法介绍(续1)_第1张图片

目录

SecurityLocalGenerateSHA256

代码示例

SecurityLocalGenerateSHA512

代码示例

SecurityLocalGenerateCMAC

SecurityLocalGenerateSharedSecretECDH


SecurityLocalGenerateSHA256

功能:将给定的数据和秘钥,生成哈希256的加密数据

data[]:待加密的数据

dataLength:待加密的数据长度

sha256[]:加密完成的sha256数据

sha256Length:加密完成的数据长度

 返回值:

        1:加密成功

        <=0:加密失败

代码示例

	
byte data[3] = { 0x61, 0x62, 0x63 };
byte refOutput[32] ={
0xba, 0x78, 0x16, 0xbf,
0x8f, 0x01, 0xcf, 0xea,
0x41, 0x41, 0x40, 0xde,
0x5d, 0xae, 0x22, 0x23,
0xb0, 0x03, 0x61, 0xa3,
0x96, 0x17, 0x7a, 0x9c,
0xb4, 0x10, 0xff, 0x61,
0xf2, 0x00, 0x15, 0xad
};

dword refOutputLength = 32;
byte output[32];
dword outputLength = 32;
dword result = 255;
dword counter = 0;
result = SecurityLocalGenerateSHA256(data, elCount(data), output, outputLength);

SecurityLocalGenerateSHA512

功能:将给定的数据和秘钥,生成哈希512的加密数据

data[]:待加密的数据

dataLength:待加密的数据长度

sha256[]:加密完成的sha512数据

sha256Length:加密完成的数据长度

 返回值:

        1:加密成功

        <=0:加密失败

代码示例

byte data[3] = { 0x61, 0x62, 0x63 };
byte refOutput[64] ={
  0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba
  , 0xcc, 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31
  , 0x12, 0xe6, 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2
  , 0x0a, 0x9e, 0xee, 0xe6, 0x4b, 0x55, 0xd3, 0x9a
  , 0x21, 0x92, 0x99, 0x2a, 0x27, 0x4f, 0xc1, 0xa8
  , 0x36, 0xba, 0x3c, 0x23, 0xa3, 0xfe, 0xeb, 0xbd
  , 0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c, 0xe8, 0x0e
  , 0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4, 0x9f
};

dword refOutputLength = 64;
byte output[64];
dword outputLength = 64;
dword result = 255;
dword counter = 0;
result = SecurityLocalGenerateSHA512(data, elCount(data), output, outputLength);

SecurityLocalGenerateCMAC

功能:为给定的数据和密钥生成哈希,生成一个CMAC的哈希数据。

key[]:使用加密的key

keyLength:key的长度

data[]:待加密的数据

dataLength:待加密的数据长度

cmac[][out]:加密完成的CMAC数据

sha256Length[In/Out]:加密完成的数据长度

 返回值:

        1:加密成功

        <=0:加密失败

SecurityLocalGenerateSharedSecretECDH

 功能:使用椭圆曲线Diffie-Hellman(ECDH)协议(X25519)生成共享密钥。

publicKey[]:A的公钥

publicKeyLength:A的公钥长度

privateKey[]:B的公钥

privateKeyLength:B的公钥长丢

sharedSecret[]:生成的加密数据

sharedSecretLength [In/Out]:生成的加密数据长度+输入长度

返回值:

        1:成功生成加密数

        <=0:生成加密数据失败

你可能感兴趣的:(CAPL入门到入坑,哈希算法,CAPL,DLL,vTESTstudio)