SemiDrive SSDK Appication Program Interface PTG3.0
ecdsa.h
Go to the documentation of this file.
1/*****************************************************************************
2 *
3 *
4 *Copyright (c) 2021-2029 Semidrive Incorporated. All rights reserved.
5 *Software License Agreement
6 *
7 ******************************************************************************
8 */
9#ifndef ECDSA_H
10#define ECDSA_H
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include <pke.h>
17
18/*ECDSA return code*/
26};
27
28uint32_t ecdsa_sign(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen,
29 uint8_t *rand_k, uint8_t *priKey, uint8_t *signature);
30
31uint32_t ecdsa_verify(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen,
32 uint8_t *pubKey, uint8_t *signature);
33
34#ifdef PKE_SEC
35
36#define ECDSA_SEC
37#ifdef ECDSA_SEC
38
39enum ECDSA_RET_CODE_S {
40 ECDSA_SUCCESS_S = 0x7D5FEB14,
41 ECDSA_ERROR_S = 0xB4C0BC5A
42};
43
44uint32_t ecdsa_sign_s(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen,
45 uint8_t *rand_k, uint8_t *priKey, uint8_t *signature);
46
47uint32_t ecdsa_verify_s(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen,
48 uint8_t *pubKey, uint8_t *signature);
49
50#endif
51#endif
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif
uint32_t ecdsa_verify(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen, uint8_t *pubKey, uint8_t *signature)
uint32_t ecdsa_sign(eccp_curve_t *curve, uint8_t *E, uint32_t EByteLen, uint8_t *rand_k, uint8_t *priKey, uint8_t *signature)
ECDSA_RET_CODE
Definition: ecdsa.h:19
@ ECDSA_VERIFY_FAILED
Definition: ecdsa.h:25
@ ECDSA_ZERO_ALL
Definition: ecdsa.h:23
@ ECDSA_SUCCESS
Definition: ecdsa.h:20
@ ECDSA_POINTOR_NULL
Definition: ecdsa.h:21
@ ECDSA_INTEGER_TOO_BIG
Definition: ecdsa.h:24
@ ECDSA_INVALID_INPUT
Definition: ecdsa.h:22
Semidrive CRYPTO pke header file.
@ PKE_SUCCESS
Definition: pke.h:101
Definition: eccp_curve.h:32