<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: ecdh_support.h Source File</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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">AMCL
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ecdh_support.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ecdh__support_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">        Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">        or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">        distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">        regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">        to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">        &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">        with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">        http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">        Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">        software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">        &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">        KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">        specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">        under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef ECC_SUPPORT_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECC_SUPPORT_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* Auxiliary Functions */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *p,<span class="keywordtype">int</span> n,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *w,<span class="keywordtype">int</span> pad);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *K,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *tag);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/*extern void KDF1(octet *,int,octet *);*/</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> rep,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *C);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/* ECDH primitives - support functions */</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecdh__support_8h_html_a3f914310b794e24aed3b14958579c246"><div class="ttname"><a href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a></div><div class="ttdeci">int HMAC(int h, octet *M, octet *K, int len, octet *tag)</div><div class="ttdoc">HMAC of message M using key K to create tag of length len in octet tag.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:147</div></div>
<div class="ttc" id="ecdh__support_8h_html_a8828699bae266bf22a61ce901e49e0bc"><div class="ttname"><a href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a></div><div class="ttdeci">int AES_CBC_IV0_DECRYPT(octet *K, octet *C, octet *P)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:282</div></div>
<div class="ttc" id="structoctet_html"><div class="ttname"><a href="structoctet.html">octet</a></div><div class="ttdoc">Portable representation of a big positive number.</div><div class="ttdef"><b>Definition:</b> amcl.h:209</div></div>
<div class="ttc" id="ecdh__support_8h_html_a62c536a5dc88eb2f318773d6461f9759"><div class="ttname"><a href="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a></div><div class="ttdeci">void PBKDF2(int h, octet *P, octet *S, int rep, int len, octet *K)</div><div class="ttdoc">Password Based Key Derivation Function - generates key K from password, salt and repeat counter.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:206</div></div>
<div class="ttc" id="ecdh__support_8h_html_afa50c2b84fbb255a8484dc0f1ccb4e93"><div class="ttname"><a href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a></div><div class="ttdeci">void AES_CBC_IV0_ENCRYPT(octet *K, octet *P, octet *C)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:236</div></div>
<div class="ttc" id="ecdh__support_8h_html_a3078495b62c35ca843d7be428075787d"><div class="ttname"><a href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a></div><div class="ttdeci">void ehashit(int sha, octet *p, int n, octet *x, octet *w, int pad)</div><div class="ttdoc">general purpose hash function w=hash(p|n|x|y)</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:33</div></div>
<div class="ttc" id="ecdh__support_8h_html_af451b083058dddf1aa794a20f636793b"><div class="ttname"><a href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a></div><div class="ttdeci">void KDF2(int h, octet *Z, octet *P, int len, octet *K)</div><div class="ttdoc">Key Derivation Function - generates key K from inputs Z and P.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:182</div></div>
<div class="ttc" id="ecdh__support_8h_html_ae844e6528280a189a41b8095b8d41502"><div class="ttname"><a href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a></div><div class="ttdeci">void HASH(int h, octet *I, octet *O)</div><div class="ttdoc">hash an octet into another octet</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:141</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
