1.42 CRYPT_TDES_CBC_Encrypt Function
C
int CRYPT_TDES_CBC_Encrypt(
CRYPT_TDES_CTX* tdes,
unsigned char* out,
const unsigned char* in,
unsigned int inSz
);Description
This function encrypts a block of data using a Triple DES algorithm.
Preconditions
The context tdes must be set earlier using CRYPT_TDES_KeySet. The input block must be a multiple of 8 bytes long.
Parameters
| Parameters | Description |
|---|---|
| tdes | Pointer to context which saves state between calls |
| out | Pointer to output buffer to store the results |
| in | Pointer to input buffer for the source of the data |
| inSz | Size of the input data buffer |
Returns
- BAD_FUNC_ARG - An invalid pointer was passed to the function
- 0 - An invalid pointer was not passed to the function
Remarks
The input data must be padded at the end with zeros to make the length a multiple of 8.
Example
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_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);
