Loading crypto/ec/curve448/curve448_lcl.h +2 −2 Original line number Diff line number Diff line #include "curve448utils.h" int X448(uint8_t out_shared_key[56], const uint8_t private_key[56], const uint8_t peer_public_value[56]) DECAF_API_VIS; const uint8_t peer_public_value[56]); void X448_public_from_private(uint8_t out_public_value[56], const uint8_t private_key[56]) DECAF_API_VIS; const uint8_t private_key[56]); crypto/ec/curve448/curve448utils.h +0 −2 Original line number Diff line number Diff line Loading @@ -20,12 +20,10 @@ extern "C" { #endif /* Goldilocks' build flags default to hidden and stripping executables. */ /** @cond internal */ #if defined(DOXYGEN) && !defined(__attribute__) #define __attribute__((x)) #endif #define DECAF_API_VIS __attribute__((visibility("default"))) #define DECAF_NOINLINE __attribute__((noinline)) #define DECAF_NONNULL __attribute__((nonnull)) /** @endcond */ Loading crypto/ec/curve448/ed448.h +10 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ extern "C" { void decaf_ed448_derive_public_key ( uint8_t pubkey[DECAF_EDDSA_448_PUBLIC_BYTES], const uint8_t privkey[DECAF_EDDSA_448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA signing. Loading Loading @@ -84,7 +84,7 @@ void decaf_ed448_sign ( uint8_t prehashed, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2,3))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2,3))) DECAF_NOINLINE; /** * @brief EdDSA signing with prehash. Loading @@ -108,7 +108,7 @@ void decaf_ed448_sign_prehash ( const decaf_ed448_prehash_ctx_t hash, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2,3,4))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2,3,4))) DECAF_NOINLINE; /** * @brief Prehash initialization, with contexts if supported. Loading @@ -117,7 +117,7 @@ void decaf_ed448_sign_prehash ( */ void decaf_ed448_prehash_init ( decaf_ed448_prehash_ctx_t hash ) DECAF_API_VIS __attribute__((nonnull(1))) DECAF_NOINLINE; ) __attribute__((nonnull(1))) DECAF_NOINLINE; /** * @brief EdDSA signature verification. Loading Loading @@ -145,7 +145,7 @@ decaf_error_t decaf_ed448_verify ( uint8_t prehashed, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2))) DECAF_NOINLINE; /** * @brief EdDSA signature verification. Loading @@ -169,7 +169,7 @@ decaf_error_t decaf_ed448_verify_prehash ( const decaf_ed448_prehash_ctx_t hash, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2))) DECAF_NOINLINE; /** * @brief EdDSA point encoding. Used internally, exposed externally. Loading Loading @@ -198,7 +198,7 @@ decaf_error_t decaf_ed448_verify_prehash ( void curve448_point_mul_by_ratio_and_encode_like_eddsa ( uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES], const curve448_point_t p ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA point decoding. Multiplies by DECAF_448_EDDSA_DECODE_RATIO, Loading @@ -212,7 +212,7 @@ void curve448_point_mul_by_ratio_and_encode_like_eddsa ( decaf_error_t curve448_point_decode_like_eddsa_and_mul_by_ratio ( curve448_point_t p, const uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA to ECDH public key conversion Loading @@ -228,7 +228,7 @@ decaf_error_t curve448_point_decode_like_eddsa_and_mul_by_ratio ( void decaf_ed448_convert_public_key_to_x448 ( uint8_t x[DECAF_X448_PUBLIC_BYTES], const uint8_t ed[DECAF_EDDSA_448_PUBLIC_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA to ECDH private key conversion Loading @@ -241,7 +241,7 @@ void decaf_ed448_convert_public_key_to_x448 ( void decaf_ed448_convert_private_key_to_x448 ( uint8_t x[DECAF_X448_PRIVATE_BYTES], const uint8_t ed[DECAF_EDDSA_448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; #ifdef __cplusplus } /* extern "C" */ Loading crypto/ec/curve448/point_448.h +23 −23 Original line number Diff line number Diff line Loading @@ -76,19 +76,19 @@ typedef struct curve448_scalar_s { } curve448_scalar_t[1]; /** A scalar equal to 1. */ extern const curve448_scalar_t curve448_scalar_one DECAF_API_VIS; extern const curve448_scalar_t curve448_scalar_one; /** A scalar equal to 0. */ extern const curve448_scalar_t curve448_scalar_zero DECAF_API_VIS; extern const curve448_scalar_t curve448_scalar_zero; /** The identity point on the curve. */ extern const curve448_point_t curve448_point_identity DECAF_API_VIS; extern const curve448_point_t curve448_point_identity; /** An arbitrarily chosen base point on the curve. */ extern const curve448_point_t curve448_point_base DECAF_API_VIS; extern const curve448_point_t curve448_point_base; /** Precomputed table for the base point on the curve. */ extern const struct curve448_precomputed_s *curve448_precomputed_base DECAF_API_VIS; extern const struct curve448_precomputed_s *curve448_precomputed_base; /** * @brief Read a scalar from wire format or from bytes. Loading @@ -103,7 +103,7 @@ extern const struct curve448_precomputed_s *curve448_precomputed_base DECAF_API_ __owur decaf_error_t curve448_scalar_decode ( curve448_scalar_t out, const unsigned char ser[DECAF_448_SCALAR_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Read a scalar from wire format or from bytes. Reduces mod Loading @@ -117,7 +117,7 @@ void curve448_scalar_decode_long ( curve448_scalar_t out, const unsigned char *ser, size_t ser_len ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Serialize a scalar to wire format. Loading @@ -128,7 +128,7 @@ void curve448_scalar_decode_long ( void curve448_scalar_encode ( unsigned char ser[DECAF_448_SCALAR_BYTES], const curve448_scalar_t s ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE DECAF_NOINLINE; /** * @brief Add two scalars. The scalars may use the same memory. Loading @@ -140,7 +140,7 @@ void curve448_scalar_add ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Subtract two scalars. The scalars may use the same memory. Loading @@ -152,7 +152,7 @@ void curve448_scalar_sub ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Multiply two scalars. The scalars may use the same memory. Loading @@ -164,7 +164,7 @@ void curve448_scalar_mul ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Halve a scalar. The scalars may use the same memory. Loading @@ -174,7 +174,7 @@ void curve448_scalar_mul ( void curve448_scalar_halve ( curve448_scalar_t out, const curve448_scalar_t a ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Copy a scalar. The scalars may use the same memory, in which Loading Loading @@ -215,7 +215,7 @@ static inline void DECAF_NONNULL curve448_point_copy ( __owur decaf_bool_t curve448_point_eq ( const curve448_point_t a, const curve448_point_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Double a point. Equivalent to Loading @@ -227,7 +227,7 @@ __owur decaf_bool_t curve448_point_eq ( void curve448_point_double ( curve448_point_t two_a, const curve448_point_t a ) DECAF_API_VIS DECAF_NONNULL; ) DECAF_NONNULL; /** * @brief RFC 7748 Diffie-Hellman scalarmul. This function uses a different Loading @@ -245,7 +245,7 @@ __owur decaf_error_t decaf_x448 ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const uint8_t base[DECAF_X448_PUBLIC_BYTES], const uint8_t scalar[DECAF_X448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Multiply a point by DECAF_X448_ENCODE_RATIO, Loading @@ -270,10 +270,10 @@ __owur decaf_error_t decaf_x448 ( void curve448_point_mul_by_ratio_and_encode_like_x448 ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const curve448_point_t p ) DECAF_API_VIS DECAF_NONNULL; ) DECAF_NONNULL; /** The base point for X448 Diffie-Hellman */ extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES] DECAF_API_VIS; extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES]; /** * @brief RFC 7748 Diffie-Hellman base point scalarmul. This function uses Loading @@ -288,7 +288,7 @@ extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES] DECAF_API_VI void decaf_x448_derive_public_key ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const uint8_t scalar[DECAF_X448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** Loading @@ -306,7 +306,7 @@ void curve448_precomputed_scalarmul ( curve448_point_t scaled, const curve448_precomputed_s *base, const curve448_scalar_t scalar ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** Loading @@ -329,7 +329,7 @@ void curve448_base_double_scalarmul_non_secret ( const curve448_scalar_t scalar1, const curve448_point_t base2, const curve448_scalar_t scalar2 ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Test that a point is valid, for debugging purposes. Loading @@ -340,21 +340,21 @@ void curve448_base_double_scalarmul_non_secret ( */ __owur decaf_bool_t curve448_point_valid ( const curve448_point_t to_test ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Overwrite scalar with zeros. */ void curve448_scalar_destroy ( curve448_scalar_t scalar ) DECAF_NONNULL DECAF_API_VIS; ) DECAF_NONNULL; /** * @brief Overwrite point with zeros. */ void curve448_point_destroy ( curve448_point_t point ) DECAF_NONNULL DECAF_API_VIS; ) DECAF_NONNULL; #ifdef __cplusplus } /* extern "C" */ Loading crypto/ec/curve448/shake.h +11 −11 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ extern "C" { void decaf_sha3_init ( decaf_keccak_sponge_t sponge, const struct decaf_kparams_s *params ) DECAF_API_VIS; ); /** * @brief Absorb data into a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -60,7 +60,7 @@ decaf_error_t decaf_sha3_update ( struct decaf_keccak_sponge_s * __restrict__ sponge, const uint8_t *in, size_t len ) DECAF_API_VIS; ); /** * @brief Squeeze output data from a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -77,7 +77,7 @@ decaf_error_t decaf_sha3_output ( decaf_keccak_sponge_t sponge, uint8_t * __restrict__ out, size_t len ) DECAF_API_VIS; ); /** * @brief Squeeze output data from a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -91,7 +91,7 @@ decaf_error_t decaf_sha3_final ( decaf_keccak_sponge_t sponge, uint8_t * __restrict__ out, size_t len ) DECAF_API_VIS; ); /** * @brief Reset the sponge to the empty string. Loading @@ -100,7 +100,7 @@ decaf_error_t decaf_sha3_final ( */ void decaf_sha3_reset ( decaf_keccak_sponge_t sponge ) DECAF_API_VIS; ); /** * @brief Return the default output length of the sponge construction, Loading @@ -110,7 +110,7 @@ void decaf_sha3_reset ( */ size_t decaf_sha3_default_output_bytes ( const decaf_keccak_sponge_t sponge /**< [inout] The context. */ ) DECAF_API_VIS; ); /** * @brief Return the default output length of the sponge construction, Loading @@ -120,7 +120,7 @@ size_t decaf_sha3_default_output_bytes ( */ size_t decaf_sha3_max_output_bytes ( const decaf_keccak_sponge_t sponge /**< [inout] The context. */ ) DECAF_API_VIS; ); /** * @brief Destroy a DECAF_SHA3 or DECAF_SHAKE sponge context by overwriting it with 0. Loading @@ -128,7 +128,7 @@ size_t decaf_sha3_max_output_bytes ( */ void decaf_sha3_destroy ( decaf_keccak_sponge_t sponge ) DECAF_API_VIS; ); /** * @brief Hash (in) to (out) Loading @@ -144,13 +144,13 @@ decaf_error_t decaf_sha3_hash ( const uint8_t *in, size_t inlen, const struct decaf_kparams_s *params ) DECAF_API_VIS; ); /* FUTURE: expand/doxygenate individual DECAF_SHAKE/DECAF_SHA3 instances? */ /** @cond internal */ #define DECAF_DEC_SHAKE(n) \ extern const struct decaf_kparams_s DECAF_SHAKE##n##_params_s DECAF_API_VIS; \ extern const struct decaf_kparams_s DECAF_SHAKE##n##_params_s; \ typedef struct decaf_shake##n##_ctx_s { decaf_keccak_sponge_t s; } decaf_shake##n##_ctx_t[1]; \ static inline void DECAF_NONNULL decaf_shake##n##_init(decaf_shake##n##_ctx_t sponge) { \ decaf_sha3_init(sponge->s, &DECAF_SHAKE##n##_params_s); \ Loading @@ -176,7 +176,7 @@ decaf_error_t decaf_sha3_hash ( } #define DECAF_DEC_SHA3(n) \ extern const struct decaf_kparams_s DECAF_SHA3_##n##_params_s DECAF_API_VIS; \ extern const struct decaf_kparams_s DECAF_SHA3_##n##_params_s; \ typedef struct decaf_sha3_##n##_ctx_s { decaf_keccak_sponge_t s; } decaf_sha3_##n##_ctx_t[1]; \ static inline void DECAF_NONNULL decaf_sha3_##n##_init(decaf_sha3_##n##_ctx_t sponge) { \ decaf_sha3_init(sponge->s, &DECAF_SHA3_##n##_params_s); \ Loading Loading
crypto/ec/curve448/curve448_lcl.h +2 −2 Original line number Diff line number Diff line #include "curve448utils.h" int X448(uint8_t out_shared_key[56], const uint8_t private_key[56], const uint8_t peer_public_value[56]) DECAF_API_VIS; const uint8_t peer_public_value[56]); void X448_public_from_private(uint8_t out_public_value[56], const uint8_t private_key[56]) DECAF_API_VIS; const uint8_t private_key[56]);
crypto/ec/curve448/curve448utils.h +0 −2 Original line number Diff line number Diff line Loading @@ -20,12 +20,10 @@ extern "C" { #endif /* Goldilocks' build flags default to hidden and stripping executables. */ /** @cond internal */ #if defined(DOXYGEN) && !defined(__attribute__) #define __attribute__((x)) #endif #define DECAF_API_VIS __attribute__((visibility("default"))) #define DECAF_NOINLINE __attribute__((noinline)) #define DECAF_NONNULL __attribute__((nonnull)) /** @endcond */ Loading
crypto/ec/curve448/ed448.h +10 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ extern "C" { void decaf_ed448_derive_public_key ( uint8_t pubkey[DECAF_EDDSA_448_PUBLIC_BYTES], const uint8_t privkey[DECAF_EDDSA_448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA signing. Loading Loading @@ -84,7 +84,7 @@ void decaf_ed448_sign ( uint8_t prehashed, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2,3))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2,3))) DECAF_NOINLINE; /** * @brief EdDSA signing with prehash. Loading @@ -108,7 +108,7 @@ void decaf_ed448_sign_prehash ( const decaf_ed448_prehash_ctx_t hash, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2,3,4))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2,3,4))) DECAF_NOINLINE; /** * @brief Prehash initialization, with contexts if supported. Loading @@ -117,7 +117,7 @@ void decaf_ed448_sign_prehash ( */ void decaf_ed448_prehash_init ( decaf_ed448_prehash_ctx_t hash ) DECAF_API_VIS __attribute__((nonnull(1))) DECAF_NOINLINE; ) __attribute__((nonnull(1))) DECAF_NOINLINE; /** * @brief EdDSA signature verification. Loading Loading @@ -145,7 +145,7 @@ decaf_error_t decaf_ed448_verify ( uint8_t prehashed, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2))) DECAF_NOINLINE; /** * @brief EdDSA signature verification. Loading @@ -169,7 +169,7 @@ decaf_error_t decaf_ed448_verify_prehash ( const decaf_ed448_prehash_ctx_t hash, const uint8_t *context, uint8_t context_len ) DECAF_API_VIS __attribute__((nonnull(1,2))) DECAF_NOINLINE; ) __attribute__((nonnull(1,2))) DECAF_NOINLINE; /** * @brief EdDSA point encoding. Used internally, exposed externally. Loading Loading @@ -198,7 +198,7 @@ decaf_error_t decaf_ed448_verify_prehash ( void curve448_point_mul_by_ratio_and_encode_like_eddsa ( uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES], const curve448_point_t p ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA point decoding. Multiplies by DECAF_448_EDDSA_DECODE_RATIO, Loading @@ -212,7 +212,7 @@ void curve448_point_mul_by_ratio_and_encode_like_eddsa ( decaf_error_t curve448_point_decode_like_eddsa_and_mul_by_ratio ( curve448_point_t p, const uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA to ECDH public key conversion Loading @@ -228,7 +228,7 @@ decaf_error_t curve448_point_decode_like_eddsa_and_mul_by_ratio ( void decaf_ed448_convert_public_key_to_x448 ( uint8_t x[DECAF_X448_PUBLIC_BYTES], const uint8_t ed[DECAF_EDDSA_448_PUBLIC_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief EdDSA to ECDH private key conversion Loading @@ -241,7 +241,7 @@ void decaf_ed448_convert_public_key_to_x448 ( void decaf_ed448_convert_private_key_to_x448 ( uint8_t x[DECAF_X448_PRIVATE_BYTES], const uint8_t ed[DECAF_EDDSA_448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; #ifdef __cplusplus } /* extern "C" */ Loading
crypto/ec/curve448/point_448.h +23 −23 Original line number Diff line number Diff line Loading @@ -76,19 +76,19 @@ typedef struct curve448_scalar_s { } curve448_scalar_t[1]; /** A scalar equal to 1. */ extern const curve448_scalar_t curve448_scalar_one DECAF_API_VIS; extern const curve448_scalar_t curve448_scalar_one; /** A scalar equal to 0. */ extern const curve448_scalar_t curve448_scalar_zero DECAF_API_VIS; extern const curve448_scalar_t curve448_scalar_zero; /** The identity point on the curve. */ extern const curve448_point_t curve448_point_identity DECAF_API_VIS; extern const curve448_point_t curve448_point_identity; /** An arbitrarily chosen base point on the curve. */ extern const curve448_point_t curve448_point_base DECAF_API_VIS; extern const curve448_point_t curve448_point_base; /** Precomputed table for the base point on the curve. */ extern const struct curve448_precomputed_s *curve448_precomputed_base DECAF_API_VIS; extern const struct curve448_precomputed_s *curve448_precomputed_base; /** * @brief Read a scalar from wire format or from bytes. Loading @@ -103,7 +103,7 @@ extern const struct curve448_precomputed_s *curve448_precomputed_base DECAF_API_ __owur decaf_error_t curve448_scalar_decode ( curve448_scalar_t out, const unsigned char ser[DECAF_448_SCALAR_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Read a scalar from wire format or from bytes. Reduces mod Loading @@ -117,7 +117,7 @@ void curve448_scalar_decode_long ( curve448_scalar_t out, const unsigned char *ser, size_t ser_len ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Serialize a scalar to wire format. Loading @@ -128,7 +128,7 @@ void curve448_scalar_decode_long ( void curve448_scalar_encode ( unsigned char ser[DECAF_448_SCALAR_BYTES], const curve448_scalar_t s ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE DECAF_NOINLINE; /** * @brief Add two scalars. The scalars may use the same memory. Loading @@ -140,7 +140,7 @@ void curve448_scalar_add ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Subtract two scalars. The scalars may use the same memory. Loading @@ -152,7 +152,7 @@ void curve448_scalar_sub ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Multiply two scalars. The scalars may use the same memory. Loading @@ -164,7 +164,7 @@ void curve448_scalar_mul ( curve448_scalar_t out, const curve448_scalar_t a, const curve448_scalar_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Halve a scalar. The scalars may use the same memory. Loading @@ -174,7 +174,7 @@ void curve448_scalar_mul ( void curve448_scalar_halve ( curve448_scalar_t out, const curve448_scalar_t a ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Copy a scalar. The scalars may use the same memory, in which Loading Loading @@ -215,7 +215,7 @@ static inline void DECAF_NONNULL curve448_point_copy ( __owur decaf_bool_t curve448_point_eq ( const curve448_point_t a, const curve448_point_t b ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Double a point. Equivalent to Loading @@ -227,7 +227,7 @@ __owur decaf_bool_t curve448_point_eq ( void curve448_point_double ( curve448_point_t two_a, const curve448_point_t a ) DECAF_API_VIS DECAF_NONNULL; ) DECAF_NONNULL; /** * @brief RFC 7748 Diffie-Hellman scalarmul. This function uses a different Loading @@ -245,7 +245,7 @@ __owur decaf_error_t decaf_x448 ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const uint8_t base[DECAF_X448_PUBLIC_BYTES], const uint8_t scalar[DECAF_X448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Multiply a point by DECAF_X448_ENCODE_RATIO, Loading @@ -270,10 +270,10 @@ __owur decaf_error_t decaf_x448 ( void curve448_point_mul_by_ratio_and_encode_like_x448 ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const curve448_point_t p ) DECAF_API_VIS DECAF_NONNULL; ) DECAF_NONNULL; /** The base point for X448 Diffie-Hellman */ extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES] DECAF_API_VIS; extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES]; /** * @brief RFC 7748 Diffie-Hellman base point scalarmul. This function uses Loading @@ -288,7 +288,7 @@ extern const uint8_t decaf_x448_base_point[DECAF_X448_PUBLIC_BYTES] DECAF_API_VI void decaf_x448_derive_public_key ( uint8_t out[DECAF_X448_PUBLIC_BYTES], const uint8_t scalar[DECAF_X448_PRIVATE_BYTES] ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** Loading @@ -306,7 +306,7 @@ void curve448_precomputed_scalarmul ( curve448_point_t scaled, const curve448_precomputed_s *base, const curve448_scalar_t scalar ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** Loading @@ -329,7 +329,7 @@ void curve448_base_double_scalarmul_non_secret ( const curve448_scalar_t scalar1, const curve448_point_t base2, const curve448_scalar_t scalar2 ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Test that a point is valid, for debugging purposes. Loading @@ -340,21 +340,21 @@ void curve448_base_double_scalarmul_non_secret ( */ __owur decaf_bool_t curve448_point_valid ( const curve448_point_t to_test ) DECAF_API_VIS DECAF_NONNULL DECAF_NOINLINE; ) DECAF_NONNULL DECAF_NOINLINE; /** * @brief Overwrite scalar with zeros. */ void curve448_scalar_destroy ( curve448_scalar_t scalar ) DECAF_NONNULL DECAF_API_VIS; ) DECAF_NONNULL; /** * @brief Overwrite point with zeros. */ void curve448_point_destroy ( curve448_point_t point ) DECAF_NONNULL DECAF_API_VIS; ) DECAF_NONNULL; #ifdef __cplusplus } /* extern "C" */ Loading
crypto/ec/curve448/shake.h +11 −11 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ extern "C" { void decaf_sha3_init ( decaf_keccak_sponge_t sponge, const struct decaf_kparams_s *params ) DECAF_API_VIS; ); /** * @brief Absorb data into a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -60,7 +60,7 @@ decaf_error_t decaf_sha3_update ( struct decaf_keccak_sponge_s * __restrict__ sponge, const uint8_t *in, size_t len ) DECAF_API_VIS; ); /** * @brief Squeeze output data from a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -77,7 +77,7 @@ decaf_error_t decaf_sha3_output ( decaf_keccak_sponge_t sponge, uint8_t * __restrict__ out, size_t len ) DECAF_API_VIS; ); /** * @brief Squeeze output data from a DECAF_SHA3 or DECAF_SHAKE hash context. Loading @@ -91,7 +91,7 @@ decaf_error_t decaf_sha3_final ( decaf_keccak_sponge_t sponge, uint8_t * __restrict__ out, size_t len ) DECAF_API_VIS; ); /** * @brief Reset the sponge to the empty string. Loading @@ -100,7 +100,7 @@ decaf_error_t decaf_sha3_final ( */ void decaf_sha3_reset ( decaf_keccak_sponge_t sponge ) DECAF_API_VIS; ); /** * @brief Return the default output length of the sponge construction, Loading @@ -110,7 +110,7 @@ void decaf_sha3_reset ( */ size_t decaf_sha3_default_output_bytes ( const decaf_keccak_sponge_t sponge /**< [inout] The context. */ ) DECAF_API_VIS; ); /** * @brief Return the default output length of the sponge construction, Loading @@ -120,7 +120,7 @@ size_t decaf_sha3_default_output_bytes ( */ size_t decaf_sha3_max_output_bytes ( const decaf_keccak_sponge_t sponge /**< [inout] The context. */ ) DECAF_API_VIS; ); /** * @brief Destroy a DECAF_SHA3 or DECAF_SHAKE sponge context by overwriting it with 0. Loading @@ -128,7 +128,7 @@ size_t decaf_sha3_max_output_bytes ( */ void decaf_sha3_destroy ( decaf_keccak_sponge_t sponge ) DECAF_API_VIS; ); /** * @brief Hash (in) to (out) Loading @@ -144,13 +144,13 @@ decaf_error_t decaf_sha3_hash ( const uint8_t *in, size_t inlen, const struct decaf_kparams_s *params ) DECAF_API_VIS; ); /* FUTURE: expand/doxygenate individual DECAF_SHAKE/DECAF_SHA3 instances? */ /** @cond internal */ #define DECAF_DEC_SHAKE(n) \ extern const struct decaf_kparams_s DECAF_SHAKE##n##_params_s DECAF_API_VIS; \ extern const struct decaf_kparams_s DECAF_SHAKE##n##_params_s; \ typedef struct decaf_shake##n##_ctx_s { decaf_keccak_sponge_t s; } decaf_shake##n##_ctx_t[1]; \ static inline void DECAF_NONNULL decaf_shake##n##_init(decaf_shake##n##_ctx_t sponge) { \ decaf_sha3_init(sponge->s, &DECAF_SHAKE##n##_params_s); \ Loading @@ -176,7 +176,7 @@ decaf_error_t decaf_sha3_hash ( } #define DECAF_DEC_SHA3(n) \ extern const struct decaf_kparams_s DECAF_SHA3_##n##_params_s DECAF_API_VIS; \ extern const struct decaf_kparams_s DECAF_SHA3_##n##_params_s; \ typedef struct decaf_sha3_##n##_ctx_s { decaf_keccak_sponge_t s; } decaf_sha3_##n##_ctx_t[1]; \ static inline void DECAF_NONNULL decaf_sha3_##n##_init(decaf_sha3_##n##_ctx_t sponge) { \ decaf_sha3_init(sponge->s, &DECAF_SHA3_##n##_params_s); \ Loading