diff options
Diffstat (limited to 'src/include/anastasis_crypto_lib.h')
-rw-r--r-- | src/include/anastasis_crypto_lib.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/include/anastasis_crypto_lib.h b/src/include/anastasis_crypto_lib.h index c28b83a..da60630 100644 --- a/src/include/anastasis_crypto_lib.h +++ b/src/include/anastasis_crypto_lib.h @@ -396,6 +396,44 @@ ANASTASIS_CRYPTO_recovery_document_decrypt ( /** + * Encrypt recovery document meta data. + * + * @param id Hashed User input, used for the generation of the encryption key + * @param meta_data contains the recovery document meta data + * @param meta_data_size number of bytes in @a meta_data + * @param[out] enc_meta_data set to the encrypted meta data + * @param[out] enc_meta_data_size size of the result + */ +void +ANASTASIS_CRYPTO_recovery_metadata_encrypt ( + const struct ANASTASIS_CRYPTO_UserIdentifierP *id, + const void *meta_data, + size_t meta_data_size, + void **enc_meta_data, + size_t *enc_meta_data_size); + + +/** + * Decrypts the recovery meta data. + * + * @param id Hashed User input, used for the generation of the decryption key + * @param enc_meta_data encrypted meta data + * @param enc_meta_data_size number of bytes in @a enc_meta_data + * @param[out] meta_data decrypted meta data + * @param[out] meta_data_size size of the result in @a meta_data + * @return #GNUNET_OK on success, #GNUNET_NO if the authentication tag + * was wrong + */ +enum GNUNET_GenericReturnValue +ANASTASIS_CRYPTO_recovery_metadata_decrypt ( + const struct ANASTASIS_CRYPTO_UserIdentifierP *id, + const void *enc_meta_data, + size_t enc_meta_data_size, + void **meta_data, + size_t *meta_data_size); + + +/** * Encrypts a keyshare with a key generated with the user identification as entropy and the salt "eks". * * @param key_share the key share which is afterwards encrypted |