frosix

Multiparty signature service (experimental)
Log | Files | Refs | README | LICENSE

message_to_hash.c (1266B)


      1 /*
      2   This file is part of Frosix
      3   Copyright (C) 2022, 2023 Frosix
      4 
      5   Frosix is free software; you can redistribute it and/or modify it under the
      6   terms of the GNU Affero General Public License as published by the Free Software
      7   Foundation; either version 3, or (at your option) any later version.
      8 
      9   Frosix is distributed in the hope that it will be useful, but WITHOUT ANY
     10   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     11   A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.
     12 
     13   You should have received a copy of the GNU Affero General Public License along with
     14   Frosix; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
     15 */
     16 /**
     17  * @file message_to_hash.c
     18  * @brief Implements a simple hashing function to convert some input bytes into a hash.
     19  * @author Joel Urech
     20 */
     21 #include "frost_high.h"
     22 
     23 /**
     24  * We expect our message to be a hash value. This function provides an interface to hash abritrary messages.
     25 */
     26 void
     27 FROST_message_to_hash (
     28   struct FROST_MessageHash *message_hash,
     29   const void *msg,
     30   size_t msg_len)
     31 {
     32   struct FROST_HashState state;
     33   FROST_hash_init (&state);
     34   FROST_hash_fixed_update (&state, msg, msg_len);
     35 
     36   FROST_hash_final (&state, &message_hash->hash);
     37 }