IDEA Cipher Object

Operation Supported

Encrypt, Decrypt, Multi-part MAC, Multi-Part MAC Verify

Key Encoding

Supports 16 byte key value.

Encrypt/Decrypt Modes

The least significant nibble (four bits) is used to determine the operational mode.

Possible values:

>SYM_MODE_ECB (0)

Electronic Code Book (ECB) mode. It may be combined with a padding mode (see Padding Mode ).

>SYM_MODE_CBC (1)

Cipher Block Chaining (CBC) mode. It may be combined with a padding mode (see Padding Mode ).

Padding Mode

The most significant nibble defines the padding mode used.

Possible value: SYM_MODE_PAD (0x90)

PKCS#1 padding is applied. This causes 1 to 8 bytes of padding to be added to the data.

MAC modes

For MAC generation and verification, available modes include:

>SYM_MODE_MAC_3 (0)

Standard MAC

>SYM_MODE_MAC_GEN (1)

Standard MAC configurable length

Encrypt/Decrypt Parameter

In SYM_MODE_CBC, the parameter buffer must contain the IV (8 bytes). In SYM_MODE_ECB, there are no parameters.

MAC Parameters

When mode is SYM_MODE_MAC_GEN, parameter buffer contains at least 4 bytes, which is the little-endian encoding of an integer. The integer value must contain a value from 1 to 8, indicating the number of bytes to return.