Line data Source code
1 : #ifndef HEADER_fd_src_ballet_secp384r1_fd_secp384r1_h 2 : #define HEADER_fd_src_ballet_secp384r1_fd_secp384r1_h 3 : 4 : #include "../fd_ballet_base.h" 5 : #include "../sha512/fd_sha512.h" 6 : 7 867 : #define FD_SECP384R1_SUCCESS 1 8 60 : #define FD_SECP384R1_FAILURE 0 9 : 10 : FD_PROTOTYPES_BEGIN 11 : 12 : /* fd_secp384r1_public_key_compress validates and compresses an SEC1 13 : uncompressed public key. In particular, this validates both canonical 14 : coordinates and the curve equation before discarding the y coordinate. 15 : Returns FD_SECP384R1_SUCCESS on success and FD_SECP384R1_FAILURE on 16 : failure. */ 17 : 18 : int 19 : fd_secp384r1_public_key_compress( uchar compressed[ 49 ], 20 : uchar const uncompressed[ 97 ] ); 21 : 22 : int 23 : fd_secp384r1_verify( uchar const msg[], 24 : ulong msg_sz, 25 : uchar const sig[ 96 ], 26 : uchar const public_key[ 49 ], 27 : fd_sha512_t * sha ); 28 : 29 : int 30 : fd_secp384r1_verify_allow_high_s( uchar const msg[], 31 : ulong msg_sz, 32 : uchar const sig[ 96 ], 33 : uchar const public_key[ 49 ], 34 : fd_sha512_t * sha ); 35 : 36 : FD_PROTOTYPES_END 37 : 38 : #endif