Added alternated Diffie-Hellman module.
1. Add modified files dhm.c and dhm.h
diff --git a/include/mbedtls/dhm.h b/include/mbedtls/dhm.h
index d7ab152..6fd7473 100644
--- a/include/mbedtls/dhm.h
+++ b/include/mbedtls/dhm.h
@@ -23,7 +23,15 @@
#ifndef MBEDTLS_DHM_H
#define MBEDTLS_DHM_H
+#if !defined(MBEDTLS_CONFIG_FILE)
+#include "config.h"
+#else
+#include MBEDTLS_CONFIG_FILE
+#endif
#include "bignum.h"
+#if !defined(MBEDTLS_DHM_ALT)
+
+
/*
* DHM Error codes
@@ -290,6 +298,9 @@
int mbedtls_dhm_parse_dhmfile( mbedtls_dhm_context *dhm, const char *path );
#endif /* MBEDTLS_FS_IO */
#endif /* MBEDTLS_ASN1_PARSE_C */
+#else
+#include "dhm_alt.h"
+#endif /* MBEDTLS_DHM_ALT */
/**
* \brief Checkup routine
diff --git a/library/dhm.c b/library/dhm.c
index bec52a1..6f8f021 100644
--- a/library/dhm.c
+++ b/library/dhm.c
@@ -57,6 +57,9 @@
#define mbedtls_free free
#endif
+#if !defined(MBEDTLS_DHM_ALT)
+
+
/* Implementation that should never be optimized out by the compiler */
static void mbedtls_zeroize( void *v, size_t n ) {
volatile unsigned char *p = v; while( n-- ) *p++ = 0;
@@ -577,7 +580,7 @@
}
#endif /* MBEDTLS_FS_IO */
#endif /* MBEDTLS_ASN1_PARSE_C */
-
+#endif/*MBEDTLS_DHM_ALT*/
#if defined(MBEDTLS_SELF_TEST)
static const char mbedtls_test_dhm_params[] =