aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_symmetric.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/crypto_symmetric.c')
-rw-r--r--src/util/crypto_symmetric.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/util/crypto_symmetric.c b/src/util/crypto_symmetric.c
index 97e2a4cfb..f6810ec5a 100644
--- a/src/util/crypto_symmetric.c
+++ b/src/util/crypto_symmetric.c
@@ -39,10 +39,10 @@
39void 39void
40GNUNET_CRYPTO_symmetric_create_session_key (struct GNUNET_CRYPTO_SymmetricSessionKey *key) 40GNUNET_CRYPTO_symmetric_create_session_key (struct GNUNET_CRYPTO_SymmetricSessionKey *key)
41{ 41{
42 gcry_randomize (key->aes_key, 42 gcry_randomize (key->aes_key,
43 GNUNET_CRYPTO_AES_KEY_LENGTH, 43 GNUNET_CRYPTO_AES_KEY_LENGTH,
44 GCRY_STRONG_RANDOM); 44 GCRY_STRONG_RANDOM);
45 gcry_randomize (key->twofish_key, 45 gcry_randomize (key->twofish_key,
46 GNUNET_CRYPTO_AES_KEY_LENGTH, 46 GNUNET_CRYPTO_AES_KEY_LENGTH,
47 GCRY_STRONG_RANDOM); 47 GCRY_STRONG_RANDOM);
48} 48}
@@ -66,12 +66,12 @@ setup_cipher_aes (gcry_cipher_hd_t *handle,
66 GNUNET_assert (0 == 66 GNUNET_assert (0 ==
67 gcry_cipher_open (handle, GCRY_CIPHER_AES256, 67 gcry_cipher_open (handle, GCRY_CIPHER_AES256,
68 GCRY_CIPHER_MODE_CFB, 0)); 68 GCRY_CIPHER_MODE_CFB, 0));
69 rc = gcry_cipher_setkey (*handle, 69 rc = gcry_cipher_setkey (*handle,
70 sessionkey->aes_key, 70 sessionkey->aes_key,
71 sizeof (sessionkey->aes_key)); 71 sizeof (sessionkey->aes_key));
72 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY)); 72 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
73 rc = gcry_cipher_setiv (*handle, 73 rc = gcry_cipher_setiv (*handle,
74 iv->aes_iv, 74 iv->aes_iv,
75 sizeof (iv->aes_iv)); 75 sizeof (iv->aes_iv));
76 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY)); 76 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
77 return GNUNET_OK; 77 return GNUNET_OK;
@@ -94,13 +94,13 @@ setup_cipher_twofish (gcry_cipher_hd_t *handle,
94 int rc; 94 int rc;
95 95
96 GNUNET_assert (0 == 96 GNUNET_assert (0 ==
97 gcry_cipher_open (handle, GCRY_CIPHER_TWOFISH, 97 gcry_cipher_open (handle, GCRY_CIPHER_TWOFISH,
98 GCRY_CIPHER_MODE_CFB, 0)); 98 GCRY_CIPHER_MODE_CFB, 0));
99 rc = gcry_cipher_setkey (*handle, 99 rc = gcry_cipher_setkey (*handle,
100 sessionkey->twofish_key, 100 sessionkey->twofish_key,
101 sizeof (sessionkey->twofish_key)); 101 sizeof (sessionkey->twofish_key));
102 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY)); 102 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
103 rc = gcry_cipher_setiv (*handle, 103 rc = gcry_cipher_setiv (*handle,
104 iv->twofish_iv, 104 iv->twofish_iv,
105 sizeof (iv->twofish_iv)); 105 sizeof (iv->twofish_iv));
106 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY)); 106 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
@@ -121,7 +121,7 @@ setup_cipher_twofish (gcry_cipher_hd_t *handle,
121 * @returns the size of the encrypted block, -1 for errors 121 * @returns the size of the encrypted block, -1 for errors
122 */ 122 */
123ssize_t 123ssize_t
124GNUNET_CRYPTO_symmetric_encrypt (const void *block, 124GNUNET_CRYPTO_symmetric_encrypt (const void *block,
125 size_t len, 125 size_t len,
126 const struct GNUNET_CRYPTO_SymmetricSessionKey *sessionkey, 126 const struct GNUNET_CRYPTO_SymmetricSessionKey *sessionkey,
127 const struct GNUNET_CRYPTO_SymmetricInitializationVector *iv, 127 const struct GNUNET_CRYPTO_SymmetricInitializationVector *iv,
@@ -157,7 +157,7 @@ GNUNET_CRYPTO_symmetric_encrypt (const void *block,
157ssize_t 157ssize_t
158GNUNET_CRYPTO_symmetric_decrypt (const void *block, size_t size, 158GNUNET_CRYPTO_symmetric_decrypt (const void *block, size_t size,
159 const struct GNUNET_CRYPTO_SymmetricSessionKey *sessionkey, 159 const struct GNUNET_CRYPTO_SymmetricSessionKey *sessionkey,
160 const struct GNUNET_CRYPTO_SymmetricInitializationVector *iv, 160 const struct GNUNET_CRYPTO_SymmetricInitializationVector *iv,
161 void *result) 161 void *result)
162{ 162{
163 gcry_cipher_hd_t handle; 163 gcry_cipher_hd_t handle;
@@ -219,13 +219,13 @@ GNUNET_CRYPTO_symmetric_derive_iv_v (struct GNUNET_CRYPTO_SymmetricInitializatio
219 memcpy (&aes_salt[salt_len], "AES!", 4); 219 memcpy (&aes_salt[salt_len], "AES!", 4);
220 memcpy (twofish_salt, salt, salt_len); 220 memcpy (twofish_salt, salt, salt_len);
221 memcpy (&twofish_salt[salt_len], "FISH", 4); 221 memcpy (&twofish_salt[salt_len], "FISH", 4);
222 GNUNET_CRYPTO_kdf_v (iv->aes_iv, sizeof (iv->aes_iv), 222 GNUNET_CRYPTO_kdf_v (iv->aes_iv, sizeof (iv->aes_iv),
223 aes_salt, salt_len + 4, 223 aes_salt, salt_len + 4,
224 skey->aes_key, sizeof (skey->aes_key), 224 skey->aes_key, sizeof (skey->aes_key),
225 argp); 225 argp);
226 GNUNET_CRYPTO_kdf_v (iv->twofish_iv, sizeof (iv->twofish_iv), 226 GNUNET_CRYPTO_kdf_v (iv->twofish_iv, sizeof (iv->twofish_iv),
227 twofish_salt, salt_len + 4, 227 twofish_salt, salt_len + 4,
228 skey->twofish_key, sizeof (skey->twofish_key), 228 skey->twofish_key, sizeof (skey->twofish_key),
229 argp); 229 argp);
230} 230}
231 231