AM243x MCU+ SDK  08.04.00

Introduction

This module contains APIs to program and use the PKA.

Files

file  crypto_util.h
 This file contains the prototype of crypto_util driver APIs.
 

Functions

void Crypto_Uint8ToUint32 (const uint8_t *source, uint32_t sourceLengthInBytes, uint32_t *dest)
 Function to convert uint8_t to uint32_t format. More...
 
void Crypto_Uint32ToUint8 (const uint32_t *src, uint32_t sourceLengthInBytes, uint8_t *dest)
 Function to convert uint32_t to uint8_t format. More...
 
void Crypto_Uint32ToBigInt (uint32_t *source, uint32_t sourceLengthInWords, uint32_t *dest)
 Function to convert uint32_t to Bigint format. More...
 
void Crypto_bigIntToUint32 (uint32_t *source, uint32_t sourceLengthInWords, uint32_t *dest)
 Function to convert Bigint to uint32_t format. More...
 
void Crypto_PKCSPaddingForSign (const uint8_t *shaHash, uint32_t keyLengthInBytes, uint32_t typeOfAlgo, uint8_t *output)
 Padding function for sign. More...
 
void Crypto_PKCSPaddingForMessage (const uint8_t *message, uint32_t msgLengthInBytes, uint32_t keyLengthInBytes, uint8_t *output)
 Padding function for Message. More...
 

crypto Algo Types

#define HASH_ALG_SHA1   (0x0U)
 Hash Algo SHA-1. More...
 
#define HASH_ALG_SHA2_256   (0x1U)
 Hash Algo SHA-256. More...
 
#define HASH_ALG_SHA2_512   (0x2U)
 Hash Algo SHA-512. More...
 

Macro Definition Documentation

◆ HASH_ALG_SHA1

#define HASH_ALG_SHA1   (0x0U)

Hash Algo SHA-1.

◆ HASH_ALG_SHA2_256

#define HASH_ALG_SHA2_256   (0x1U)

Hash Algo SHA-256.

◆ HASH_ALG_SHA2_512

#define HASH_ALG_SHA2_512   (0x2U)

Hash Algo SHA-512.

Function Documentation

◆ Crypto_Uint8ToUint32()

void Crypto_Uint8ToUint32 ( const uint8_t *  source,
uint32_t  sourceLengthInBytes,
uint32_t *  dest 
)

Function to convert uint8_t to uint32_t format.

Parameters
sourceUint8_t type buffer for conversion
sourceLengthInBytesLength of source buffer in bytes
destResultant uint32_t buffer stored in dest

◆ Crypto_Uint32ToUint8()

void Crypto_Uint32ToUint8 ( const uint32_t *  src,
uint32_t  sourceLengthInBytes,
uint8_t *  dest 
)

Function to convert uint32_t to uint8_t format.

Parameters
srcUint32_t type buffer for conversion
sourceLengthInBytesLength of source buffer in bytes
destResultant uint8_t buffer stored in dest

◆ Crypto_Uint32ToBigInt()

void Crypto_Uint32ToBigInt ( uint32_t *  source,
uint32_t  sourceLengthInWords,
uint32_t *  dest 
)

Function to convert uint32_t to Bigint format.

Parameters
sourceuint32_t type buffer for conversion
sourceLengthInWordslength of source buffer in words
destResultant bigint buffer stored in dest

◆ Crypto_bigIntToUint32()

void Crypto_bigIntToUint32 ( uint32_t *  source,
uint32_t  sourceLengthInWords,
uint32_t *  dest 
)

Function to convert Bigint to uint32_t format.

Parameters
sourceUint32_t type buffer for conversion
sourceLengthInWordsLength of source buffer in words
destResultant uint32 buffer stored in dest

◆ Crypto_PKCSPaddingForSign()

void Crypto_PKCSPaddingForSign ( const uint8_t *  shaHash,
uint32_t  keyLengthInBytes,
uint32_t  typeOfAlgo,
uint8_t *  output 
)

Padding function for sign.

Parameters
shaHashCalculated Hash of the message for padding
keyLengthInBytesUsed while padding to match key and padded mesage size
typeOfAlgoUsed while padding to check sha length, refer Crypto_AlgoTypes
outputResultant padded buffer stored in dest

◆ Crypto_PKCSPaddingForMessage()

void Crypto_PKCSPaddingForMessage ( const uint8_t *  message,
uint32_t  msgLengthInBytes,
uint32_t  keyLengthInBytes,
uint8_t *  output 
)

Padding function for Message.

Parameters
messageMessage for padding
msgLengthInBytesUsed while padding to match key and padded mesage size
keyLengthInBytesUsed while padding to check key length
outputResultant padded buffer stored in dest