ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_rsip_protected.h
Go to the documentation of this file.
1
36
37#pragma once
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43#include <stdint.h>
44
45#include "ra8_err.h"
46#include "ra8_rsip.h"
48#include "ra8_rsip_regs.h"
49
85[[nodiscard]] ra8_err_t ra8_rsip_protected_aes_init(const uint8_t* wrapped_key,
88 const uint8_t* iv);
89
110[[nodiscard]] ra8_err_t
111ra8_rsip_protected_aes_encrypt(const uint8_t* plaintext, uint8_t* ciphertext, uint32_t len);
112
133[[nodiscard]] ra8_err_t
134ra8_rsip_protected_aes_decrypt(const uint8_t* ciphertext, uint8_t* plaintext, uint32_t len);
135
155[[nodiscard]] ra8_err_t ra8_rsip_protected_aes_finish(void);
156
190[[nodiscard]] ra8_err_t ra8_rsip_protected_rsa_decrypt(const uint8_t* wrapped_priv,
192 const uint8_t* ciphertext,
193 uint32_t ciphertext_len,
194 uint8_t* plaintext_out,
195 uint32_t plaintext_cap);
196
221[[nodiscard]] ra8_err_t ra8_rsip_protected_ecdsa_sign(const uint8_t* wrapped_priv,
222 ra8_rsip_curve_t curve,
223 const uint8_t* hash,
224 uint32_t hash_len,
225 uint8_t* sig_out);
226
227#ifdef __cplusplus
228}
229#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
Renesas Secure IP (RSIP-E50D) HAL driver – public API.
RSIP key-injection HAL – wrap raw key material into theRSIP installed-key blob format.
ra8_rsip_aes_key_bits_t
AES key-width selector accepted by ra8_rsip_key_inject_aes.
ra8_err_t ra8_rsip_protected_ecdsa_sign(const uint8_t *wrapped_priv, ra8_rsip_curve_t curve, const uint8_t *hash, uint32_t hash_len, uint8_t *sig_out)
ECDSA sign using a wrapped private key.
ra8_err_t ra8_rsip_protected_aes_encrypt(const uint8_t *plaintext, uint8_t *ciphertext, uint32_t len)
Encrypt with the latched protected AES context.
ra8_err_t ra8_rsip_protected_aes_init(const uint8_t *wrapped_key, ra8_rsip_aes_key_bits_t key_bits, ra8_rsip_aes_mode_t mode, const uint8_t *iv)
Initialise an AES context using a wrapped key blob.
ra8_err_t ra8_rsip_protected_aes_decrypt(const uint8_t *ciphertext, uint8_t *plaintext, uint32_t len)
Decrypt with the latched protected AES context.
ra8_err_t ra8_rsip_protected_rsa_decrypt(const uint8_t *wrapped_priv, ra8_rsip_rsa_size_t size, const uint8_t *ciphertext, uint32_t ciphertext_len, uint8_t *plaintext_out, uint32_t plaintext_cap)
RSA-private decrypt using a wrapped private key.
ra8_err_t ra8_rsip_protected_aes_finish(void)
Finalise the protected AES context.
Renesas Secure IP (RSIP-E50D) register layout for the RA8D2.
ra8_rsip_curve_t
ECC curve selector (HUM Ch 52.1 Table 52.1 "ECC" p 3302).
ra8_rsip_rsa_size_t
RSA key-size selector (HUM Ch 52.1 Table 52.1 "RSA" p 3302).
ra8_rsip_aes_mode_t
Block-cipher mode selector for the AES engine.