| M480 BSP V3.05.001 The Board Support Package for M480 Series

Functions
crypto.c File Reference

Cryptographic Accelerator driver source file. More...

`#include <stdio.h>`
`#include <string.h>`
`#include "NuMicro.h"`

Go to the source code of this file.

## Functions
void | PRNG_Open (CRPT_T *crpt, uint32_t u32KeySize, uint32_t u32SeedReload, uint32_t u32Seed)
| Open PRNG function. More...
void | PRNG_Start (CRPT_T *crpt)
| Start to generate one PRNG key. More...
void | PRNG_Read (CRPT_T *crpt, uint32_t u32RandKey[])
| Read the PRNG key. More...
void | AES_Open (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32EncDec, uint32_t u32OpMode, uint32_t u32KeySize, uint32_t u32SwapType)
| Open AES encrypt/decrypt function. More...
void | AES_Start (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32DMAMode)
| Start AES encrypt/decrypt. More...
void | AES_SetKey (CRPT_T *crpt, uint32_t u32Channel, uint32_t au32Keys[], uint32_t u32KeySize)
| Set AES keys. More...
void | AES_SetInitVect (CRPT_T *crpt, uint32_t u32Channel, uint32_t au32IV[])
| Set AES initial vectors. More...
void | AES_SetDMATransfer (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32SrcAddr, uint32_t u32DstAddr, uint32_t u32TransCnt)
| Set AES DMA transfer configuration. More...
void | TDES_Open (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32EncDec, int32_t Is3DES, int32_t Is3Key, uint32_t u32OpMode, uint32_t u32SwapType)
| Open TDES encrypt/decrypt function. More...
void | TDES_Start (CRPT_T *crpt, int32_t u32Channel, uint32_t u32DMAMode)
| Start TDES encrypt/decrypt. More...
void | TDES_SetKey (CRPT_T *crpt, uint32_t u32Channel, uint32_t au32Keys[3][2])
| Set TDES keys. More...
void | TDES_SetInitVect (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32IVH, uint32_t u32IVL)
| Set TDES initial vectors. More...
void | TDES_SetDMATransfer (CRPT_T *crpt, uint32_t u32Channel, uint32_t u32SrcAddr, uint32_t u32DstAddr, uint32_t u32TransCnt)
| Set TDES DMA transfer configuration. More...
void | SHA_Open (CRPT_T *crpt, uint32_t u32OpMode, uint32_t u32SwapType, uint32_t hmac_key_len)
| Open SHA encrypt function. More...
void | SHA_Start (CRPT_T *crpt, uint32_t u32DMAMode)
| Start SHA encrypt. More...
void | SHA_SetDMATransfer (CRPT_T *crpt, uint32_t u32SrcAddr, uint32_t u32TransCnt)
| Set SHA DMA transfer. More...
void | SHA_Read (CRPT_T *crpt, uint32_t u32Digest[])
| Read the SHA digest. More...
void | ECC_Complete (CRPT_T *crpt)
| ECC interrupt service routine. User application must invoke this function in his CRYPTO_IRQHandler() to let Crypto driver know ECC processing was done. More...
int | ECC_IsPrivateKeyValid (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char private_k[])
| Check if the private key is located in valid range of curve. More...
int32_t | ECC_GeneratePublicKey (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char *private_k, char public_k1[], char public_k2[])
| Given a private key and curve to generate the public key pair. More...
int32_t | ECC_Mutiply (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char x1[], char y1[], char *k, char x2[], char y2[])
| Given a private key and curve to generate the public key pair. More...
int32_t | ECC_GenerateSecretZ (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char *private_k, char public_k1[], char public_k2[], char secret_z[])
| Given a curve parameter, the other party's public key, and one's own private key to generate the secret Z. More...
int32_t | ECC_GenerateSignature (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char *message, char *d, char *k, char *R, char *S)
| ECDSA digital signature generation. More...
int32_t | ECC_VerifySignature (CRPT_T *crpt, E_ECC_CURVE ecc_curve, char *message, char *public_k1, char *public_k2, char *R, char *S)
| ECDSA dogotal signature verification. More...

## Detailed Description

Cryptographic Accelerator driver source file.

Version
  V1.10 SPDX-License-Identifier: Apache-2.0

Copyright
  (C) 2016-2020 Nuvoton Technology Corp. All rights reserved.

Definition in file crypto.c.