/* * Copyright (C) 2025, Stephan Mueller * * License: see LICENSE file in root directory * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. */ /* * This file is derived from * https://github.com/floodyberry/poly1305-donna marked as "PUBLIC DOMAIN" */ #ifndef LC_POLY1305_H #define LC_POLY1305_H #include "ext_headers.h" #ifdef __cplusplus extern "C" { #endif struct lc_poly1305_context { size_t aligner; uint8_t opaque[136]; }; #define LC_POLY1305_STATE_SIZE (sizeof(struct lc_poly1305_context)) #define LC_POLY1305_TAGSIZE (16) #define LC_POLY1305_KEYSIZE (32) #ifdef __cplusplus } #endif #endif /* LC_POLY1305_H */