Add ECC docs

This commit is contained in:
gbucchino
2026-02-18 12:36:14 +01:00
parent 16efeaec2d
commit 11041d3180
17 changed files with 1779 additions and 180 deletions
+24 -22
View File
@@ -82,6 +82,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>
@@ -145,7 +147,7 @@
<div class="doc doc-children">
<div class="doc doc-children">
@@ -224,7 +226,7 @@
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">153</span>
<span class="normal">154</span>
@@ -242,7 +244,7 @@
<span class="normal">166</span>
<span class="normal">167</span>
<span class="normal">168</span>
<span class="normal">169</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">are_coprime</span><span class="p">(</span><span class="n">p1</span><span class="p">,</span> <span class="n">p2</span><span class="p">):</span>
<span class="normal">169</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">are_coprime</span><span class="p">(</span><span class="n">p1</span><span class="p">,</span> <span class="n">p2</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function check if p1 and p2 are coprime</span>
@@ -339,7 +341,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">35</span>
<span class="normal">36</span>
@@ -385,7 +387,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">76</span>
<span class="normal">77</span>
<span class="normal">78</span>
<span class="normal">79</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">getPrimeNumber</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">safe</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="normal">79</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">getPrimeNumber</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">safe</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function generate a large prime number</span>
<span class="sd"> based on &quot;A method for Obtaining Digital Signatures</span>
@@ -497,7 +499,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 81</span>
<span class="normal"> 82</span>
@@ -524,7 +526,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">103</span>
<span class="normal">104</span>
<span class="normal">105</span>
<span class="normal">106</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">getSmallPrimeNumber</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<span class="normal">106</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">getSmallPrimeNumber</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function is deprecated</span>
@@ -617,7 +619,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">124</span>
<span class="normal">125</span>
@@ -646,7 +648,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">148</span>
<span class="normal">149</span>
<span class="normal">150</span>
<span class="normal">151</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">get_n_prime_numbers</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="normal">151</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_n_prime_numbers</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function return a list of n prime numbers</span>
@@ -741,7 +743,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">108</span>
<span class="normal">109</span>
@@ -757,7 +759,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">119</span>
<span class="normal">120</span>
<span class="normal">121</span>
<span class="normal">122</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">get_prime_numbers</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="normal">122</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_prime_numbers</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function get all prime number of the n</span>
@@ -840,7 +842,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 8</span>
<span class="normal"> 9</span>
@@ -859,7 +861,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">isPrimeNumber</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
<span class="normal">25</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">isPrimeNumber</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Check if the number p is a prime number or not. The function iterate until p is achieve.</span>
@@ -944,7 +946,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">272</span>
<span class="normal">273</span>
@@ -961,7 +963,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">284</span>
<span class="normal">285</span>
<span class="normal">286</span>
<span class="normal">287</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">isSafePrime</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<span class="normal">287</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">isSafePrime</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function has not been implemented yet, but check if the number n is a safe prime number. This function will test different properties of the possible prime number n</span>
@@ -1044,7 +1046,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">171</span>
<span class="normal">172</span>
@@ -1073,7 +1075,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">195</span>
<span class="normal">196</span>
<span class="normal">197</span>
<span class="normal">198</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">sieveOfEratosthenes</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="normal">198</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">sieveOfEratosthenes</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function build a list of prime number based on the Sieve of Erastosthenes</span>
@@ -1168,7 +1170,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/primeNumber.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">259</span>
<span class="normal">260</span>
@@ -1181,7 +1183,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">267</span>
<span class="normal">268</span>
<span class="normal">269</span>
<span class="normal">270</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">sophieGermainPrime</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<span class="normal">270</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">sophieGermainPrime</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Check if the number p is a safe prime number: 2p + 1 is also a prime</span>
@@ -1224,7 +1226,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<div class="doc doc-children">
<div class="doc doc-children">
@@ -1296,7 +1298,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
</tbody>
</table>
<details class="quote">
<details class="mkdocstrings-source">
<summary>Source code in <code>Cryptotools/Numbers/numbers.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 4</span>
<span class="normal"> 5</span>
@@ -1312,7 +1314,7 @@ https://dl.acm.org/doi/pdf/10.1145/359340.359342</p>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">fibonacci</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">fibonacci</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> This function generate the list of Fibonacci</span>