00001
00014 #ifndef C4E_ECC2N_DSA_H
00015 #define C4E_ECC2N_DSA_H
00016
00017
00018
00019
00020 #include "c4e_sha.h"
00021 #include "c4e_ecc2n.h"
00022
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028
00039
00040
00041
00042
00043
00044
00045
00057 #define C4E_ECC2N_DSA_TMPID_SIGN (9U)
00058
00059
00071 #define C4E_ECC2N_DSA_TMPID_VERIFY (14U)
00072
00073
00092 #define C4E_ECC2N_DSA_TMPID_MAX C4E_ECC2N_DSA_TMPID_VERIFY
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00192 C4eSysStatus c4e_ecc2n_dsa_sign(C4eEcDomain* C4E_RESTRICT dom,
00193 C4E_CONST C4eElement* C4E_RESTRICT d,
00194 C4eHashId hid,
00195 C4E_CONST C4eArchUint8* C4E_RESTRICT digest,
00196 C4eArchDigit tmp[C4E_RESTRICT],
00197 C4eArchUint8* C4E_RESTRICT signature);
00198
00199
00200
00282 C4eSysStatus c4e_ecc2n_dsa_verify(C4eEcDomain* C4E_RESTRICT dom,
00283 C4E_CONST C4eEcPoint* C4E_RESTRICT q,
00284 C4eHashId hid,
00285 C4E_CONST C4eArchUint8* C4E_RESTRICT digest,
00286 C4E_CONST C4eArchUint8* C4E_RESTRICT signature,
00287 C4eArchSize len,
00288 C4eArchDigit tmp[C4E_RESTRICT]);
00289
00294 #ifdef __cplusplus
00295 }
00296 #endif
00297
00298
00299
00300
00301 #endif
00302
00303
00304
00305
00306