hu_AESEncrypt()

Encrypts one or more blocks of plaintext using the given AES context.

Synopsis:

#include "huaes.h"
 
int hu_AESEncrypt(sb_Context aesContext, size_t length, const unsigned char *plaintext, unsigned char *ciphertext, sb_GlobalCtx sbCtx)

Since:

BlackBerry 10.0.0

Arguments:

aesContext

AES context object.

length

The length (in bytes) of plaintext. For ECB, CBC and XTS modes of operation, the length must be a multiple of SB_AES_128_BLOCK_BYTES. For XTS mode, the data length shall not exceed the data size that Data Unit Sequence Number can represent. The Data Unit Sequence Number is limited to the value that can be expressed in type size_t.

plaintext

The plaintext buffer.

ciphertext

The ciphertext buffer.

sbCtx

A global context.

Library:

libhuapi (For the qcc command, use the -l huapi option to link against this library)

Description:

The plaintext and ciphertext buffers must be the same length, and may overlap in memory subject to the constraints described in the API Reference section on overlapping buffers. This function can be called repeatedly to encrypt more blocks of plaintext.

Returns:

SB_ERR_BAD_KEY

The key associated with aesContext cannot be used for encryption.

SB_ERR_NULL_CONTEXT

The aesContext object is NULL.

SB_ERR_BAD_CONTEXT

The aesContext object is invalid.

SB_ERR_NULL_INPUT_BUF

The plaintext buffer, plaintext, is NULL.

SB_ERR_BAD_INPUT_BUF_LEN

length, the length of the plaintext buffer, is invalid.

SB_ERR_NULL_OUTPUT_BUF

The ciphertext buffer is NULL.

SB_SUCCESS

Success.