XMSS Library
verification.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2022 Fox Crypto B.V.
3  * SPDX-License-Identifier: MIT
4  *
5  * SPDX-FileContributor: Thomas Schaap
6  * SPDX-FileContributor: Frans van Dorsselaer
7  */
8 
15 #pragma once
16 
17 #ifndef XMSS_VERIFICATION_H_INCLUDED
19 #define XMSS_VERIFICATION_H_INCLUDED
20 
21 #include "opaque_structures.h"
22 #include "structures.h"
23 #include "types.h"
24 
45  const XmssSignature *signature, size_t signature_length);
46 
72 XmssError xmss_verification_update(XmssVerificationContext *context, const uint8_t *part, size_t part_length,
73  const uint8_t *volatile *part_verify);
74 
99 
100 #endif /* !XMSS_VERIFICATION_H_INCLUDED */
Public definitions of opaque structures and memory management calls for those.
Exportable format for a public key.
Definition: structures.h:126
Exportable format for a signature.
Definition: structures.h:160
XMSS library specific structured types.
Enumerations, basic types and callback function specifications.
XmssError
The return codes for the functions in the XMSS library.
Definition: types.h:103
The context for signature verification.
Definition: structures.h:267
XmssError xmss_verification_update(XmssVerificationContext *context, const uint8_t *part, size_t part_length, const uint8_t *volatile *part_verify)
Update the verification context with the next chunk of the message.
XmssError xmss_verification_init(XmssVerificationContext *context, const XmssPublicKey *public_key, const XmssSignature *signature, size_t signature_length)
Initialize a context for signature verification.
XmssError xmss_verification_check(XmssVerificationContext *context, const XmssPublicKey *public_key)
Perform a single validation of the message signature.