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[] =