nrfxlib API 3.3.99
Loading...
Searching...
No Matches
nrf_cc310_bl_ecdsa_verify_secp256r1.h
Go to the documentation of this file.
1/**************************************************************************************
2* Copyright (c) 2016-2017, ARM Limited or its affiliates. All rights reserved *
3* *
4* This file and the related binary are licensed under the following license: *
5* *
6* ARM Object Code and Header Files License, v1.0 Redistribution. *
7* *
8* Redistribution and use of object code, header files, and documentation, without *
9* modification, are permitted provided that the following conditions are met: *
10* *
11* 1) Redistributions must reproduce the above copyright notice and the *
12* following disclaimer in the documentation and/or other materials *
13* provided with the distribution. *
14* *
15* 2) Unless to the extent explicitly permitted by law, no reverse *
16* engineering, decompilation, or disassembly of is permitted. *
17* *
18* 3) Redistribution and use is permitted solely for the purpose of *
19* developing or executing applications that are targeted for use *
20* on an ARM-based product. *
21* *
22* DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
23* CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT *
24* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, *
25* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
26* COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
27* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED *
28* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
29* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
30* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
31* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
32* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
33**************************************************************************************/
34#ifndef NRF_CC310_BL_ECDSA_VERIFY_SECP256R1_H__
35#define NRF_CC310_BL_ECDSA_VERIFY_SECP256R1_H__
36
45#include <stdint.h>
46#include "crys_error.h"
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
55typedef struct
56{
57 uint8_t x[32];
58 uint8_t y[32];
60
61
64typedef struct
65{
66 uint8_t r[32];
67 uint8_t s[32];
69
70
79
80
95 nrf_cc310_bl_ecc_public_key_secp256r1_t const * const p_public_key);
96
97
120 nrf_cc310_bl_ecc_signature_secp256r1_t const * const p_signature,
121 uint8_t const * const p_hash,
122 uint32_t hash_len);
123
150 nrf_cc310_bl_ecc_public_key_secp256r1_t const * const p_public_key,
151 nrf_cc310_bl_ecc_signature_secp256r1_t const * const p_signature,
152 uint8_t const * const p_hash,
153 uint32_t hash_len);
154
155#ifdef __cplusplus
156}
157#endif
158
161#endif // NRF_CC310_BL_ECDSA_VERIFY_SECP256R1_H__
This module defines the error return code types and the numbering spaces of the error codes for each ...
uint32_t CRYSError_t
Definition crys_error.h:252
#define NRF_CC310_BL_ECDSA_VERIFY_CONTEXT_SIZE_SECP256R1
Macro for the size of the ECDSA Verify context.
Definition nrf_cc310_bl_ecdsa_verify_common.h:52
CRYSError_t nrf_cc310_bl_ecdsa_verify_init_secp256r1(nrf_cc310_bl_ecdsa_verify_context_secp256r1_t *const p_context, nrf_cc310_bl_ecc_public_key_secp256r1_t const *const p_public_key)
Function for initializing the context information for an ECDSA verify operation.
CRYSError_t nrf_cc310_bl_ecdsa_verify_hash_secp256r1(nrf_cc310_bl_ecdsa_verify_context_secp256r1_t *const p_context, nrf_cc310_bl_ecc_signature_secp256r1_t const *const p_signature, uint8_t const *const p_hash, uint32_t hash_len)
Function for executing an ECDSA verify operation using secp256r1 with hash input.
CRYSError_t nrf_cc310_bl_ecdsa_verify_secp256r1(nrf_cc310_bl_ecdsa_verify_context_secp256r1_t *const p_context, nrf_cc310_bl_ecc_public_key_secp256r1_t const *const p_public_key, nrf_cc310_bl_ecc_signature_secp256r1_t const *const p_signature, uint8_t const *const p_hash, uint32_t hash_len)
Function for executing an ECDSA verify operation using secp256r1 with hash input in integrated form.
Structure holding the secp256r1 public key represented by X,Y coordinates.
Definition nrf_cc310_bl_ecdsa_verify_secp256r1.h:56
Structure holding the secp256r1 signature represented by R,S values.
Definition nrf_cc310_bl_ecdsa_verify_secp256r1.h:65
uint32_t init_val
Definition nrf_cc310_bl_ecdsa_verify_secp256r1.h:76
Structure holding memory required for allocation of CC310 ECDSA verify context using curve secp256r1.
Definition nrf_cc310_bl_ecdsa_verify_secp256r1.h:75