Parent topic:MPLAB® Harmony Crypto Library
int CRYPT_TDES_IvSet(
CRYPT_TDES_CTX* tdes,
const unsigned char* iv
);
This function changes the initialization vector (IV) of a TDES context, but leaves the key alone.
None.
Parameters | Description |
---|---|
tdes | Pointer to context which saves state between calls. |
iv | Pointer to buffer holding the initialization vector. Must be 8 bytes in size. |
-
BAD_FUNC_ARG - An invalid pointer was passed to the function.
-
0 - An invalid pointer was not passed to the function.
The IV must be 8 bytes long.
CRYPT_TDES_CTX mcDes3;
int ret;
byte out1[TDES_SIZE];
byte out2[TDES_SIZE];
strncpy((char*)key, "1234567890abcdefghijklmn", 24);
strncpy((char*)iv, "12345678", 8);
ret = CRYPT_TDES_KeySet(&mcDes3, key, iv, CRYPT_TDES_ENCRYPTION);
ret = CRYPT_TDES_IvSet(&mcDes3, iv);
ret = CRYPT_TDES_CBC_Encrypt(&mcDes3, out1, ourData, TDES_SIZE);
ret = CRYPT_TDES_KeySet(&mcDes3, key, iv, CRYPT_TDES_DECRYPTION);
ret = CRYPT_TDES_CBC_Decrypt(&mcDes3, out2, out1, TDES_TEST_SIZE);