mainwp.dev/source-code/dashboard/files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html
2025-03-17 19:02:54 -04:00

539 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MainWP Dashboard Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="../">
<link rel="icon" href="images/favicon.ico"/>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/base.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;200;300;400;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/template.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity="sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css">
<script src="https://cdn.jsdelivr.net/npm/fuse.js@3.4.6"></script>
<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
<script src="js/template.js"></script>
<script src="js/search.js"></script>
<script defer src="js/searchIndex.js"></script>
</head>
<body id="top">
<header class="phpdocumentor-header phpdocumentor-section">
<h1 class="phpdocumentor-title"><a href="" class="phpdocumentor-title__link">MainWP Dashboard Documentation</a></h1>
<input class="phpdocumentor-header__menu-button" type="checkbox" id="menu-button" name="menu-button" />
<label class="phpdocumentor-header__menu-icon" for="menu-button">
<i class="fas fa-bars"></i>
</label>
<section data-search-form class="phpdocumentor-search">
<label>
<span class="visually-hidden">Search for</span>
<svg class="phpdocumentor-search__icon" width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="7.5" cy="7.5" r="6.5" stroke="currentColor" stroke-width="2"/>
<line x1="12.4892" y1="12.2727" x2="19.1559" y2="18.9393" stroke="currentColor" stroke-width="3"/>
</svg>
<input type="search" class="phpdocumentor-field phpdocumentor-search__field" placeholder="Loading .." disabled />
</label>
</section>
<nav class="phpdocumentor-topnav">
<ul class="phpdocumentor-topnav__menu">
</ul>
</nav>
</header>
<main class="phpdocumentor">
<div class="phpdocumentor-section">
<input class="phpdocumentor-sidebar__menu-button" type="checkbox" id="sidebar-button" name="sidebar-button" />
<label class="phpdocumentor-sidebar__menu-icon" for="sidebar-button">
Menu
</label>
<aside class="phpdocumentor-column -three phpdocumentor-sidebar">
<section class="phpdocumentor-sidebar__category -namespaces">
<h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/mainwp.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/mainwp-dashboard.html" class="">Dashboard</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/paragonie.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/paragonie-constanttime.html" class="">ConstantTime</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="namespaces/phpseclib3.html" class="">phpseclib3</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/phpseclib3-common.html" class="">Common</a>
</li>
<li>
<a href="namespaces/phpseclib3-crypt.html" class="">Crypt</a>
</li>
<li>
<a href="namespaces/phpseclib3-exception.html" class="">Exception</a>
</li>
<li>
<a href="namespaces/phpseclib3-file.html" class="">File</a>
</li>
<li>
<a href="namespaces/phpseclib3-math.html" class="">Math</a>
</li>
<li>
<a href="namespaces/phpseclib3-net.html" class="">Net</a>
</li>
<li>
<a href="namespaces/phpseclib3-system.html" class="">System</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category -packages">
<h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPDashboard.html" class="">MainWPDashboard</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPAPIManagerKeyHandler.html" class="">MainWPAPIManagerKeyHandler</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPMainWP.html" class="">MainWPMainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPMainWP-API.html" class="">API</a>
</li>
<li>
<a href="packages/MainWPMainWP-Keys.html" class="">Keys</a>
</li>
<li>
<a href="packages/MainWPMainWP-Client.html" class="">Client</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPAPIManagerUpdateHandler.html" class="">MainWPAPIManagerUpdateHandler</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPMainWPAPIManager.html" class="">MainWPMainWPAPIManager</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWP.html" class="">MainWP</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWP-Dashboard.html" class="">Dashboard</a>
</li>
<li>
<a href="packages/MainWP-DashboardMainWPsitesclientlist.html" class="">DashboardMainWPsitesclientlist</a>
</li>
<li>
<a href="packages/MainWP-DashboardThisclasshandlesthe.html" class="">DashboardThisclasshandlesthe</a>
</li>
<li>
<a href="packages/MainWP-DashboardMainWPsitesmonitoringlist.html" class="">DashboardMainWPsitesmonitoringlist</a>
</li>
<li>
<a href="packages/MainWP-DashboardCheckforpremiumpluginupdates.html" class="">DashboardCheckforpremiumpluginupdates</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPSettings.html" class="">MainWPSettings</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPBackups.html" class="">MainWPBackups</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPBackups-Continue.html" class="">Continue</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPBootstrap.html" class="">MainWPBootstrap</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPUpdates.html" class="">MainWPUpdates</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPUpdates-Check.html" class="">Check</a>
</li>
<li>
<a href="packages/MainWPUpdates-Overview.html" class="">Overview</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPPingChilds.html" class="">MainWPPingChilds</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPStats.html" class="">MainWPStats</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/ParagonIE.html" class="">ParagonIE</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/ParagonIE-ConstantTime.html" class="">ConstantTime</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPExtensions.html" class="">MainWPExtensions</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPSecurtiy.html" class="">MainWPSecurtiy</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPSecurtiy-Issues.html" class="">Issues</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPSetup.html" class="">MainWPSetup</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPSetup-Wizard.html" class="">Wizard</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPSite.html" class="">MainWPSite</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPSite-Open.html" class="">Open</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPThemes.html" class="">MainWPThemes</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPUser.html" class="">MainWPUser</a>
</h4>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPWidget.html" class="">MainWPWidget</a>
</h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/MainWPWidget-Mainwp.html" class="">Mainwp</a>
</li>
<li>
<a href="packages/MainWPWidget-Recent.html" class="">Recent</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace">
<a href="packages/MainWPPlugins.html" class="">MainWPPlugins</a>
</h4>
</section>
<section class="phpdocumentor-sidebar__category -reports">
<h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="graphs/classes.html">Class Diagram</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/deprecated.html">Deprecated</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/errors.html">Errors</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/markers.html">Markers</a></h3>
</section>
<section class="phpdocumentor-sidebar__category -indices">
<h2 class="phpdocumentor-sidebar__category-header">Indices</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Files</a></h3>
</section>
</aside>
<div class="phpdocumentor-column -nine phpdocumentor-content">
<section>
<ul class="phpdocumentor-breadcrumbs">
</ul>
<article class="phpdocumentor-element -file">
<h2 class="phpdocumentor-content__title">TwistedEdwards.php</h2>
<p class="phpdocumentor-summary">Curves over a*x^2 + y^2 = 1 + d*x^2*y^2</p>
<section class="phpdocumentor-description"><p>http://www.secg.org/SEC2-Ver-1.0.pdf provides for curves with custom parameters.
ie. the coefficients can be arbitrary set through specially formatted keys, etc.
As such, Prime.php is built very generically and it's not able to take full
advantage of curves with 0 coefficients to produce simplified point doubling,
point addition. Twisted Edwards curves, in contrast, do not have a way, currently,
to customize them. As such, we can omit the super generic stuff from this class
and let the named curves (Ed25519 and Ed448) define their own custom tailored
point addition and point doubling methods.</p>
<p>More info:</p>
<p>https://en.wikipedia.org/wiki/Twisted_Edwards_curve</p>
<p>PHP version 5 and 7</p>
</section>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">author</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>Jim Wigginton <a href="mailto:terrafrost@php.net">terrafrost@php.net</a></p>
</section>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">copyright</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>2017 Jim Wigginton</p>
</section>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">license</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>http://www.opensource.org/licenses/mit-license.html MIT License</p>
</section>
</dd>
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">link</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<a class="phpdocumentor-tag-link" href="http://pear.php.net/package/Math_BigInteger"> http://pear.php.net/package/Math_BigInteger </a>
</dd>
</dl>
<h3 id="toc">
Table of Contents
<a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html#toc" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<h4 id="toc-classes">
Classes
<a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html#toc-classes" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -class"><a href="classes/phpseclib3-Crypt-EC-BaseCurves-TwistedEdwards.html"><abbr title="\phpseclib3\Crypt\EC\BaseCurves\TwistedEdwards">TwistedEdwards</abbr></a></dt><dd>Curves over a*x^2 + y^2 = 1 + d*x^2*y^2</dd> </dl>
<div class="phpdocumentor-modal" id="source-view">
<div class="phpdocumentor-modal-bg" data-exit-button></div>
<div class="phpdocumentor-modal-container">
<div class="phpdocumentor-modal-content">
<pre style="max-height: 500px; overflow-y: scroll" data-src="files/libs/phpseclib/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/TwistedEdwards.php.txt" class="language-php line-numbers linkable-line-numbers"></pre>
</div>
<button data-exit-button class="phpdocumentor-modal__close">&times;</button>
</div>
</div>
<script type="text/javascript">
(function () {
function loadExternalCodeSnippet(el, url, line) {
Array.prototype.slice.call(el.querySelectorAll('pre[data-src]')).forEach((pre) => {
const src = url || pre.getAttribute('data-src').replace(/\\/g, '/');
const language = 'php';
const code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
pre.setAttribute('data-line', line)
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) {
return;
}
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
return;
}
if (xhr.status === 404) {
code.textContent = '✖ Error: File could not be found';
return;
}
if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
return;
}
code.textContent = '✖ Error: An unknown error occurred';
};
xhr.send(null);
});
}
const modalButtons = document.querySelectorAll("[data-modal]");
const openedAsLocalFile = window.location.protocol === 'file:';
if (modalButtons.length > 0 && openedAsLocalFile) {
console.warn(
'Viewing the source code is unavailable because you are opening this page from the file:// scheme; ' +
'browsers block XHR requests when a page is opened this way'
);
}
modalButtons.forEach(function (trigger) {
if (openedAsLocalFile) {
trigger.setAttribute("hidden", "hidden");
}
trigger.addEventListener("click", function (event) {
event.preventDefault();
const modal = document.getElementById(trigger.dataset.modal);
if (!modal) {
console.error(`Modal with id "${trigger.dataset.modal}" could not be found`);
return;
}
modal.classList.add("phpdocumentor-modal__open");
loadExternalCodeSnippet(modal, trigger.dataset.src || null, trigger.dataset.line)
const exits = modal.querySelectorAll("[data-exit-button]");
exits.forEach(function (exit) {
exit.addEventListener("click", function (event) {
event.preventDefault();
modal.classList.remove("phpdocumentor-modal__open");
});
});
});
});
})();
</script>
</article>
</section>
<section class="phpdocumentor-on-this-page__sidebar">
<section class="phpdocumentor-on-this-page__content">
<strong class="phpdocumentor-on-this-page__title">On this page</strong>
<ul class="phpdocumentor-list -clean">
<li class="phpdocumentor-on-this-page-section__title">Table Of Contents</li>
<li>
<ul class="phpdocumentor-list -clean">
<li><a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html#toc-classes">Classes</a></li>
</ul>
</li>
</ul>
</section>
</section>
</div>
<section data-search-results class="phpdocumentor-search-results phpdocumentor-search-results--hidden">
<section class="phpdocumentor-search-results__dialog">
<header class="phpdocumentor-search-results__header">
<h2 class="phpdocumentor-search-results__title">Search results</h2>
<button class="phpdocumentor-search-results__close"><i class="fas fa-times"></i></button>
</header>
<section class="phpdocumentor-search-results__body">
<ul class="phpdocumentor-search-results__entries"></ul>
</section>
</section>
</section>
</div>
<a href="files/libs-phpseclib-vendor-phpseclib-phpseclib-phpseclib-crypt-ec-basecurves-twistededwards.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>
<script>
cssVars({});
</script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js"></script>
</body>
</html>