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

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);