www.beck-ipc.com

@CHIP-RTOS C Library - TCP/IP API


Crypt_AES_Encrypt

Use AES to encrypt one cipher block of a message.

int Crypt_AES_Encrypt ( const Crypt_AES_Context * aescontext,                         const void far * in,
                        void far * out );

Parameters

aescontext

Pointer to AES context structure (key data)

in

Pointer to 16 bytes (one cipher block) of "plain text" input data

out

Pointer to a 16 byte output buffer to receive the resulting encrypted data. (This may optionally be the same buffer as 'in' references.)

Return Value

0: Success
-1: failed

Comments

The AES (Advanced Encryption Standard) is a block cipher method.   This API encrypts one block of a message.   The cipher block size is 16 bytes.

This API may be used repeatedly until your entire message has been encrypted.   When your message is not an integral number of 16 byte blocks in length, then you must pad the final block with some pattern agreed upon with your decryption side.

Prior to calling this API for the first block of the message, the Crypt_AES_MakeEncryptKey() must be used to initialize the encryption key.

Go here for a summary of cipher method execution times.

See Also

RTOS API

This library function invokes a RTOS software interrupt. Refer to this RTOS API function's documentation for more details.

On SC1x3/SC2x (RTOS version >= 1.35, CLIB version >= 2.19) there is also a version of this function available which uses dynamic linking instead of the software interrupt.   This reduces the function's overhead and thus speeds up your application.   This function's name is Crypt_AES_Encrypt_Dyn, however you should not use this function directly.   Instead you should add the define TCPIP_DYN_LINK to your program before including the CLIB's header file(s), as follows:

    #define TCPIP_DYN_LINK
    #include <clib.h>


This compilation switch will map the original function's name to the dynamic link version.   In this manner, you can easily switch existing programs over to the dynamic link API.

Supported since or modified in @CHIP-RTOS version

    SC12SC13SC11SC1x3SC2x
    n/an/an/aV1.11V1.00

Supported by @CHIP-RTOS C Library since version

    CLIB
    V2.08

This API List
List of C Libraries
@CHIP-RTOS Main Index


End of document