From 019af0919e3fbe2f831f92728fd95eb7ea505da9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 27 Jan 2015 18:49:02 +0100 Subject: mint-httpd_db.c now compiles again --- src/util/crypto.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/util') diff --git a/src/util/crypto.c b/src/util/crypto.c index b4a4a718b..930c43a7f 100644 --- a/src/util/crypto.c +++ b/src/util/crypto.c @@ -83,6 +83,33 @@ derive_refresh_key (const struct GNUNET_HashCode *secret, } +/** + * Use the @a trans_sec (from ECDHE) to decrypt the @a secret_enc + * to obtain the @a secret to decrypt the linkage data. + * + * @param secret_enc encrypted secret (FIXME: use different type!) + * @param trans_sec transfer secret (FIXME: use different type?) + * @param secret shared secret for refresh link decryption + * (FIXME: use different type?) + * @return #GNUNET_OK on success + */ +int +TALER_transfer_decrypt (const struct GNUNET_HashCode *secret_enc, + const struct GNUNET_HashCode *trans_sec, + struct GNUNET_HashCode *secret) +{ + struct GNUNET_CRYPTO_SymmetricInitializationVector iv; + struct GNUNET_CRYPTO_SymmetricSessionKey skey; + + derive_refresh_key (trans_sec, &iv, &skey); + return GNUNET_CRYPTO_symmetric_decrypt (secret_enc, + sizeof (struct GNUNET_HashCode), + &skey, + &iv, + secret); +} + + /** * Decrypt refresh link information. * -- cgit v1.2.3