Add ECC docs
This commit is contained in:
+38
-34
@@ -52,6 +52,8 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../curves/">Curves</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ecc/">Elliptic Curve Cryptography</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Public Keys</span></p>
|
||||
<ul class="current">
|
||||
@@ -115,7 +117,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="doc doc-children">
|
||||
<div class="doc doc-children">
|
||||
|
||||
|
||||
|
||||
@@ -139,6 +141,7 @@
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
|
||||
|
||||
<p>This class generate public key based on RSA algorithm</p>
|
||||
|
||||
|
||||
@@ -191,7 +194,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 45</span>
|
||||
@@ -323,7 +325,7 @@
|
||||
<span class="normal">171</span>
|
||||
<span class="normal">172</span>
|
||||
<span class="normal">173</span>
|
||||
<span class="normal">174</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">RSA</span><span class="p">:</span>
|
||||
<span class="normal">174</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">RSA</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This class generate public key based on RSA algorithm</span>
|
||||
|
||||
@@ -334,7 +336,7 @@
|
||||
<span class="sd"> private: Object of the RSAKey for the private key</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Build a RSA Key</span>
|
||||
<span class="sd"> """</span>
|
||||
@@ -343,7 +345,7 @@
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_public</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_private</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">generateKeys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">512</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">generateKeys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">512</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function generate both public and private keys</span>
|
||||
<span class="sd"> Args:</span>
|
||||
@@ -376,26 +378,26 @@
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_private</span> <span class="o">=</span> <span class="n">RSAKey</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="n">getsizeof</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">e</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">e</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_public</span><span class="o">.</span><span class="n">key</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">d</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">d</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_private</span><span class="o">.</span><span class="n">key</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">n</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">n</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_public</span><span class="o">.</span><span class="n">modulus</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">p</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">p</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_p</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">q</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">q</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_q</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">encrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">encrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function return a list of data encrypted with the public key</span>
|
||||
|
||||
@@ -411,7 +413,7 @@
|
||||
<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">dataEncoded</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">decrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">decrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function return a list decrypted with the private key</span>
|
||||
|
||||
@@ -427,7 +429,7 @@
|
||||
<span class="n">decrypted</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">chr</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">decrypted</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_str2bin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">_str2bin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function convert a string into the unicode value</span>
|
||||
|
||||
@@ -439,7 +441,7 @@
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="nb">ord</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">data</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_inverseModular</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">_inverseModular</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function compute the modular inverse for finding d, the decryption key</span>
|
||||
|
||||
@@ -458,7 +460,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="doc doc-children">
|
||||
<div class="doc doc-children">
|
||||
|
||||
|
||||
|
||||
@@ -483,7 +485,7 @@
|
||||
<p>Build a RSA Key</p>
|
||||
|
||||
|
||||
<details class="quote">
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">56</span>
|
||||
<span class="normal">57</span>
|
||||
@@ -492,7 +494,7 @@
|
||||
<span class="normal">60</span>
|
||||
<span class="normal">61</span>
|
||||
<span class="normal">62</span>
|
||||
<span class="normal">63</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="normal">63</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Build a RSA Key</span>
|
||||
<span class="sd"> """</span>
|
||||
@@ -567,7 +569,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<details class="quote">
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">133</span>
|
||||
<span class="normal">134</span>
|
||||
@@ -583,7 +585,7 @@
|
||||
<span class="normal">144</span>
|
||||
<span class="normal">145</span>
|
||||
<span class="normal">146</span>
|
||||
<span class="normal">147</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">decrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="normal">147</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">decrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function return a list decrypted with the private key</span>
|
||||
|
||||
@@ -665,7 +667,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<details class="quote">
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">117</span>
|
||||
<span class="normal">118</span>
|
||||
@@ -681,7 +683,7 @@
|
||||
<span class="normal">128</span>
|
||||
<span class="normal">129</span>
|
||||
<span class="normal">130</span>
|
||||
<span class="normal">131</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">encrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="normal">131</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">encrypt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function return a list of data encrypted with the public key</span>
|
||||
|
||||
@@ -718,7 +720,7 @@ Args:
|
||||
size: It's the size of the key and must be multiple of 64</p>
|
||||
|
||||
|
||||
<details class="quote">
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">65</span>
|
||||
<span class="normal">66</span>
|
||||
@@ -750,7 +752,7 @@ Args:
|
||||
<span class="normal">92</span>
|
||||
<span class="normal">93</span>
|
||||
<span class="normal">94</span>
|
||||
<span class="normal">95</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">generateKeys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">512</span><span class="p">):</span>
|
||||
<span class="normal">95</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">generateKeys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">512</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This function generate both public and private keys</span>
|
||||
<span class="sd"> Args:</span>
|
||||
@@ -793,6 +795,7 @@ Args:
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="doc doc-object doc-class">
|
||||
@@ -809,6 +812,7 @@ Args:
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
|
||||
|
||||
<p>This class store the RSA key with the modulus associated
|
||||
The key is a tuple of the key and the modulus n</p>
|
||||
|
||||
@@ -855,7 +859,6 @@ The key is a tuple of the key and the modulus n</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 9</span>
|
||||
@@ -892,7 +895,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
<span class="normal">40</span>
|
||||
<span class="normal">41</span>
|
||||
<span class="normal">42</span>
|
||||
<span class="normal">43</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">RSAKey</span><span class="p">:</span>
|
||||
<span class="normal">43</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">RSAKey</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This class store the RSA key with the modulus associated</span>
|
||||
<span class="sd"> The key is a tuple of the key and the modulus n</span>
|
||||
@@ -902,7 +905,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
<span class="sd"> modulus: It's the public modulus</span>
|
||||
<span class="sd"> length: It's the key length</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">modulus</span><span class="p">,</span> <span class="n">length</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">modulus</span><span class="p">,</span> <span class="n">length</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Contain the RSA Key. An object of RSAKey can be a public key or a private key</span>
|
||||
|
||||
@@ -917,22 +920,22 @@ The key is a tuple of the key and the modulus n</p>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_length</span> <span class="o">=</span> <span class="n">length</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">key</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">key</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_key</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">modulus</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">modulus</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_modulus</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">length</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">length</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">length</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
<div class="doc doc-children">
|
||||
<div class="doc doc-children">
|
||||
|
||||
|
||||
|
||||
@@ -997,7 +1000,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<details class="quote">
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>Cryptotools/Encryptions/RSA.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">19</span>
|
||||
<span class="normal">20</span>
|
||||
@@ -1011,7 +1014,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
<span class="normal">28</span>
|
||||
<span class="normal">29</span>
|
||||
<span class="normal">30</span>
|
||||
<span class="normal">31</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">modulus</span><span class="p">,</span> <span class="n">length</span><span class="p">):</span>
|
||||
<span class="normal">31</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">modulus</span><span class="p">,</span> <span class="n">length</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Contain the RSA Key. An object of RSAKey can be a public key or a private key</span>
|
||||
|
||||
@@ -1036,6 +1039,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1050,7 +1054,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../curves/" class="btn btn-neutral float-left" title="Curves"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../ecc/" class="btn btn-neutral float-left" title="Elliptic Curve Cryptography"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../utils/" class="btn btn-neutral float-right" title="Utils">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
@@ -1074,7 +1078,7 @@ The key is a tuple of the key and the modulus n</p>
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../curves/" style="color: #fcfcfc">« Previous</a></span>
|
||||
<span><a href="../ecc/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../utils/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
Reference in New Issue
Block a user