mirror of
https://github.com/leif-ibsen/SwiftECC.git
synced 2026-06-06 20:08:03 +00:00
452 lines
20 KiB
HTML
452 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Point Structure Reference</title>
|
|
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
|
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
|
<meta charset='utf-8'>
|
|
<script src="../js/jquery.min.js" defer></script>
|
|
<script src="../js/jazzy.js" defer></script>
|
|
|
|
<script src="../js/lunr.min.js" defer></script>
|
|
<script src="../js/typeahead.jquery.js" defer></script>
|
|
<script src="../js/jazzy.search.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<a name="//apple_ref/swift/Struct/Point" class="dashAnchor"></a>
|
|
<a title="Point Structure Reference"></a>
|
|
<header>
|
|
<div class="content-wrapper">
|
|
<p><a href="../index.html"> Docs</a> (100% documented)</p>
|
|
<div class="header-right">
|
|
<form role="search" action="../search.json">
|
|
<input type="text" placeholder="Search documentation" data-typeahead>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="content-wrapper">
|
|
<p id="breadcrumbs">
|
|
<a href="../index.html"> Reference</a>
|
|
<img id="carat" src="../img/carat.png" alt=""/>
|
|
Point Structure Reference
|
|
</p>
|
|
</div>
|
|
<div class="content-wrapper">
|
|
<nav class="sidebar">
|
|
<ul class="nav-groups">
|
|
<li class="nav-group-name">
|
|
<a href="../Classes.html">Classes</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/Domain.html">Domain</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/ECPrivateKey.html">ECPrivateKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/ECPublicKey.html">ECPublicKey</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Classes/ECSignature.html">ECSignature</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Enums.html">Enumerations</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/AESCipher.html">AESCipher</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/BlockMode.html">BlockMode</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/ECCurve.html">ECCurve</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/ECException.html">ECException</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Enums/MessageDigestAlgorithm.html">MessageDigestAlgorithm</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Structs.html">Structures</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/Base64.html">Base64</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/Point.html">Point</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/RP.html">RP</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Typealiases.html">Type Aliases</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:8SwiftECC4Bytea">Byte</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:8SwiftECC5Bytesa">Bytes</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<article class="main-content">
|
|
<section>
|
|
<section class="section">
|
|
<h1>Point</h1>
|
|
<div class="declaration">
|
|
<div class="language">
|
|
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Point</span> <span class="p">:</span> <span class="kt">CustomStringConvertible</span><span class="p">,</span> <span class="kt">Equatable</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<p>Point instances contain elliptic curve points.</p>
|
|
|
|
<p>For points in a prime characteristic domain, the x-coordinate and y-coordinate are non-negative integers.</p>
|
|
|
|
<p>For points in a characteristic 2 domain, the x-coordinate and y-coordinate are binary polynomials
|
|
where the coefficients (0 or 1) are the bits of the x and y values.</p>
|
|
|
|
</section>
|
|
<section class="section task-group-section">
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Constants"></a>
|
|
<a name="//apple_ref/swift/Section/Constants" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Constants"></a>
|
|
<h3 class="section-name"><span>Constants</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV8INFINITYACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/INFINITY" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV8INFINITYACvpZ">INFINITY</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The point at infinity</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">INFINITY</span><span class="p">:</span> <span class="kt">Point</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Initializers"></a>
|
|
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Initializers"></a>
|
|
<h3 class="section-name"><span>Initializers</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointVyAC6BigInt4BIntV_AFtcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointVyAC6BigInt4BIntV_AFtcfc">init(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Creates a Point from its x- and y-coordinates</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The x coordinate</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The y coordinate</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Stored%20Properties"></a>
|
|
<a name="//apple_ref/swift/Section/Stored Properties" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Stored%20Properties"></a>
|
|
<h3 class="section-name"><span>Stored Properties</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV1x6BigInt4BIntVvp"></a>
|
|
<a name="//apple_ref/swift/Property/x" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV1x6BigInt4BIntVvp">x</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The x coordinate</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV1y6BigInt4BIntVvp"></a>
|
|
<a name="//apple_ref/swift/Property/y" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV1y6BigInt4BIntVvp">y</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The y coordinate</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV8infinitySbvp"></a>
|
|
<a name="//apple_ref/swift/Property/infinity" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV8infinitySbvp">infinity</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> iff <em>self</em> is the point at inifinity</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">infinity</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Computed%20Properties"></a>
|
|
<a name="//apple_ref/swift/Section/Computed Properties" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Computed%20Properties"></a>
|
|
<h3 class="section-name"><span>Computed Properties</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV11descriptionSSvp"></a>
|
|
<a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV11descriptionSSvp">description</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Textual description of <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Instance%20Methods"></a>
|
|
<a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Instance%20Methods"></a>
|
|
<h3 class="section-name"><span>Instance Methods</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:8SwiftECC5PointV2eeoiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:8SwiftECC5PointV2eeoiySbAC_ACtFZ">==(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Tests equality of Points</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">p1</span><span class="p">:</span> <span class="kt">Point</span><span class="p">,</span> <span class="nv">p2</span><span class="p">:</span> <span class="kt">Point</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p1</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First point</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p2</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second point</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> iff p1 = p2</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section id="footer">
|
|
<p>© 2023 <a class="link" href="" target="_blank" rel="external noopener"></a>. All rights reserved. (Last updated: 2023-01-17)</p>
|
|
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
|
|
</section>
|
|
</article>
|
|
</div>
|
|
</body>
|
|
</html>
|