1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00

Update docs

This commit is contained in:
Rhys Weatherley
2015-04-06 09:30:30 +10:00
parent 772ecf46e8
commit 52795520e2
338 changed files with 2163 additions and 1234 deletions

View File

@@ -114,35 +114,59 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CRYPTO_BIGNUMBERUTIL_h</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">// Define exactly one of these to 1 to set the size of the basic limb type.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// 16-bit limbs seem to give the best performance on 8-bit AVR micros.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define BIGNUMBER_LIMB_8BIT 0</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BIGNUMBER_LIMB_16BIT 1</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BIGNUMBER_LIMB_32BIT 0</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// Define the limb types to use on this platform.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#if BIGNUMBER_LIMB_8BIT</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint8_t limb_t;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">typedef</span> int8_t slimb_t;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">typedef</span> uint16_t dlimb_t;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#elif BIGNUMBER_LIMB_16BIT</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint16_t limb_t;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">typedef</span> int16_t slimb_t;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">typedef</span> uint32_t dlimb_t;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#elif BIGNUMBER_LIMB_32BIT</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint32_t limb_t;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">typedef</span> int32_t slimb_t;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">typedef</span> uint64_t dlimb_t;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error &quot;limb_t must be 8, 16, or 32 bits in size&quot;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// Define exactly one of these to 1 to set the size of the basic limb type.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// 16-bit limbs seem to give the best performance on 8-bit AVR micros.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define BIGNUMBER_LIMB_8BIT 0</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BIGNUMBER_LIMB_16BIT 1</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BIGNUMBER_LIMB_32BIT 0</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// Define the limb types to use on this platform.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#if BIGNUMBER_LIMB_8BIT</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint8_t limb_t;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">typedef</span> int8_t slimb_t;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">typedef</span> uint16_t dlimb_t;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#elif BIGNUMBER_LIMB_16BIT</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint16_t limb_t;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">typedef</span> int16_t slimb_t;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">typedef</span> uint32_t dlimb_t;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#elif BIGNUMBER_LIMB_32BIT</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> uint32_t limb_t;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">typedef</span> int32_t slimb_t;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">typedef</span> uint64_t dlimb_t;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error &quot;limb_t must be 8, 16, or 32 bits in size&quot;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classBigNumberUtil.html"> 52</a></span>&#160;<span class="keyword">class </span><a class="code" href="classBigNumberUtil.html">BigNumberUtil</a></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classBigNumberUtil.html#a25041f898c417c8dd63f30536287ed79">unpackLE</a>(limb_t *limbs, <span class="keywordtype">size_t</span> count,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">const</span> uint8_t *bytes, <span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classBigNumberUtil.html#a63f9d7884eb36227d39e1b95e219d865">unpackBE</a>(limb_t *limbs, <span class="keywordtype">size_t</span> count,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> uint8_t *bytes, <span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classBigNumberUtil.html#a989cd5f389ac5adc798d8767383e2810">packLE</a>(uint8_t *bytes, <span class="keywordtype">size_t</span> len,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> limb_t *limbs, <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classBigNumberUtil.html#af49dd38173ea0310776d283aabea2ba0">packBE</a>(uint8_t *bytes, <span class="keywordtype">size_t</span> len,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> limb_t *limbs, <span class="keywordtype">size_t</span> count);</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="keyword">private</span>:</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Constructor and destructor are private - cannot instantiate this class.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classBigNumberUtil.html">BigNumberUtil</a>() {}</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ~<a class="code" href="classBigNumberUtil.html">BigNumberUtil</a>() {}</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;};</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="classBigNumberUtil_html"><div class="ttname"><a href="classBigNumberUtil.html">BigNumberUtil</a></div><div class="ttdoc">Utilities to assist with implementing big number arithmetic. </div><div class="ttdef"><b>Definition:</b> <a href="BigNumberUtil_8h_source.html#l00052">BigNumberUtil.h:52</a></div></div>
<div class="ttc" id="classBigNumberUtil_html_af49dd38173ea0310776d283aabea2ba0"><div class="ttname"><a href="classBigNumberUtil.html#af49dd38173ea0310776d283aabea2ba0">BigNumberUtil::packBE</a></div><div class="ttdeci">static void packBE(uint8_t *bytes, size_t len, const limb_t *limbs, size_t count)</div><div class="ttdoc">Packs the big-endian byte representation of a big number into a byte array. </div><div class="ttdef"><b>Definition:</b> <a href="BigNumberUtil_8cpp_source.html#l00293">BigNumberUtil.cpp:293</a></div></div>
<div class="ttc" id="classBigNumberUtil_html_a25041f898c417c8dd63f30536287ed79"><div class="ttname"><a href="classBigNumberUtil.html#a25041f898c417c8dd63f30536287ed79">BigNumberUtil::unpackLE</a></div><div class="ttdeci">static void unpackLE(limb_t *limbs, size_t count, const uint8_t *bytes, size_t len)</div><div class="ttdoc">Unpacks the little-endian byte representation of a big number into a limb array. </div><div class="ttdef"><b>Definition:</b> <a href="BigNumberUtil_8cpp_source.html#l00054">BigNumberUtil.cpp:54</a></div></div>
<div class="ttc" id="classBigNumberUtil_html_a63f9d7884eb36227d39e1b95e219d865"><div class="ttname"><a href="classBigNumberUtil.html#a63f9d7884eb36227d39e1b95e219d865">BigNumberUtil::unpackBE</a></div><div class="ttdeci">static void unpackBE(limb_t *limbs, size_t count, const uint8_t *bytes, size_t len)</div><div class="ttdoc">Unpacks the big-endian byte representation of a big number into a limb array. </div><div class="ttdef"><b>Definition:</b> <a href="BigNumberUtil_8cpp_source.html#l00133">BigNumberUtil.cpp:133</a></div></div>
<div class="ttc" id="classBigNumberUtil_html_a989cd5f389ac5adc798d8767383e2810"><div class="ttname"><a href="classBigNumberUtil.html#a989cd5f389ac5adc798d8767383e2810">BigNumberUtil::packLE</a></div><div class="ttdeci">static void packLE(uint8_t *bytes, size_t len, const limb_t *limbs, size_t count)</div><div class="ttdoc">Packs the little-endian byte representation of a big number into a byte array. </div><div class="ttdef"><b>Definition:</b> <a href="BigNumberUtil_8cpp_source.html#l00207">BigNumberUtil.cpp:207</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 2 2015 16:36:50 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Mon Apr 6 2015 09:30:16 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>