aboutsummaryrefslogtreecommitdiff
/*
 * SPDX-License-Identifier: CC0-1.0
 *
 * Copyright (C) 2025 W. Kosior <koszko@koszko.org>
 */

SERIALIZABLE_STRUCT(blind_sig,
		    FIELD(blind_sig_message_t, message)
		    FIELD(blind_sig_n_bit_buf_t, randomness)
		    FIELD(blind_sig_poly_vector_t, z)
		    FIELD(fmpz_poly_t, epsilon))

SERIALIZABLE_STRUCT(blind_sig_priv_key,
		    FIELD(blind_sig_poly_vector_t, key_polys))

SERIALIZABLE_STRUCT(blind_sig_pub_key,
		    FIELD(fmpz_poly_t, key_poly))

SERIALIZABLE_STRUCT(blind_sig_signer_state,
		    FIELD(blind_sig_poly_vector_t, y_commitment_random)
		    FIELD(fmpz_poly_t, y_commitment)
		    FIELD(blind_sig_poly_vector_t, z_star)
		    FIELD(fmpz_poly_t, epsilon_star))

SERIALIZABLE_STRUCT(blind_sig_user_state,
		    FIELD(blind_sig_message_t, message)
		    FIELD(blind_sig_n_bit_buf_t, randomness)
		    FIELD(blind_sig_n_bit_buf_t, commitment)
		    FIELD(fmpz_poly_t, alpha)
		    FIELD(blind_sig_poly_vector_t, beta)
		    FIELD(fmpz_poly_t, epsilon)
		    FIELD(fmpz_poly_t, epsilon_star))

SERIALIZABLE_STRUCT(blind_sig_proto_p1,
		    FIELD(fmpz_poly_t, y_commitment))

SERIALIZABLE_STRUCT(blind_sig_proto_p2,
		    FIELD(bool, ok)
		    FIELD(fmpz_poly_t, epsilon_star))

SERIALIZABLE_STRUCT(blind_sig_proto_p3,
		    FIELD(bool, ok)
		    FIELD(blind_sig_poly_vector_t, z_star))

SERIALIZABLE_STRUCT(blind_sig_proto_p4,
		    FIELD(bool, needs_restart)
		    FIELD(blind_sig_n_bit_buf_t, commitment)
		    FIELD(fmpz_poly_t, alpha)
		    FIELD(blind_sig_poly_vector_t, beta)
		    FIELD(fmpz_poly_t, epsilon))

SERIALIZABLE_STRUCT(blind_sig_proto_p5,
		    FIELD(bool, ok)
		    FIELD(blind_sig_poly_vector_t, y_commitment_random)
		    FIELD(fmpz_poly_t, y_commitment)
		    FIELD(fmpz_poly_t, epsilon_star)
		    FIELD(blind_sig_poly_vector_t, z_star))