Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > f835bee5b8b7ec08e20fae17cab51e63 > files > 173

lib64mbedtls-devel-2.7.3-1.mga6.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mbed TLS v2.7.3: dhm.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mbed TLS v2.7.3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dhm.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Diffie-Hellman-Merkle key exchange.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8h_source.html">config.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="bignum_8h_source.html">bignum.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for dhm.h:</div>
<div class="dyncontent">
<div class="center"><img src="dhm_8h__incl.png" border="0" usemap="#dhm_8h" alt=""/></div>
<map name="dhm_8h" id="dhm_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="dhm_8h__dep__incl.png" border="0" usemap="#dhm_8hdep" alt=""/></div>
<map name="dhm_8hdep" id="dhm_8hdep">
</map>
</div>
</div>
<p><a href="dhm_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The DHM context structure.  <a href="structmbedtls__dhm__context.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aed8709aee853dc12b0ed69980dd05ac9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#aed8709aee853dc12b0ed69980dd05ac9">MBEDTLS_ERR_DHM_BAD_INPUT_DATA</a>&#160;&#160;&#160;-0x3080</td></tr>
<tr class="separator:aed8709aee853dc12b0ed69980dd05ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeda9c1e986e7602a7aecd7aab670c765"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#aeda9c1e986e7602a7aecd7aab670c765">MBEDTLS_ERR_DHM_READ_PARAMS_FAILED</a>&#160;&#160;&#160;-0x3100</td></tr>
<tr class="separator:aeda9c1e986e7602a7aecd7aab670c765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14e2cef69f706b669ff97924d9f0c393"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a14e2cef69f706b669ff97924d9f0c393">MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED</a>&#160;&#160;&#160;-0x3180</td></tr>
<tr class="separator:a14e2cef69f706b669ff97924d9f0c393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e6f0e88a0c1865c8d4cbe576ee7a5fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a8e6f0e88a0c1865c8d4cbe576ee7a5fb">MBEDTLS_ERR_DHM_READ_PUBLIC_FAILED</a>&#160;&#160;&#160;-0x3200</td></tr>
<tr class="separator:a8e6f0e88a0c1865c8d4cbe576ee7a5fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6a753b182c2967f4c461d35cd00af3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a4f6a753b182c2967f4c461d35cd00af3">MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED</a>&#160;&#160;&#160;-0x3280</td></tr>
<tr class="separator:a4f6a753b182c2967f4c461d35cd00af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f4983888eefb427e2bd10a5fa4e608"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a24f4983888eefb427e2bd10a5fa4e608">MBEDTLS_ERR_DHM_CALC_SECRET_FAILED</a>&#160;&#160;&#160;-0x3300</td></tr>
<tr class="separator:a24f4983888eefb427e2bd10a5fa4e608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa4b3662afd1101c37e07e36b535da3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#acfa4b3662afd1101c37e07e36b535da3">MBEDTLS_ERR_DHM_INVALID_FORMAT</a>&#160;&#160;&#160;-0x3380</td></tr>
<tr class="separator:acfa4b3662afd1101c37e07e36b535da3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab41c35f09ac9121671a51d057d06d726"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#ab41c35f09ac9121671a51d057d06d726">MBEDTLS_ERR_DHM_ALLOC_FAILED</a>&#160;&#160;&#160;-0x3400</td></tr>
<tr class="separator:ab41c35f09ac9121671a51d057d06d726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9398d77c460671c8fa2a79be8cbf459e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a9398d77c460671c8fa2a79be8cbf459e">MBEDTLS_ERR_DHM_FILE_IO_ERROR</a>&#160;&#160;&#160;-0x3480</td></tr>
<tr class="separator:a9398d77c460671c8fa2a79be8cbf459e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d890662f9f38f8c09659683b3ceaa98"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a4d890662f9f38f8c09659683b3ceaa98">MBEDTLS_ERR_DHM_HW_ACCEL_FAILED</a>&#160;&#160;&#160;-0x3500</td></tr>
<tr class="separator:a4d890662f9f38f8c09659683b3ceaa98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28b1306903941cfd0254d375346491a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a28b1306903941cfd0254d375346491a9">MBEDTLS_ERR_DHM_SET_GROUP_FAILED</a>&#160;&#160;&#160;-0x3580</td></tr>
<tr class="separator:a28b1306903941cfd0254d375346491a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc7f99f3c236d4cdf1db8d4c797f27e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(VAL)&#160;&#160;&#160;VAL</td></tr>
<tr class="separator:afc7f99f3c236d4cdf1db8d4c797f27e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b3d09b17d7633e939abb5dac8d7ebf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#ab9b3d09b17d7633e939abb5dac8d7ebf">MBEDTLS_DHM_RFC5114_MODP_2048_P</a></td></tr>
<tr class="separator:ab9b3d09b17d7633e939abb5dac8d7ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200fd0dfffd4d57a0f16181fa655c4db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a200fd0dfffd4d57a0f16181fa655c4db">MBEDTLS_DHM_RFC5114_MODP_2048_G</a></td></tr>
<tr class="separator:a200fd0dfffd4d57a0f16181fa655c4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8625d753bfb49304c83ec1a459446cd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a8625d753bfb49304c83ec1a459446cd5">MBEDTLS_DHM_RFC3526_MODP_2048_P</a></td></tr>
<tr class="separator:a8625d753bfb49304c83ec1a459446cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836eb6b044e65d54a0ca008e9a8e9d39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a836eb6b044e65d54a0ca008e9a8e9d39">MBEDTLS_DHM_RFC3526_MODP_2048_G</a>&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td></tr>
<tr class="separator:a836eb6b044e65d54a0ca008e9a8e9d39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23f4ceeaad9f78331a9449fd2b77b8e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a23f4ceeaad9f78331a9449fd2b77b8e7">MBEDTLS_DHM_RFC3526_MODP_3072_P</a></td></tr>
<tr class="separator:a23f4ceeaad9f78331a9449fd2b77b8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd1005eb562a5ce4375e6ec5098d7f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a5dd1005eb562a5ce4375e6ec5098d7f2">MBEDTLS_DHM_RFC3526_MODP_3072_G</a>&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td></tr>
<tr class="separator:a5dd1005eb562a5ce4375e6ec5098d7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b591481dd8671423649c4f1c22a6c14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a5b591481dd8671423649c4f1c22a6c14">MBEDTLS_DHM_RFC3526_MODP_4096_P</a></td></tr>
<tr class="separator:a5b591481dd8671423649c4f1c22a6c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03e41372b3b01fc62472e53c839c3cfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a03e41372b3b01fc62472e53c839c3cfd">MBEDTLS_DHM_RFC3526_MODP_4096_G</a>&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td></tr>
<tr class="separator:a03e41372b3b01fc62472e53c839c3cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb5cd7f7911cb063f03ca5fce9ef997f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#acb5cd7f7911cb063f03ca5fce9ef997f">MBEDTLS_DHM_RFC3526_MODP_2048_P_BIN</a></td></tr>
<tr class="separator:acb5cd7f7911cb063f03ca5fce9ef997f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed921231062170caed5046234c918c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a6ed921231062170caed5046234c918c5">MBEDTLS_DHM_RFC3526_MODP_2048_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:a6ed921231062170caed5046234c918c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e89f294fbb4ec2270c5c255a462291"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a44e89f294fbb4ec2270c5c255a462291">MBEDTLS_DHM_RFC3526_MODP_3072_P_BIN</a></td></tr>
<tr class="separator:a44e89f294fbb4ec2270c5c255a462291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf41ce1ea4a4c26533a8efdf9cb2c470"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#abf41ce1ea4a4c26533a8efdf9cb2c470">MBEDTLS_DHM_RFC3526_MODP_3072_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:abf41ce1ea4a4c26533a8efdf9cb2c470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac51489834a47dbd444d1a0cb6acf98cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#ac51489834a47dbd444d1a0cb6acf98cf">MBEDTLS_DHM_RFC3526_MODP_4096_P_BIN</a></td></tr>
<tr class="separator:ac51489834a47dbd444d1a0cb6acf98cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a232e35f0167ae77cf59195aec4aedee2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a232e35f0167ae77cf59195aec4aedee2">MBEDTLS_DHM_RFC3526_MODP_4096_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:a232e35f0167ae77cf59195aec4aedee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9cfaa8dcfb3db1c8c2487efde1d745"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#aed9cfaa8dcfb3db1c8c2487efde1d745">MBEDTLS_DHM_RFC7919_FFDHE2048_P_BIN</a></td></tr>
<tr class="separator:aed9cfaa8dcfb3db1c8c2487efde1d745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41468a1a67e9feeb99114b6847422538"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a41468a1a67e9feeb99114b6847422538">MBEDTLS_DHM_RFC7919_FFDHE2048_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:a41468a1a67e9feeb99114b6847422538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e7c575e8f1a8bc2684ddfb04ddcec2f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a9e7c575e8f1a8bc2684ddfb04ddcec2f">MBEDTLS_DHM_RFC7919_FFDHE3072_P_BIN</a></td></tr>
<tr class="separator:a9e7c575e8f1a8bc2684ddfb04ddcec2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac1708201951a5a7c12894c81250ef8b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#aac1708201951a5a7c12894c81250ef8b">MBEDTLS_DHM_RFC7919_FFDHE3072_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:aac1708201951a5a7c12894c81250ef8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b61a07466c1f105f6280fc8104139e9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a0b61a07466c1f105f6280fc8104139e9">MBEDTLS_DHM_RFC7919_FFDHE4096_P_BIN</a></td></tr>
<tr class="separator:a0b61a07466c1f105f6280fc8104139e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18d36d6d8a1f20a891da7f92273cd00f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a18d36d6d8a1f20a891da7f92273cd00f">MBEDTLS_DHM_RFC7919_FFDHE4096_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:a18d36d6d8a1f20a891da7f92273cd00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4fd0bc705d07e161d6f96f3d5bd2ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a7c4fd0bc705d07e161d6f96f3d5bd2ab">MBEDTLS_DHM_RFC7919_FFDHE6144_P_BIN</a></td></tr>
<tr class="separator:a7c4fd0bc705d07e161d6f96f3d5bd2ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af699dd37b937183b5337db1fdf88480a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#af699dd37b937183b5337db1fdf88480a">MBEDTLS_DHM_RFC7919_FFDHE6144_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:af699dd37b937183b5337db1fdf88480a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964aea0894fdf834223181b804a0817e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a964aea0894fdf834223181b804a0817e">MBEDTLS_DHM_RFC7919_FFDHE8192_P_BIN</a></td></tr>
<tr class="separator:a964aea0894fdf834223181b804a0817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af86fbf52205e275e3cec0a2307f4b4b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#af86fbf52205e275e3cec0a2307f4b4b1">MBEDTLS_DHM_RFC7919_FFDHE8192_G_BIN</a>&#160;&#160;&#160;{ 0x02 }</td></tr>
<tr class="separator:af86fbf52205e275e3cec0a2307f4b4b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abf5ead59678b6ca8892b3c052452f5ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#abf5ead59678b6ca8892b3c052452f5ac">mbedtls_dhm_init</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx)</td></tr>
<tr class="memdesc:abf5ead59678b6ca8892b3c052452f5ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the DHM context.  <a href="#abf5ead59678b6ca8892b3c052452f5ac">More...</a><br /></td></tr>
<tr class="separator:abf5ead59678b6ca8892b3c052452f5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5348c82e9f13a7583aa9f17b5e841343"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a5348c82e9f13a7583aa9f17b5e841343">mbedtls_dhm_read_params</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, unsigned char **p, const unsigned char *end)</td></tr>
<tr class="memdesc:a5348c82e9f13a7583aa9f17b5e841343"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function parses the ServerKeyExchange parameters.  <a href="#a5348c82e9f13a7583aa9f17b5e841343">More...</a><br /></td></tr>
<tr class="separator:a5348c82e9f13a7583aa9f17b5e841343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad674b35720bf6c3f3ba66355cab5e449"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#ad674b35720bf6c3f3ba66355cab5e449">mbedtls_dhm_make_params</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, int x_size, unsigned char *output, size_t *olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr>
<tr class="memdesc:ad674b35720bf6c3f3ba66355cab5e449"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets up and writes the ServerKeyExchange parameters.  <a href="#ad674b35720bf6c3f3ba66355cab5e449">More...</a><br /></td></tr>
<tr class="separator:ad674b35720bf6c3f3ba66355cab5e449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c7cbb569bdc1d58f8c160ded54b318"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a22c7cbb569bdc1d58f8c160ded54b318">mbedtls_dhm_set_group</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *P, const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *G)</td></tr>
<tr class="memdesc:a22c7cbb569bdc1d58f8c160ded54b318"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set prime modulus and generator.  <a href="#a22c7cbb569bdc1d58f8c160ded54b318">More...</a><br /></td></tr>
<tr class="separator:a22c7cbb569bdc1d58f8c160ded54b318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe799e776fd0f27eb4080248e547f3d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a1fe799e776fd0f27eb4080248e547f3d">mbedtls_dhm_read_public</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, const unsigned char *input, size_t ilen)</td></tr>
<tr class="memdesc:a1fe799e776fd0f27eb4080248e547f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function imports the public value G^Y of the peer.  <a href="#a1fe799e776fd0f27eb4080248e547f3d">More...</a><br /></td></tr>
<tr class="separator:a1fe799e776fd0f27eb4080248e547f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49bee438130355e24540f7565e7465f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#af49bee438130355e24540f7565e7465f">mbedtls_dhm_make_public</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, int x_size, unsigned char *output, size_t olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr>
<tr class="memdesc:af49bee438130355e24540f7565e7465f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates its own private value <code>X</code> and exports <code>G^X</code>.  <a href="#af49bee438130355e24540f7565e7465f">More...</a><br /></td></tr>
<tr class="separator:af49bee438130355e24540f7565e7465f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3985de01420d018ed91daec9e7d7969"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#ac3985de01420d018ed91daec9e7d7969">mbedtls_dhm_calc_secret</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx, unsigned char *output, size_t output_size, size_t *olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr>
<tr class="memdesc:ac3985de01420d018ed91daec9e7d7969"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function derives and exports the shared secret <code></code>(G^Y)^X mod <code>P</code>.  <a href="#ac3985de01420d018ed91daec9e7d7969">More...</a><br /></td></tr>
<tr class="separator:ac3985de01420d018ed91daec9e7d7969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a092d039d88063538f67aaf9cf45d1d30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a092d039d88063538f67aaf9cf45d1d30">mbedtls_dhm_free</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *ctx)</td></tr>
<tr class="memdesc:a092d039d88063538f67aaf9cf45d1d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function frees and clears the components of a DHM key.  <a href="#a092d039d88063538f67aaf9cf45d1d30">More...</a><br /></td></tr>
<tr class="separator:a092d039d88063538f67aaf9cf45d1d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1bf556398cac1761aa2041908e9f619"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gae1bf556398cac1761aa2041908e9f619">mbedtls_dhm_parse_dhm</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *dhm, const unsigned char *dhmin, size_t dhminlen)</td></tr>
<tr class="memdesc:gae1bf556398cac1761aa2041908e9f619"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function parses DHM parameters in PEM or DER format.  <a href="group__x509__module.html#gae1bf556398cac1761aa2041908e9f619">More...</a><br /></td></tr>
<tr class="separator:gae1bf556398cac1761aa2041908e9f619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2f53ca5e795b7e8674f092777a5a828"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gae2f53ca5e795b7e8674f092777a5a828">mbedtls_dhm_parse_dhmfile</a> (<a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *dhm, const char *path)</td></tr>
<tr class="memdesc:gae2f53ca5e795b7e8674f092777a5a828"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function loads and parses DHM parameters from a file.  <a href="group__x509__module.html#gae2f53ca5e795b7e8674f092777a5a828">More...</a><br /></td></tr>
<tr class="separator:gae2f53ca5e795b7e8674f092777a5a828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a0942c0e297ed573b31dac50751795"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dhm_8h.html#a72a0942c0e297ed573b31dac50751795">mbedtls_dhm_self_test</a> (int verbose)</td></tr>
<tr class="memdesc:a72a0942c0e297ed573b31dac50751795"><td class="mdescLeft">&#160;</td><td class="mdescRight">The DMH checkup routine.  <a href="#a72a0942c0e297ed573b31dac50751795">More...</a><br /></td></tr>
<tr class="separator:a72a0942c0e297ed573b31dac50751795"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Diffie-Hellman-Merkle key exchange. </p>
<p><em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em> defines a number of standardized Diffie-Hellman groups for IKE.</p>
<p><em>RFC-5114: Additional Diffie-Hellman Groups for Use with IETF Standards</em> defines a number of standardized Diffie-Hellman groups that can be used.</p>
<dl class="section warning"><dt>Warning</dt><dd>The security of the DHM key exchange relies on the proper choice of prime modulus - optimally, it should be a safe prime. The usage of non-safe primes both decreases the difficulty of the underlying discrete logarithm problem and can lead to small subgroup attacks leaking private exponent bits when invalid public keys are used and not detected. This is especially relevant if the same DHM parameters are reused for multiple key exchanges as in static DHM, while the criticality of small-subgroup attacks is lower for ephemeral DHM.</dd>
<dd>
For performance reasons, the code does neither perform primality nor safe primality tests, nor the expensive checks for invalid subgroups. Moreover, even if these were performed, non-standardized primes cannot be trusted because of the possibility of backdoors that can't be effectively checked for.</dd>
<dd>
Diffie-Hellman-Merkle is therefore a security risk when not using standardized primes generated using a trustworthy ("nothing up
          my sleeve") method, such as the RFC 3526 / 7919 primes. In the TLS protocol, DH parameters need to be negotiated, so using the default primes systematically is not always an option. If possible, use Elliptic Curve Diffie-Hellman (ECDH), which has better performance, and for which the TLS protocol mandates the use of standard parameters. </dd></dl>

<p class="definition">Definition in file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="afc7f99f3c236d4cdf1db8d4c797f27e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc7f99f3c236d4cdf1db8d4c797f27e4">&#9670;&nbsp;</a></span>MBEDTLS_DEPRECATED_STRING_CONSTANT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DEPRECATED_STRING_CONSTANT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VAL</td><td>)</td>
          <td>&#160;&#160;&#160;VAL</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>RFC 3526, RFC 5114 and RFC 7919 standardize a number of Diffie-Hellman groups, some of which are included here for use within the SSL/TLS module and the user's convenience when configuring the Diffie-Hellman parameters by hand through <code>mbedtls_ssl_conf_dh_param</code>.</p>
<p>The following lists the source of the above groups in the standards:</p><ul>
<li>RFC 5114 section 2.2: 2048-bit MODP Group with 224-bit Prime Order Subgroup</li>
<li>RFC 3526 section 3: 2048-bit MODP Group</li>
<li>RFC 3526 section 4: 3072-bit MODP Group</li>
<li>RFC 3526 section 5: 4096-bit MODP Group</li>
<li>RFC 7919 section A.1: ffdhe2048</li>
<li>RFC 7919 section A.2: ffdhe3072</li>
<li>RFC 7919 section A.3: ffdhe4096</li>
<li>RFC 7919 section A.4: ffdhe6144</li>
<li>RFC 7919 section A.5: ffdhe8192</li>
</ul>
<p>The constants with suffix "_p" denote the chosen prime moduli, while the constants with suffix "_g" denote the chosen generator of the associated prime field.</p>
<p>The constants further suffixed with "_bin" are provided in binary format, while all other constants represent null-terminated strings holding the hexadecimal presentation of the respective numbers.</p>
<p>The primes from RFC 3526 and RFC 7919 have been generating by the following trust-worthy procedure:</p><ul>
<li>Fix N in { 2048, 3072, 4096, 6144, 8192 } and consider the N-bit number the first and last 64 bits are all 1, and the remaining N - 128 bits of which are 0x7ff...ff.</li>
<li>Add the smallest multiple of the first N - 129 bits of the binary expansion of pi (for RFC 5236) or e (for RFC 7919) to this intermediate bit-string such that the resulting integer is a safe-prime.</li>
<li>The result is the respective RFC 3526 / 7919 prime, and the corresponding generator is always chosen to be 2 (which is a square for these prime, hence the corresponding subgroup has order (p-1)/2 and avoids leaking a bit in the private exponent). </li>
</ul>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00357">357</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a836eb6b044e65d54a0ca008e9a8e9d39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a836eb6b044e65d54a0ca008e9a8e9d39">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_2048_G</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_2048_G&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The hexadecimal presentation of the chosen generator of the 2048-bit MODP Group, as defined in <em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00438">438</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a6ed921231062170caed5046234c918c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ed921231062170caed5046234c918c5">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_2048_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_2048_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00551">551</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a8625d753bfb49304c83ec1a459446cd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8625d753bfb49304c83ec1a459446cd5">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_2048_P</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_2048_P</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(                         \</div><div class="line">        <span class="stringliteral">&quot;FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;29024E088A67CC74020BBEA63B139B22514A08798E3404DD&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;83655D23DCA3AD961C62F356208552BB9ED529077096966D&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;DE2BCBF6955817183995497CEA956AE515D2261898FA0510&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;15728E5A8AACAA68FFFFFFFFFFFFFFFF&quot;</span> )</div><div class="ttc" id="dhm_8h_html_afc7f99f3c236d4cdf1db8d4c797f27e4"><div class="ttname"><a href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a></div><div class="ttdeci">#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)</div><div class="ttdef"><b>Definition:</b> <a href="dhm_8h_source.html#l00357">dhm.h:357</a></div></div>
</div><!-- fragment --><p>The hexadecimal presentation of the prime underlying the 2048-bit MODP Group, as defined in <em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>The hex-encoded primes from RFC 3625 are deprecated and superseded by the corresponding macros providing them as binary constants. Their hex-encoded constants are likely to be removed in a future version of the library.</dd></dl>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00419">419</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="acb5cd7f7911cb063f03ca5fce9ef997f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb5cd7f7911cb063f03ca5fce9ef997f">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_2048_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_2048_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00517">517</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a5dd1005eb562a5ce4375e6ec5098d7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dd1005eb562a5ce4375e6ec5098d7f2">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_3072_G</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_3072_G&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The hexadecimal presentation of the chosen generator of the 3072-bit MODP Group, as defined in <em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00470">470</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="abf41ce1ea4a4c26533a8efdf9cb2c470"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf41ce1ea4a4c26533a8efdf9cb2c470">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_3072_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_3072_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00603">603</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a23f4ceeaad9f78331a9449fd2b77b8e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23f4ceeaad9f78331a9449fd2b77b8e7">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_3072_P</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_3072_P</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(                         \</div><div class="line">        <span class="stringliteral">&quot;FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;29024E088A67CC74020BBEA63B139B22514A08798E3404DD&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;83655D23DCA3AD961C62F356208552BB9ED529077096966D&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;DE2BCBF6955817183995497CEA956AE515D2261898FA0510&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;F12FFA06D98A0864D87602733EC86A64521F2B18177B200C&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF&quot;</span> )</div><div class="ttc" id="dhm_8h_html_afc7f99f3c236d4cdf1db8d4c797f27e4"><div class="ttname"><a href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a></div><div class="ttdeci">#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)</div><div class="ttdef"><b>Definition:</b> <a href="dhm_8h_source.html#l00357">dhm.h:357</a></div></div>
</div><!-- fragment --><p>The hexadecimal presentation of the prime underlying the 3072-bit MODP Group, as defined in <em>RFC-3072: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00446">446</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a44e89f294fbb4ec2270c5c255a462291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44e89f294fbb4ec2270c5c255a462291">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_3072_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_3072_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00553">553</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a03e41372b3b01fc62472e53c839c3cfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03e41372b3b01fc62472e53c839c3cfd">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_4096_G</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_4096_G&#160;&#160;&#160;<a class="el" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>( &quot;02&quot; )</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The hexadecimal presentation of the chosen generator of the 4096-bit MODP Group, as defined in <em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00508">508</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a232e35f0167ae77cf59195aec4aedee2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a232e35f0167ae77cf59195aec4aedee2">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_4096_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_4096_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00671">671</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a5b591481dd8671423649c4f1c22a6c14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b591481dd8671423649c4f1c22a6c14">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_4096_P</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_4096_P</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(                      \</div><div class="line">        <span class="stringliteral">&quot;FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;29024E088A67CC74020BBEA63B139B22514A08798E3404DD&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;83655D23DCA3AD961C62F356208552BB9ED529077096966D&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;DE2BCBF6955817183995497CEA956AE515D2261898FA0510&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;F12FFA06D98A0864D87602733EC86A64521F2B18177B200C&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;43DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D7&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;88719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA9&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;93B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199&quot;</span>   \</div><div class="line">        <span class="stringliteral">&quot;FFFFFFFFFFFFFFFF&quot;</span> )</div><div class="ttc" id="dhm_8h_html_afc7f99f3c236d4cdf1db8d4c797f27e4"><div class="ttname"><a href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a></div><div class="ttdeci">#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)</div><div class="ttdef"><b>Definition:</b> <a href="dhm_8h_source.html#l00357">dhm.h:357</a></div></div>
</div><!-- fragment --><p>The hexadecimal presentation of the prime underlying the 4096-bit MODP Group, as defined in <em>RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00478">478</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="ac51489834a47dbd444d1a0cb6acf98cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac51489834a47dbd444d1a0cb6acf98cf">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC3526_MODP_4096_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC3526_MODP_4096_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00605">605</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a200fd0dfffd4d57a0f16181fa655c4db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a200fd0dfffd4d57a0f16181fa655c4db">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC5114_MODP_2048_G</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC5114_MODP_2048_G</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(                         \</div><div class="line">        <span class="stringliteral">&quot;AC4032EF4F2D9AE39DF30B5C8FFDAC506CDEBE7B89998CAF&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;74866A08CFE4FFE3A6824A4E10B9A6F0DD921F01A70C4AFA&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;AB739D7700C29F52C57DB17C620A8652BE5E9001A8D66AD7&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;C17669101999024AF4D027275AC1348BB8A762D0521BC98A&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;E247150422EA1ED409939D54DA7460CDB5F6C6B250717CBE&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;F180EB34118E98D119529A45D6F834566E3025E316A330EF&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;BB77A86F0C1AB15B051AE3D428C8F8ACB70A8137150B8EEB&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;10E183EDD19963DDD9E263E4770589EF6AA21E7F5F2FF381&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;B539CCE3409D13CD566AFBB48D6C019181E1BCFE94B30269&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC0179&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;81BC087F2A7065B384B890D3191F2BFA&quot;</span> )</div><div class="ttc" id="dhm_8h_html_afc7f99f3c236d4cdf1db8d4c797f27e4"><div class="ttname"><a href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a></div><div class="ttdeci">#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)</div><div class="ttdef"><b>Definition:</b> <a href="dhm_8h_source.html#l00357">dhm.h:357</a></div></div>
</div><!-- fragment --><p>The hexadecimal presentation of the chosen generator of the 2048-bit MODP Group with 224-bit Prime Order Subgroup, as defined in <em>RFC-5114: Additional Diffie-Hellman Groups for Use with IETF Standards</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00394">394</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="ab9b3d09b17d7633e939abb5dac8d7ebf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9b3d09b17d7633e939abb5dac8d7ebf">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC5114_MODP_2048_P</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC5114_MODP_2048_P</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a>(                         \</div><div class="line">        <span class="stringliteral">&quot;AD107E1E9123A9D0D660FAA79559C51FA20D64E5683B9FD1&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;B54B1597B61D0A75E6FA141DF95A56DBAF9A3C407BA1DF15&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;EB3D688A309C180E1DE6B85A1274A0A66D3F8152AD6AC212&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;9037C9EDEFDA4DF8D91E8FEF55B7394B7AD5B7D0B6C12207&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;C9F98D11ED34DBF6C6BA0B2C8BBC27BE6A00E0A0B9C49708&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;B3BF8A317091883681286130BC8985DB1602E714415D9330&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;278273C7DE31EFDC7310F7121FD5A07415987D9ADC0A486D&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;CDF93ACC44328387315D75E198C641A480CD86A1B9E587E8&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;BE60E69CC928B2B9C52172E413042E9B23F10B0E16E79763&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;C9B53DCF4BA80A29E3FB73C16B8E75B97EF363E2FFA31F71&quot;</span>      \</div><div class="line">        <span class="stringliteral">&quot;CF9DE5384E71B81C0AC4DFFE0C10E64F&quot;</span> )</div><div class="ttc" id="dhm_8h_html_afc7f99f3c236d4cdf1db8d4c797f27e4"><div class="ttname"><a href="dhm_8h.html#afc7f99f3c236d4cdf1db8d4c797f27e4">MBEDTLS_DEPRECATED_STRING_CONSTANT</a></div><div class="ttdeci">#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)</div><div class="ttdef"><b>Definition:</b> <a href="dhm_8h_source.html#l00357">dhm.h:357</a></div></div>
</div><!-- fragment --><dl class="section warning"><dt>Warning</dt><dd>The origin of the primes in RFC 5114 is not documented and their use therefore constitutes a security risk!</dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>The hex-encoded primes from RFC 5114 are deprecated and are likely to be removed in a future version of the library without replacement. </dd></dl>
<p>The hexadecimal presentation of the prime underlying the 2048-bit MODP Group with 224-bit Prime Order Subgroup, as defined in <em>RFC-5114: Additional Diffie-Hellman Groups for Use with IETF Standards</em>. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00375">375</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a41468a1a67e9feeb99114b6847422538"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41468a1a67e9feeb99114b6847422538">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE2048_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE2048_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00707">707</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="aed9cfaa8dcfb3db1c8c2487efde1d745"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed9cfaa8dcfb3db1c8c2487efde1d745">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE2048_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE2048_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00673">673</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="aac1708201951a5a7c12894c81250ef8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac1708201951a5a7c12894c81250ef8b">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE3072_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE3072_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00759">759</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a9e7c575e8f1a8bc2684ddfb04ddcec2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e7c575e8f1a8bc2684ddfb04ddcec2f">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE3072_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE3072_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00709">709</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a18d36d6d8a1f20a891da7f92273cd00f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18d36d6d8a1f20a891da7f92273cd00f">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE4096_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE4096_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00827">827</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a0b61a07466c1f105f6280fc8104139e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b61a07466c1f105f6280fc8104139e9">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE4096_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE4096_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00761">761</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="af699dd37b937183b5337db1fdf88480a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af699dd37b937183b5337db1fdf88480a">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE6144_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE6144_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00927">927</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a7c4fd0bc705d07e161d6f96f3d5bd2ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c4fd0bc705d07e161d6f96f3d5bd2ab">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE6144_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE6144_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00829">829</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="af86fbf52205e275e3cec0a2307f4b4b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af86fbf52205e275e3cec0a2307f4b4b1">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE8192_G_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE8192_G_BIN&#160;&#160;&#160;{ 0x02 }</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l01059">1059</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a964aea0894fdf834223181b804a0817e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964aea0894fdf834223181b804a0817e">&#9670;&nbsp;</a></span>MBEDTLS_DHM_RFC7919_FFDHE8192_P_BIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DHM_RFC7919_FFDHE8192_P_BIN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00929">929</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="ab41c35f09ac9121671a51d057d06d726"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab41c35f09ac9121671a51d057d06d726">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_ALLOC_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_ALLOC_FAILED&#160;&#160;&#160;-0x3400</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Allocation of memory failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00080">80</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="aed8709aee853dc12b0ed69980dd05ac9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed8709aee853dc12b0ed69980dd05ac9">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_BAD_INPUT_DATA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_BAD_INPUT_DATA&#160;&#160;&#160;-0x3080</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Bad input parameters. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00073">73</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a24f4983888eefb427e2bd10a5fa4e608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24f4983888eefb427e2bd10a5fa4e608">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_CALC_SECRET_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_CALC_SECRET_FAILED&#160;&#160;&#160;-0x3300</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calculation of the DHM secret failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00078">78</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a9398d77c460671c8fa2a79be8cbf459e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9398d77c460671c8fa2a79be8cbf459e">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_FILE_IO_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_FILE_IO_ERROR&#160;&#160;&#160;-0x3480</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read or write of file failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00081">81</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a4d890662f9f38f8c09659683b3ceaa98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d890662f9f38f8c09659683b3ceaa98">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_HW_ACCEL_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_HW_ACCEL_FAILED&#160;&#160;&#160;-0x3500</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>DHM hardware accelerator failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00082">82</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="acfa4b3662afd1101c37e07e36b535da3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfa4b3662afd1101c37e07e36b535da3">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_INVALID_FORMAT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_INVALID_FORMAT&#160;&#160;&#160;-0x3380</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The ASN.1 data is not formatted correctly. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00079">79</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a14e2cef69f706b669ff97924d9f0c393"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14e2cef69f706b669ff97924d9f0c393">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED&#160;&#160;&#160;-0x3180</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Making of the DHM parameters failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00075">75</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a4f6a753b182c2967f4c461d35cd00af3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f6a753b182c2967f4c461d35cd00af3">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED&#160;&#160;&#160;-0x3280</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Making of the public value failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00077">77</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="aeda9c1e986e7602a7aecd7aab670c765"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeda9c1e986e7602a7aecd7aab670c765">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_READ_PARAMS_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_READ_PARAMS_FAILED&#160;&#160;&#160;-0x3100</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reading of the DHM parameters failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00074">74</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a8e6f0e88a0c1865c8d4cbe576ee7a5fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e6f0e88a0c1865c8d4cbe576ee7a5fb">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_READ_PUBLIC_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_READ_PUBLIC_FAILED&#160;&#160;&#160;-0x3200</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reading of the public values failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00076">76</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<a id="a28b1306903941cfd0254d375346491a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28b1306903941cfd0254d375346491a9">&#9670;&nbsp;</a></span>MBEDTLS_ERR_DHM_SET_GROUP_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_DHM_SET_GROUP_FAILED&#160;&#160;&#160;-0x3580</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Setting the modulus and generator failed. </p>

<p class="definition">Definition at line <a class="el" href="dhm_8h_source.html#l00083">83</a> of file <a class="el" href="dhm_8h_source.html">dhm.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac3985de01420d018ed91daec9e7d7969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3985de01420d018ed91daec9e7d7969">&#9670;&nbsp;</a></span>mbedtls_dhm_calc_secret()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_calc_secret </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>output_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>olen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_rng</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_rng</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function derives and exports the shared secret <code></code>(G^Y)^X mod <code>P</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">output</td><td>The destination buffer. </td></tr>
    <tr><td class="paramname">output_size</td><td>The size of the destination buffer. Must be at least the size of ctx-&gt;len. </td></tr>
    <tr><td class="paramname">olen</td><td>On exit, holds the actual number of Bytes written. </td></tr>
    <tr><td class="paramname">f_rng</td><td>The RNG function, for blinding purposes. </td></tr>
    <tr><td class="paramname">p_rng</td><td>The RNG parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If non-NULL, <code>f_rng</code> is used to blind the input as a countermeasure against timing attacks. Blinding is used only if our secret value <code>X</code> is re-used and omitted otherwise. Therefore, we recommend always passing a non-NULL <code>f_rng</code> argument. </dd></dl>

</div>
</div>
<a id="a092d039d88063538f67aaf9cf45d1d30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a092d039d88063538f67aaf9cf45d1d30">&#9670;&nbsp;</a></span>mbedtls_dhm_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_dhm_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function frees and clears the components of a DHM key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context to free and clear. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abf5ead59678b6ca8892b3c052452f5ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf5ead59678b6ca8892b3c052452f5ac">&#9670;&nbsp;</a></span>mbedtls_dhm_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_dhm_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes the DHM context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context to initialize. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad674b35720bf6c3f3ba66355cab5e449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad674b35720bf6c3f3ba66355cab5e449">&#9670;&nbsp;</a></span>mbedtls_dhm_make_params()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_make_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>olen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_rng</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_rng</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets up and writes the ServerKeyExchange parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">x_size</td><td>The private value size in Bytes. </td></tr>
    <tr><td class="paramname">olen</td><td>The number of characters written. </td></tr>
    <tr><td class="paramname">output</td><td>The destination buffer. </td></tr>
    <tr><td class="paramname">f_rng</td><td>The RNG function. </td></tr>
    <tr><td class="paramname">p_rng</td><td>The RNG parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The destination buffer must be large enough to hold the reduced binary presentation of the modulus, the generator and the public key, each wrapped with a 2-byte length field. It is the responsibility of the caller to ensure that enough space is available. Refer to <code>mbedtls_mpi_size</code> to computing the byte-size of an MPI.</dd>
<dd>
This function assumes that <code>ctx-&gt;P</code> and <code>ctx-&gt;G</code> have already been properly set. For that, use <a class="el" href="dhm_8h.html#a22c7cbb569bdc1d58f8c160ded54b318" title="Set prime modulus and generator. ">mbedtls_dhm_set_group()</a> below in conjunction with <a class="el" href="bignum_8h.html#a68f62c99e53eb034daea486e5d5d83ca" title="Import X from unsigned binary data, big endian. ">mbedtls_mpi_read_binary()</a> and <a class="el" href="bignum_8h.html#a15efd3f2f86700b69f6c18d34ac05758" title="Import from an ASCII string. ">mbedtls_mpi_read_string()</a>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure. </dd></dl>

</div>
</div>
<a id="af49bee438130355e24540f7565e7465f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af49bee438130355e24540f7565e7465f">&#9670;&nbsp;</a></span>mbedtls_dhm_make_public()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_make_public </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>olen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_rng</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_rng</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function creates its own private value <code>X</code> and exports <code>G^X</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">x_size</td><td>The private value size in Bytes. </td></tr>
    <tr><td class="paramname">output</td><td>The destination buffer. </td></tr>
    <tr><td class="paramname">olen</td><td>The length of the destination buffer. Must be at least equal to ctx-&gt;len (the size of <code>P</code>). </td></tr>
    <tr><td class="paramname">f_rng</td><td>The RNG function. </td></tr>
    <tr><td class="paramname">p_rng</td><td>The RNG parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The destination buffer will always be fully written so as to contain a big-endian presentation of G^X mod P. If it is larger than ctx-&gt;len, it will accordingly be padded with zero-bytes in the beginning.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure. </dd></dl>

</div>
</div>
<a id="a5348c82e9f13a7583aa9f17b5e841343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5348c82e9f13a7583aa9f17b5e841343">&#9670;&nbsp;</a></span>mbedtls_dhm_read_params()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_read_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function parses the ServerKeyExchange parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">p</td><td>On input, *p must be the start of the input buffer. On output, *p is updated to point to the end of the data that has been read. On success, this is the first byte past the end of the ServerKeyExchange parameters. On error, this is the point at which an error has been detected, which is usually not useful except to debug failures. </td></tr>
    <tr><td class="paramname">end</td><td>The end of the input buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure. </dd></dl>

</div>
</div>
<a id="a1fe799e776fd0f27eb4080248e547f3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fe799e776fd0f27eb4080248e547f3d">&#9670;&nbsp;</a></span>mbedtls_dhm_read_public()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_read_public </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ilen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function imports the public value G^Y of the peer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">input</td><td>The input buffer. </td></tr>
    <tr><td class="paramname">ilen</td><td>The size of the input buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure. </dd></dl>

</div>
</div>
<a id="a72a0942c0e297ed573b31dac50751795"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a0942c0e297ed573b31dac50751795">&#9670;&nbsp;</a></span>mbedtls_dhm_self_test()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_self_test </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>verbose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The DMH checkup routine. </p>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or <code>1</code> on failure. </dd></dl>

</div>
</div>
<a id="a22c7cbb569bdc1d58f8c160ded54b318"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22c7cbb569bdc1d58f8c160ded54b318">&#9670;&nbsp;</a></span>mbedtls_dhm_set_group()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_dhm_set_group </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *&#160;</td>
          <td class="paramname"><em>G</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set prime modulus and generator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The DHM context. </td></tr>
    <tr><td class="paramname">P</td><td>The MPI holding DHM prime modulus. </td></tr>
    <tr><td class="paramname">G</td><td>The MPI holding DHM generator.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function can be used to set P, G in preparation for <code>mbedtls_dhm_make_params</code>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><code>0</code> if successful, or an <code>MBEDTLS_ERR_DHM_XXX</code> error code on failure. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue May 8 2018 21:08:41 for mbed TLS v2.7.3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>