--- /dev/null
+diff --git a/src/argon2/blake2/blake2.h b/src/argon2/blake2/blake2.h
+index 9f97e1c..469e8fe 100644
+--- a/src/argon2/blake2/blake2.h
++++ b/src/argon2/blake2/blake2.h
+@@ -66,6 +66,14 @@ enum {
+ 1 / !!(sizeof(blake2b_param) == sizeof(uint64_t) * CHAR_BIT)
+ };
+
++#define blake2b_init moneroseed_blake2b_init
++#define blake2b_init_key moneroseed_blake2b_init_key
++#define blake2b_init_param moneroseed_blake2b_init_param
++#define blake2b_update moneroseed_blake2b_update
++#define blake2b_final moneroseed_blake2b_final
++#define blake2b moneroseed_blake2b
++#define blake2b_long moneroseed_blake2b_long
++
+ /* Streaming API */
+ ARGON2_LOCAL int blake2b_init(blake2b_state *S, size_t outlen);
+ ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
+diff --git a/src/argon2/core.h b/src/argon2/core.h
+index 78000ba..e569eb4 100644
+--- a/src/argon2/core.h
++++ b/src/argon2/core.h
+@@ -101,6 +101,13 @@ typedef struct Argon2_thread_data {
+
+ /*************************Argon2 core functions********************************/
+
++#define finalize moneroseed_finalize
++#define initialize moneroseed_initialize
++#define validate_inputs moneroseed_validate_inputs
++#define fill_first_blocks moneroseed_fill_first_blocks
++#define initial_hash moneroseed_initial_hash
++#define fill_memory_blocks moneroseed_fill_memory_blocks
++
+ /* Allocates memory to the given pointer, uses the appropriate allocator as
+ * specified in the context. Total allocated memory is num*size.
+ * @param context argon2_context which specifies the allocator