Changeset 1946575
- Timestamp:
- 09/25/2018 07:30:45 AM (7 years ago)
- Location:
- perfectdashboard/trunk
- Files:
-
- 31 edited
-
lang/autoupdater-fi.mo (modified) (previous)
-
lang/autoupdater-fi.po (modified) (7 diffs)
-
lib/src/Api.php (modified) (1 diff)
-
lib/src/Authentication.php (modified) (4 diffs)
-
lib/src/Backuptool.php (modified) (1 diff)
-
lib/src/vendor/autoload.php (modified) (1 diff)
-
lib/src/vendor/composer/autoload_real.php (modified) (5 diffs)
-
lib/src/vendor/composer/autoload_static.php (modified) (1 diff)
-
lib/src/vendor/composer/installed.json (modified) (2 diffs)
-
lib/src/vendor/paragonie/sodium_compat/README.md (modified) (4 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Compat.php (modified) (31 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/BLAKE2b.php (modified) (8 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/Curve25519.php (modified) (6 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/Curve25519/Fe.php (modified) (2 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/Ed25519.php (modified) (1 diff)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/Poly1305/State.php (modified) (1 diff)
-
lib/src/vendor/paragonie/sodium_compat/src/Core/Util.php (modified) (2 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/BLAKE2b.php (modified) (3 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Curve25519.php (modified) (14 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Curve25519/Fe.php (modified) (4 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Ed25519.php (modified) (1 diff)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Int32.php (modified) (14 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Int64.php (modified) (20 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/Poly1305/State.php (modified) (3 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/SipHash.php (modified) (1 diff)
-
lib/src/vendor/paragonie/sodium_compat/src/Core32/X25519.php (modified) (2 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Crypto.php (modified) (4 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/Crypto32.php (modified) (4 diffs)
-
lib/src/vendor/paragonie/sodium_compat/src/File.php (modified) (5 diffs)
-
perfectdashboard.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
perfectdashboard/trunk/lang/autoupdater-fi.po
r1908602 r1946575 1 #: tmpl/configuration_form.tmpl.php:19 tmpl/configuration_form.tmpl.php:38 2 #: tmpl/configuration_form.tmpl.php:42 1 #: tmpl/configuration_form.tmpl.php:19 tmpl/configuration_form.tmpl.php:38 tmpl/configuration_form.tmpl.php:42 3 2 msgid "Advanced settings" 4 3 msgstr "Edistyneet asetukset" … … 57 56 msgstr "Asetusten tallennus epäonnistui" 58 57 59 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:83 60 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:132 58 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:83 tmpl/configuration_form_autoupdater_fields.tmpl.php:132 61 59 msgid "Hide" 62 60 msgstr "Piilota" … … 72 70 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:178 73 71 msgid "" 74 "Provide an e-mail address to receive a notification after the automatic " 75 "update of the site, in accordance with our hosting Privacy Policy, you have " 72 "Provide an e-mail address to receive a notification after the automatic update of the site, in accordance with our hosting Privacy Policy, you have " 76 73 "agreed on." 77 74 msgstr "Syötä sähköpostiosoite, jotta saat ilmotuksia automaattisista sivujen päivityksistä, jotka lähetetään tietosuoja selosteemme mukaisesti" 78 79 75 80 76 #: tmpl/configuration_form_advanced_fields.tmpl.php:111 81 77 msgid "Put your website into the maintenance mode" 82 78 msgstr "Laita nettisivut ylläpitotilaan" 79 80 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:202 81 msgid "Notification on failed update" 82 msgstr "Ilmoitus epäonnistuneesta päivityksestä" 83 84 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:184 85 msgid "Notification on successful update" 86 msgstr "Ilmoitus onnistuneesta päivityksestä" 83 87 84 88 #: tmpl/configuration_form_advanced_fields.tmpl.php:6 … … 102 106 msgstr "Asetukset on tallennettu" 103 107 104 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:82 105 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:131 108 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:214 109 msgid "Receive a notification after a failed update" 110 msgstr "Vastaanota ilmoitus epäonnistuneen päivityksen jälkeen" 111 112 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:196 113 msgid "Receive a notification after a successful update" 114 msgstr "Vastaanota ilmoitus onnistuneen päivityksen jälkeen" 115 116 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:82 tmpl/configuration_form_autoupdater_fields.tmpl.php:131 106 117 msgid "Show" 107 118 msgstr "Näytä" … … 124 135 125 136 #: tmpl/configuration_form.tmpl.php:61 126 msgid "" 127 "The email address entered did not appear to be a valid email address. Please " 128 "enter a valid email address." 137 msgid "The email address entered did not appear to be a valid email address. Please enter a valid email address." 129 138 msgstr "Syöttämäsi sähköpostiosoite ei ole validi sähköpostiosoite. Syötä validi sähköpostiosoite" 130 139 131 140 #: tmpl/configuration_form_advanced_fields.tmpl.php:67 132 msgid "" 133 "The response will be encrypted by the plugin if your website is not secured " 134 "with the TLS" 141 msgid "The response will be encrypted by the plugin if your website is not secured with the TLS" 135 142 msgstr "Vastaus salataan tämän lisäosan puolesta, jos nettisivusi ei ole suojattu TLS:llä." 136 143 … … 140 147 141 148 #: tmpl/configuration_form_advanced_fields.tmpl.php:45 142 msgid "" 143 "This key is used to encrpyt the response if your website is not secured with " 144 "the TLS" 149 msgid "This key is used to encrpyt the response if your website is not secured with the TLS" 145 150 msgstr "Tätä avainta käytetään vastauksen salaamiseen, jos nettisivusi ei ole suojattu TLS:llä." 146 151 … … 166 171 167 172 #: tmpl/configuration_form_autoupdater_fields.tmpl.php:44 168 msgid "" 169 "to the latest available version but with a weekly delay to wait for " 170 "extensions' updates" 173 msgid "to the latest available version but with a weekly delay to wait for extensions' updates" 171 174 msgstr "viimeisimpään versioon, mutta viikon viiveellä odottomaan liitännäisten päivityksiä" 172 175 -
perfectdashboard/trunk/lib/src/Api.php
r1883279 r1946575 73 73 } 74 74 75 // Validate the request payload 76 $auth = AutoUpdater_Authentication::getInstance(); 77 if (!$auth->validate($payload)) 75 try 76 { 77 // Validate the request payload 78 $auth = AutoUpdater_Authentication::getInstance(); 79 $auth->validate($payload); 80 } 81 catch (Exception $e) 78 82 { 79 83 AutoUpdater_Response::getInstance() 80 84 ->setCode(403) 81 85 ->setAutoupdaterHeader() 82 ->send(); 86 ->setBody(array( 87 'error' => array( 88 'code' => $e->getCode(), 89 'message' => $e->getMessage(), 90 ), 91 )) 92 ->sendJSON(); 83 93 } 84 94 -
perfectdashboard/trunk/lib/src/Authentication.php
r1883279 r1946575 27 27 * 28 28 * @return bool 29 * 30 * @throws Exception 29 31 */ 30 32 public function validate($payload) … … 33 35 { 34 36 AutoUpdater_Log::debug('Invalid timestamp'); 35 36 return false; 37 throw new Exception('Invalid timestamp', 403); 37 38 } 38 39 … … 41 42 if (!$signature || !hash_equals($_REQUEST['pd_signature'], $signature)) 42 43 { 43 AutoUpdater_Log::debug('Invalid request signature'); 44 45 return false; 44 AutoUpdater_Log::debug('Invalid signature'); 45 throw new Exception('Invalid signature', 403); 46 46 } 47 47 … … 55 55 { 56 56 AutoUpdater_Log::debug('Write token has expired'); 57 58 return false; 57 throw new Exception('Token has expired', 403); 59 58 } 60 59 } -
perfectdashboard/trunk/lib/src/Backuptool.php
r1899892 r1946575 295 295 // Download a new package 296 296 $download_url = $customURL ? $customURL : AutoUpdater_Config::getAutoUpdaterUrl() 297 . 'download/backuptool/autoupdater.zip ';297 . 'download/backuptool/autoupdater.zip?php_version=' . phpversion(); 298 298 $file_path = $filemanager->download($download_url); 299 299 -
perfectdashboard/trunk/lib/src/vendor/autoload.php
r1883279 r1946575 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit dfef324225849e29106b95ef25feaa97::getLoader();7 return ComposerAutoloaderInit316423e819ec7452588ab21b1fdf96e0::getLoader(); -
perfectdashboard/trunk/lib/src/vendor/composer/autoload_real.php
r1883279 r1946575 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit dfef324225849e29106b95ef25feaa975 class ComposerAutoloaderInit316423e819ec7452588ab21b1fdf96e0 6 6 { 7 7 private static $loader; … … 20 20 } 21 21 22 spl_autoload_register(array('ComposerAutoloaderInit dfef324225849e29106b95ef25feaa97', 'loadClassLoader'), true, true);22 spl_autoload_register(array('ComposerAutoloaderInit316423e819ec7452588ab21b1fdf96e0', 'loadClassLoader'), true, true); 23 23 self::$loader = $loader = new \Composer\Autoload\ClassLoader(); 24 spl_autoload_unregister(array('ComposerAutoloaderInit dfef324225849e29106b95ef25feaa97', 'loadClassLoader'));24 spl_autoload_unregister(array('ComposerAutoloaderInit316423e819ec7452588ab21b1fdf96e0', 'loadClassLoader')); 25 25 26 26 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 28 28 require_once __DIR__ . '/autoload_static.php'; 29 29 30 call_user_func(\Composer\Autoload\ComposerStaticInit dfef324225849e29106b95ef25feaa97::getInitializer($loader));30 call_user_func(\Composer\Autoload\ComposerStaticInit316423e819ec7452588ab21b1fdf96e0::getInitializer($loader)); 31 31 } else { 32 32 $map = require __DIR__ . '/autoload_namespaces.php'; … … 49 49 50 50 if ($useStaticLoader) { 51 $includeFiles = Composer\Autoload\ComposerStaticInit dfef324225849e29106b95ef25feaa97::$files;51 $includeFiles = Composer\Autoload\ComposerStaticInit316423e819ec7452588ab21b1fdf96e0::$files; 52 52 } else { 53 53 $includeFiles = require __DIR__ . '/autoload_files.php'; 54 54 } 55 55 foreach ($includeFiles as $fileIdentifier => $file) { 56 composerRequire dfef324225849e29106b95ef25feaa97($fileIdentifier, $file);56 composerRequire316423e819ec7452588ab21b1fdf96e0($fileIdentifier, $file); 57 57 } 58 58 … … 61 61 } 62 62 63 function composerRequire dfef324225849e29106b95ef25feaa97($fileIdentifier, $file)63 function composerRequire316423e819ec7452588ab21b1fdf96e0($fileIdentifier, $file) 64 64 { 65 65 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
perfectdashboard/trunk/lib/src/vendor/composer/autoload_static.php
r1883279 r1946575 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit dfef324225849e29106b95ef25feaa977 class ComposerStaticInit316423e819ec7452588ab21b1fdf96e0 8 8 { 9 9 public static $files = array ( -
perfectdashboard/trunk/lib/src/vendor/composer/installed.json
r1899892 r1946575 52 52 { 53 53 "name": "paragonie/sodium_compat", 54 "version": "v1. 6.3",55 "version_normalized": "1. 6.3.0",54 "version": "v1.7.0", 55 "version_normalized": "1.7.0.0", 56 56 "source": { 57 57 "type": "git", 58 58 "url": "https://github.com/paragonie/sodium_compat.git", 59 "reference": "7 d0549c3947eaea620f4e523f42ab236cf7fd304"59 "reference": "7b73005be3c224f12c47bd75a23ce24b762e47e8" 60 60 }, 61 61 "dist": { 62 62 "type": "zip", 63 "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/7 d0549c3947eaea620f4e523f42ab236cf7fd304",64 "reference": "7 d0549c3947eaea620f4e523f42ab236cf7fd304",63 "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/7b73005be3c224f12c47bd75a23ce24b762e47e8", 64 "reference": "7b73005be3c224f12c47bd75a23ce24b762e47e8", 65 65 "shasum": "" 66 66 }, … … 76 76 "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." 77 77 }, 78 "time": "2018-0 6-06T17:30:29+00:00",78 "time": "2018-09-22T03:59:58+00:00", 79 79 "type": "library", 80 80 "installation-source": "dist", -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/README.md
r1853488 r1946575 26 26 `security at paragonie dot com` so we can help get the ball rolling. 27 27 28 If you'd like to learn more about the defensive security measures we've taken, 28 However, sodium_compat has been adopted by high profile open source projects, 29 such as [Joomla!](https://github.com/joomla/joomla-cms/blob/459d74686d2a638ec51149d7c44ddab8075852be/composer.json#L40) 30 and [Magento](https://github.com/magento/magento2/blob/8fd89cfdf52c561ac0ca7bc20fd38ef688e201b0/composer.json#L44). 31 32 If you'd like to learn more about the defensive security measures we've taken 33 to prevent sodium_compat from being a source of vulnerability in your systems, 29 34 please read [*Cryptographically Secure PHP Development*](https://paragonie.com/blog/2017/02/cryptographically-secure-php-development). 30 35 … … 116 121 extension installed already. 117 122 118 Since this doesn't require a namespace, this API *is* exposed on PHP 5.2.119 120 123 ## General-Use Polyfill 121 124 … … 146 149 code already written for the libsodium PHP extension should work with our 147 150 polyfill without additional code changes. 151 152 Since this doesn't require a namespace, this API *is* exposed on PHP 5.2. 148 153 149 154 Since version 0.7.0, we have our own namespaced API (`ParagonIE\Sodium\*`) to allow brevity … … 201 206 202 207 This is also true of non-Windows 32-bit operating systems, or if somehow PHP 203 was compiled where `PHP_INT_SIZE` equals `4` instead of `8` .208 was compiled where `PHP_INT_SIZE` equals `4` instead of `8` (i.e. Linux on i386). 204 209 205 210 ## API Coverage 211 212 **Recommended reading:** [Libsodium Quick Reference](https://paragonie.com/blog/2017/06/libsodium-quick-reference-quick-comparison-similar-functions-and-which-one-use) 206 213 207 214 * Mainline NaCl Features -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Compat.php
r1883279 r1946575 143 143 * Compared to memcmp(), compare() is more useful for sorting. 144 144 * 145 * @param string $left The left operand; must be a string145 * @param string $left The left operand; must be a string 146 146 * @param string $right The right operand; must be a string 147 147 * @return int < 0 if the left operand is less than the right … … 239 239 throw new SodiumException('Message must be at least CRYPTO_AEAD_AES256GCM_ABYTES long'); 240 240 } 241 242 if (!self::crypto_aead_aes256gcm_is_available()) { 243 throw new SodiumException('AES-256-GCM is not available'); 244 } 241 if (!is_callable('openssl_decrypt')) { 242 throw new SodiumException('The OpenSSL extension is not installed, or openssl_decrypt() is not available'); 243 } 244 245 /** @var string $ctext */ 245 246 $ctext = ParagonIE_Sodium_Core_Util::substr($ciphertext, 0, -self::CRYPTO_AEAD_AES256GCM_ABYTES); 247 /** @var string $authTag */ 246 248 $authTag = ParagonIE_Sodium_Core_Util::substr($ciphertext, -self::CRYPTO_AEAD_AES256GCM_ABYTES, 16); 247 249 return openssl_decrypt( … … 294 296 throw new SodiumException('Key must be CRYPTO_AEAD_AES256GCM_KEYBYTES long'); 295 297 } 298 299 if (!is_callable('openssl_encrypt')) { 300 throw new SodiumException('The OpenSSL extension is not installed, or openssl_encrypt() is not available'); 301 } 302 296 303 $authTag = ''; 297 304 $ciphertext = openssl_encrypt( … … 312 319 * 313 320 * @return string 321 * @throws Exception 322 * @throws Error 314 323 */ 315 324 public static function crypto_aead_aes256gcm_keygen() … … 328 337 * 329 338 * @param string $ciphertext Encrypted message (with Poly1305 MAC appended) 330 * @param string $assocData Authenticated Associated Data (unencrypted)331 * @param string $nonce Number to be used only Once; must be 8 bytes332 * @param string $key Encryption key339 * @param string $assocData Authenticated Associated Data (unencrypted) 340 * @param string $nonce Number to be used only Once; must be 8 bytes 341 * @param string $key Encryption key 333 342 * 334 343 * @return string The original plaintext message … … 410 419 * @param string $plaintext Message to be encrypted 411 420 * @param string $assocData Authenticated Associated Data (unencrypted) 412 * @param string $nonce Number to be used only Once; must be 8 bytes413 * @param string $key Encryption key421 * @param string $nonce Number to be used only Once; must be 8 bytes 422 * @param string $key Encryption key 414 423 * 415 424 * @return string Ciphertext with a 16-byte Poly1305 message … … 482 491 * 483 492 * @param string $ciphertext Encrypted message (with Poly1305 MAC appended) 484 * @param string $assocData Authenticated Associated Data (unencrypted)485 * @param string $nonce Number to be used only Once; must be 12 bytes486 * @param string $key Encryption key493 * @param string $assocData Authenticated Associated Data (unencrypted) 494 * @param string $nonce Number to be used only Once; must be 12 bytes 495 * @param string $key Encryption key 487 496 * 488 497 * @return string The original plaintext message … … 558 567 * 559 568 * @return string 569 * @throws Exception 570 * @throws Error 560 571 */ 561 572 public static function crypto_aead_chacha20poly1305_keygen() … … 642 653 * 643 654 * @return string 655 * @throws Exception 656 * @throws Error 644 657 */ 645 658 public static function crypto_aead_chacha20poly1305_ietf_keygen() … … 767 780 * 768 781 * @return string 782 * @throws Exception 783 * @throws Error 769 784 */ 770 785 public static function crypto_aead_xchacha20poly1305_ietf_keygen() … … 815 830 /** 816 831 * @return string 832 * @throws Exception 833 * @throws Error 817 834 */ 818 835 public static function crypto_auth_keygen() … … 1005 1022 return (string) call_user_func('\\Sodium\\crypto_box_keypair'); 1006 1023 } 1024 if (PHP_INT_SIZE === 4) { 1025 return ParagonIE_Sodium_Crypto32::box_keypair(); 1026 } 1007 1027 return ParagonIE_Sodium_Crypto::box_keypair(); 1008 1028 } … … 1095 1115 * Extract the public key from a crypto_box keypair. 1096 1116 * 1097 * @param string $keypair 1117 * @param string $keypair Keypair containing secret and public key 1098 1118 * @return string Your crypto_box public key 1099 1119 * @throws SodiumException … … 1127 1147 * 1128 1148 * @param string $secretKey Any X25519 secret key 1129 * @return string The corresponding X25519 public key1149 * @return string The corresponding X25519 public key 1130 1150 * @throws SodiumException 1131 1151 * @throws TypeError … … 1261 1281 * 1262 1282 * @param string &$ctx BLAKE2 hashing context. Generated by crypto_generichash_init(). 1263 * @param int $length Hash output size.1283 * @param int $length Hash output size. 1264 1284 * @return string Final BLAKE2b hash. 1265 1285 * @throws SodiumException … … 1338 1358 * Update a BLAKE2b hashing context with additional data. 1339 1359 * 1340 * @param string &$ctx BLAKE2 hashing context. Generated by crypto_generichash_init().1360 * @param string &$ctx BLAKE2 hashing context. Generated by crypto_generichash_init(). 1341 1361 * $ctx is passed by reference and gets updated in-place. 1342 1362 * @param string $message The message to append to the existing hash state. … … 1370 1390 /** 1371 1391 * @return string 1392 * @throws Exception 1393 * @throws Error 1372 1394 */ 1373 1395 public static function crypto_generichash_keygen() … … 1588 1610 1589 1611 if (self::useNewSodiumAPI()) { 1590 return (string) sodium_crypto_pwhash_scryptsalsa208sha256($outlen, $passwd, $salt, $opslimit, $memlimit); 1612 return (string) sodium_crypto_pwhash_scryptsalsa208sha256( 1613 (int) $outlen, 1614 (string) $passwd, 1615 (string) $salt, 1616 (int) $opslimit, 1617 (int) $memlimit 1618 ); 1591 1619 } 1592 1620 if (self::use_fallback('crypto_pwhash_scryptsalsa208sha256')) { 1593 return (string) call_user_func('\\Sodium\\crypto_pwhash_scryptsalsa208sha256', $outlen, $passwd, $salt, $opslimit, $memlimit); 1621 return (string) call_user_func( 1622 '\\Sodium\\crypto_pwhash_scryptsalsa208sha256', 1623 (int) $outlen, 1624 (string) $passwd, 1625 (string) $salt, 1626 (int) $opslimit, 1627 (int) $memlimit 1628 ); 1594 1629 } 1595 1630 // This is the best we can do. … … 1633 1668 1634 1669 if (self::useNewSodiumAPI()) { 1635 return (string) sodium_crypto_pwhash_scryptsalsa208sha256_str($passwd, $opslimit, $memlimit); 1670 return (string) sodium_crypto_pwhash_scryptsalsa208sha256_str( 1671 (string) $passwd, 1672 (int) $opslimit, 1673 (int) $memlimit 1674 ); 1636 1675 } 1637 1676 if (self::use_fallback('crypto_pwhash_scryptsalsa208sha256_str')) { 1638 return (string) call_user_func('\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str', $passwd, $opslimit, $memlimit); 1677 return (string) call_user_func( 1678 '\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str', 1679 (string) $passwd, 1680 (int) $opslimit, 1681 (int) $memlimit 1682 ); 1639 1683 } 1640 1684 // This is the best we can do. … … 1657 1701 1658 1702 if (self::useNewSodiumAPI()) { 1659 return (bool) sodium_crypto_pwhash_scryptsalsa208sha256_str_verify($passwd, $hash); 1703 return (bool) sodium_crypto_pwhash_scryptsalsa208sha256_str_verify( 1704 (string) $passwd, 1705 (string) $hash 1706 ); 1660 1707 } 1661 1708 if (self::use_fallback('crypto_pwhash_scryptsalsa208sha256_str_verify')) { 1662 return (bool) call_user_func('\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str_verify', $passwd, $hash); 1709 return (bool) call_user_func( 1710 '\\Sodium\\crypto_pwhash_scryptsalsa208sha256_str_verify', 1711 (string) $passwd, 1712 (string) $hash 1713 ); 1663 1714 } 1664 1715 // This is the best we can do. … … 1838 1889 * 1839 1890 * @return string 1891 * @throws Exception 1892 * @throws Error 1840 1893 */ 1841 1894 public static function crypto_secretbox_keygen() … … 1947 2000 * 1948 2001 * @return string 2002 * @throws Exception 2003 * @throws Error 1949 2004 */ 1950 2005 public static function crypto_shorthash_keygen() … … 2243 2298 } 2244 2299 if (self::use_fallback('crypto_sign_verify_detached')) { 2245 return (bool) call_user_func('\\Sodium\\crypto_sign_verify_detached', $signature, $message, $publicKey); 2300 return (bool) call_user_func( 2301 '\\Sodium\\crypto_sign_verify_detached', 2302 $signature, 2303 $message, 2304 $publicKey 2305 ); 2246 2306 } 2247 2307 if (PHP_INT_SIZE === 4) { … … 2412 2472 * 2413 2473 * @return string 2474 * @throws Exception 2475 * @throws Error 2414 2476 */ 2415 2477 public static function crypto_stream_keygen() … … 2464 2526 } 2465 2527 if (self::use_fallback('increment')) { 2466 @call_user_func('\\Sodium\\increment', $var); 2528 $func = '\\Sodium\\increment'; 2529 $func($var); 2467 2530 return; 2468 2531 } … … 2564 2627 } 2565 2628 if (self::use_fallback('memzero')) { 2566 @call_user_func('\\Sodium\\memzero', $var); 2567 return; 2629 $func = '\\Sodium\\memzero'; 2630 $func($var); 2631 if ($var === null) { 2632 return; 2633 } 2568 2634 } 2569 2635 // This is the best we can do. … … 2580 2646 * @param int $numBytes 2581 2647 * @return string 2648 * @throws Exception 2582 2649 * @throws TypeError 2583 2650 */ … … 2589 2656 $numBytes = (int) $numBytes; 2590 2657 } else { 2591 throw new TypeError('Argument 1 must be an integer, ' . gettype($numBytes) . ' given.'); 2658 throw new TypeError( 2659 'Argument 1 must be an integer, ' . gettype($numBytes) . ' given.' 2660 ); 2592 2661 } 2593 2662 } … … 2603 2672 * @param int $range 2604 2673 * @return int 2674 * @throws Exception 2675 * @throws Error 2605 2676 * @throws TypeError 2606 2677 */ … … 2610 2681 if (!is_int($range)) { 2611 2682 if (is_numeric($range)) { 2612 $range = (int) $range;2683 $range = (int) $range; 2613 2684 } else { 2614 throw new TypeError('Argument 1 must be an integer, ' . gettype($range) . ' given.'); 2685 throw new TypeError( 2686 'Argument 1 must be an integer, ' . gettype($range) . ' given.' 2687 ); 2615 2688 } 2616 2689 } … … 2625 2698 * 2626 2699 * @return int 2700 * @throws Exception 2701 * @throws Error 2702 * @throws TypeError 2627 2703 */ 2628 2704 public static function randombytes_random16() -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/BLAKE2b.php
r1853488 r1946575 132 132 throw new SodiumException('y[1] is not an integer'); 133 133 } 134 return self::new64($x[0] ^ $y[0], $x[1] ^ $y[1]); 134 return self::new64( 135 (int) ($x[0] ^ $y[0]), 136 (int) ($x[1] ^ $y[1]) 137 ); 135 138 } 136 139 … … 164 167 if ($c < 32) { 165 168 /** @var int $h0 */ 166 $h0 = ( $x[0]<< $c) | (169 $h0 = ((int) ($x[0]) << $c) | ( 167 170 ( 168 $x[1]& ((1 << $c) - 1)171 (int) ($x[1]) & ((1 << $c) - 1) 169 172 << 170 173 (32 - $c) … … 172 175 ); 173 176 /** @var int $l0 */ 174 $l0 = $x[1]<< $c;177 $l0 = (int) ($x[1]) << $c; 175 178 } else { 176 179 /** @var int $h0 */ 177 $h0 = $x[1]<< ($c - 32);180 $h0 = (int) ($x[1]) << ($c - 32); 178 181 } 179 182 … … 183 186 if ($c1 < 32) { 184 187 /** @var int $h1 */ 185 $h1 = $x[0]>> $c1;188 $h1 = (int) ($x[0]) >> $c1; 186 189 /** @var int $l1 */ 187 $l1 = ( $x[1] >> $c1) | ($x[0]& ((1 << $c1) - 1)) << (32 - $c1);190 $l1 = ((int) ($x[1]) >> $c1) | ((int) ($x[0]) & ((1 << $c1) - 1)) << (32 - $c1); 188 191 } else { 189 192 /** @var int $l1 */ 190 $l1 = $x[0]>> ($c1 - 32);193 $l1 = (int) ($x[0]) >> ($c1 - 32); 191 194 } 192 195 … … 218 221 { 219 222 /** @var int $l */ 220 $l = $x[$i] | ($x[$i+1]<<8) | ($x[$i+2]<<16) | ($x[$i+3]<<24); 223 $l = (int) ($x[$i]) 224 | ((int) ($x[$i+1]) << 8) 225 | ((int) ($x[$i+2]) << 16) 226 | ((int) ($x[$i+3]) << 24); 221 227 /** @var int $h */ 222 $h = $x[$i+4] | ($x[$i+5]<<8) | ($x[$i+6]<<16) | ($x[$i+7]<<24); 228 $h = (int) ($x[$i+4]) 229 | ((int) ($x[$i+5]) << 8) 230 | ((int) ($x[$i+6]) << 16) 231 | ((int) ($x[$i+7]) << 24); 223 232 return self::new64($h, $l); 224 233 } … … 244 253 /** @var int $uIdx */ 245 254 $uIdx = ((7 - $j) & 4) >> 2; 246 $x[$i] = ( $u[$uIdx]& 0xff);255 $x[$i] = ((int) ($u[$uIdx]) & 0xff); 247 256 if (++$i > $maxLength) { 248 257 return; … … 623 632 { 624 633 /** 625 * @var array< mixed, int>634 * @var array<int, int|string> $arr 626 635 */ 627 636 $arr = $a->toArray(); … … 669 678 $str .= self::SplFixedArrayToString($ctx[3]); 670 679 680 /** @var int $ctx4 */ 681 $ctx4 = (int) $ctx[4]; 682 671 683 # size_t buflen; 672 684 $str .= implode('', array( 673 self::intToChr($ctx [4]& 0xff),674 self::intToChr(($ctx [4]>> 8) & 0xff),675 self::intToChr(($ctx [4]>> 16) & 0xff),676 self::intToChr(($ctx [4]>> 24) & 0xff),677 self::intToChr(($ctx [4]>> 32) & 0xff),678 self::intToChr(($ctx [4]>> 40) & 0xff),679 self::intToChr(($ctx [4]>> 48) & 0xff),680 self::intToChr(($ctx [4]>> 56) & 0xff)685 self::intToChr($ctx4 & 0xff), 686 self::intToChr(($ctx4 >> 8) & 0xff), 687 self::intToChr(($ctx4 >> 16) & 0xff), 688 self::intToChr(($ctx4 >> 24) & 0xff), 689 self::intToChr(($ctx4 >> 32) & 0xff), 690 self::intToChr(($ctx4 >> 40) & 0xff), 691 self::intToChr(($ctx4 >> 48) & 0xff), 692 self::intToChr(($ctx4 >> 56) & 0xff) 681 693 )); 682 694 # uint8_t last_node; -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/Curve25519.php
r1853488 r1946575 89 89 /** @var int $x */ 90 90 $x = (($f[$i] ^ $g[$i]) & $b); 91 $h[$i] = (int) ( $f[$i]^ $x);91 $h[$i] = (int) ((int) ($f[$i]) ^ $x); 92 92 } 93 93 return ParagonIE_Sodium_Core_Curve25519_Fe::fromArray($h); … … 454 454 /** @var int $f9_2 */ 455 455 $f9_2 = $f9 << 1; 456 $f0g0 = self::mul($f0, $g0, 2 7);457 $f0g1 = self::mul($f0, $g1, 2 6);458 $f0g2 = self::mul($f0, $g2, 2 7);459 $f0g3 = self::mul($f0, $g3, 2 6);460 $f0g4 = self::mul($f0, $g4, 2 7);461 $f0g5 = self::mul($f0, $g5, 2 6);462 $f0g6 = self::mul($f0, $g6, 2 7);463 $f0g7 = self::mul($f0, $g7, 2 6);464 $f0g8 = self::mul($f0, $g8, 2 7);465 $f0g9 = self::mul($f0, $g9, 2 7);466 $f1g0 = self::mul($f1, $g0, 2 7);467 $f1g1_2 = self::mul($f1_2, $g1, 2 6);468 $f1g2 = self::mul($f1, $g2, 2 7);469 $f1g3_2 = self::mul($f1_2, $g3, 2 6);470 $f1g4 = self::mul($f1, $g4, 2 7);471 $f1g5_2 = self::mul($f1_2, $g5, 2 6);472 $f1g6 = self::mul($f1, $g6, 2 7);473 $f1g7_2 = self::mul($f1_2, $g7, 2 6);474 $f1g8 = self::mul($f1, $g8, 2 7);475 $f1g9_38 = self::mul($g9_19, $f1_2, 2 7);476 $f2g0 = self::mul($f2, $g0, 2 7);477 $f2g1 = self::mul($f2, $g1, 2 6);478 $f2g2 = self::mul($f2, $g2, 2 7);479 $f2g3 = self::mul($f2, $g3, 2 6);480 $f2g4 = self::mul($f2, $g4, 2 7);481 $f2g5 = self::mul($f2, $g5, 2 6);482 $f2g6 = self::mul($f2, $g6, 2 7);483 $f2g7 = self::mul($f2, $g7, 2 6);484 $f2g8_19 = self::mul($g8_19, $f2, 2 7);485 $f2g9_19 = self::mul($g9_19, $f2, 2 7);486 $f3g0 = self::mul($f3, $g0, 2 7);487 $f3g1_2 = self::mul($f3_2, $g1, 2 6);488 $f3g2 = self::mul($f3, $g2, 2 7);489 $f3g3_2 = self::mul($f3_2, $g3, 2 6);490 $f3g4 = self::mul($f3, $g4, 2 7);491 $f3g5_2 = self::mul($f3_2, $g5, 2 6);492 $f3g6 = self::mul($f3, $g6, 2 7);493 $f3g7_38 = self::mul($g7_19, $f3_2, 2 7);494 $f3g8_19 = self::mul($g8_19, $f3, 2 7);495 $f3g9_38 = self::mul($g9_19, $f3_2, 2 7);496 $f4g0 = self::mul($f4, $g0, 2 7);497 $f4g1 = self::mul($f4, $g1, 2 6);498 $f4g2 = self::mul($f4, $g2, 2 7);499 $f4g3 = self::mul($f4, $g3, 2 6);500 $f4g4 = self::mul($f4, $g4, 2 7);501 $f4g5 = self::mul($f4, $g5, 2 6);502 $f4g6_19 = self::mul($g6_19, $f4, 2 7);503 $f4g7_19 = self::mul($g7_19, $f4, 2 7);504 $f4g8_19 = self::mul($g8_19, $f4, 2 7);505 $f4g9_19 = self::mul($g9_19, $f4, 2 7);506 $f5g0 = self::mul($f5, $g0, 2 7);507 $f5g1_2 = self::mul($f5_2, $g1, 2 6);508 $f5g2 = self::mul($f5, $g2, 2 7);509 $f5g3_2 = self::mul($f5_2, $g3, 2 6);510 $f5g4 = self::mul($f5, $g4, 2 7);511 $f5g5_38 = self::mul($g5_19, $f5_2, 2 7);512 $f5g6_19 = self::mul($g6_19, $f5, 2 6);513 $f5g7_38 = self::mul($g7_19, $f5_2, 2 7);514 $f5g8_19 = self::mul($g8_19, $f5, 2 6);515 $f5g9_38 = self::mul($g9_19, $f5_2, 2 7);516 $f6g0 = self::mul($f6, $g0, 2 7);517 $f6g1 = self::mul($f6, $g1, 2 6);518 $f6g2 = self::mul($f6, $g2, 2 7);519 $f6g3 = self::mul($f6, $g3, 2 6);520 $f6g4_19 = self::mul($g4_19, $f6, 2 7);521 $f6g5_19 = self::mul($g5_19, $f6, 2 7);522 $f6g6_19 = self::mul($g6_19, $f6, 2 7);523 $f6g7_19 = self::mul($g7_19, $f6, 2 7);524 $f6g8_19 = self::mul($g8_19, $f6, 2 7);525 $f6g9_19 = self::mul($g9_19, $f6, 2 7);526 $f7g0 = self::mul($f7, $g0, 2 7);527 $f7g1_2 = self::mul($f7_2, $g1, 2 6);528 $f7g2 = self::mul($f7, $g2, 2 7);529 $f7g3_38 = self::mul($g3_19, $f7_2, 2 7);530 $f7g4_19 = self::mul($g4_19, $f7, 2 7);531 $f7g5_38 = self::mul($g5_19, $f7_2, 2 7);532 $f7g6_19 = self::mul($g6_19, $f7, 2 7);533 $f7g7_38 = self::mul($g7_19, $f7_2, 2 7);534 $f7g8_19 = self::mul($g8_19, $f7, 2 7);535 $f7g9_38 = self::mul($g9_19,$f7_2, 2 7);536 $f8g0 = self::mul($f8, $g0, 2 7);537 $f8g1 = self::mul($f8, $g1, 2 6);538 $f8g2_19 = self::mul($g2_19, $f8, 2 7);539 $f8g3_19 = self::mul($g3_19, $f8, 2 7);540 $f8g4_19 = self::mul($g4_19, $f8, 2 7);541 $f8g5_19 = self::mul($g5_19, $f8, 2 7);542 $f8g6_19 = self::mul($g6_19, $f8, 2 7);543 $f8g7_19 = self::mul($g7_19, $f8, 2 7);544 $f8g8_19 = self::mul($g8_19, $f8, 2 7);545 $f8g9_19 = self::mul($g9_19, $f8, 2 7);546 $f9g0 = self::mul($f9, $g0, 2 7);547 $f9g1_38 = self::mul($g1_19, $f9_2, 2 7);548 $f9g2_19 = self::mul($g2_19, $f9, 2 7);549 $f9g3_38 = self::mul($g3_19, $f9_2, 2 7);550 $f9g4_19 = self::mul($g4_19, $f9, 2 7);551 $f9g5_38 = self::mul($g5_19, $f9_2, 2 7);552 $f9g6_19 = self::mul($g6_19, $f9, 2 7);553 $f9g7_38 = self::mul($g7_19, $f9_2, 2 7);554 $f9g8_19 = self::mul($g8_19, $f9, 2 7);555 $f9g9_38 = self::mul($g9_19, $f9_2, 2 7);456 $f0g0 = self::mul($f0, $g0, 26); 457 $f0g1 = self::mul($f0, $g1, 25); 458 $f0g2 = self::mul($f0, $g2, 26); 459 $f0g3 = self::mul($f0, $g3, 25); 460 $f0g4 = self::mul($f0, $g4, 26); 461 $f0g5 = self::mul($f0, $g5, 25); 462 $f0g6 = self::mul($f0, $g6, 26); 463 $f0g7 = self::mul($f0, $g7, 25); 464 $f0g8 = self::mul($f0, $g8, 26); 465 $f0g9 = self::mul($f0, $g9, 26); 466 $f1g0 = self::mul($f1, $g0, 26); 467 $f1g1_2 = self::mul($f1_2, $g1, 25); 468 $f1g2 = self::mul($f1, $g2, 26); 469 $f1g3_2 = self::mul($f1_2, $g3, 25); 470 $f1g4 = self::mul($f1, $g4, 26); 471 $f1g5_2 = self::mul($f1_2, $g5, 25); 472 $f1g6 = self::mul($f1, $g6, 26); 473 $f1g7_2 = self::mul($f1_2, $g7, 25); 474 $f1g8 = self::mul($f1, $g8, 26); 475 $f1g9_38 = self::mul($g9_19, $f1_2, 26); 476 $f2g0 = self::mul($f2, $g0, 26); 477 $f2g1 = self::mul($f2, $g1, 25); 478 $f2g2 = self::mul($f2, $g2, 26); 479 $f2g3 = self::mul($f2, $g3, 25); 480 $f2g4 = self::mul($f2, $g4, 26); 481 $f2g5 = self::mul($f2, $g5, 25); 482 $f2g6 = self::mul($f2, $g6, 26); 483 $f2g7 = self::mul($f2, $g7, 25); 484 $f2g8_19 = self::mul($g8_19, $f2, 26); 485 $f2g9_19 = self::mul($g9_19, $f2, 26); 486 $f3g0 = self::mul($f3, $g0, 26); 487 $f3g1_2 = self::mul($f3_2, $g1, 25); 488 $f3g2 = self::mul($f3, $g2, 26); 489 $f3g3_2 = self::mul($f3_2, $g3, 25); 490 $f3g4 = self::mul($f3, $g4, 26); 491 $f3g5_2 = self::mul($f3_2, $g5, 25); 492 $f3g6 = self::mul($f3, $g6, 26); 493 $f3g7_38 = self::mul($g7_19, $f3_2, 26); 494 $f3g8_19 = self::mul($g8_19, $f3, 25); 495 $f3g9_38 = self::mul($g9_19, $f3_2, 26); 496 $f4g0 = self::mul($f4, $g0, 26); 497 $f4g1 = self::mul($f4, $g1, 25); 498 $f4g2 = self::mul($f4, $g2, 26); 499 $f4g3 = self::mul($f4, $g3, 25); 500 $f4g4 = self::mul($f4, $g4, 26); 501 $f4g5 = self::mul($f4, $g5, 25); 502 $f4g6_19 = self::mul($g6_19, $f4, 26); 503 $f4g7_19 = self::mul($g7_19, $f4, 26); 504 $f4g8_19 = self::mul($g8_19, $f4, 26); 505 $f4g9_19 = self::mul($g9_19, $f4, 26); 506 $f5g0 = self::mul($f5, $g0, 26); 507 $f5g1_2 = self::mul($f5_2, $g1, 25); 508 $f5g2 = self::mul($f5, $g2, 26); 509 $f5g3_2 = self::mul($f5_2, $g3, 25); 510 $f5g4 = self::mul($f5, $g4, 26); 511 $f5g5_38 = self::mul($g5_19, $f5_2, 26); 512 $f5g6_19 = self::mul($g6_19, $f5, 25); 513 $f5g7_38 = self::mul($g7_19, $f5_2, 26); 514 $f5g8_19 = self::mul($g8_19, $f5, 25); 515 $f5g9_38 = self::mul($g9_19, $f5_2, 26); 516 $f6g0 = self::mul($f6, $g0, 26); 517 $f6g1 = self::mul($f6, $g1, 25); 518 $f6g2 = self::mul($f6, $g2, 26); 519 $f6g3 = self::mul($f6, $g3, 25); 520 $f6g4_19 = self::mul($g4_19, $f6, 26); 521 $f6g5_19 = self::mul($g5_19, $f6, 26); 522 $f6g6_19 = self::mul($g6_19, $f6, 26); 523 $f6g7_19 = self::mul($g7_19, $f6, 26); 524 $f6g8_19 = self::mul($g8_19, $f6, 26); 525 $f6g9_19 = self::mul($g9_19, $f6, 26); 526 $f7g0 = self::mul($f7, $g0, 26); 527 $f7g1_2 = self::mul($f7_2, $g1, 25); 528 $f7g2 = self::mul($f7, $g2, 26); 529 $f7g3_38 = self::mul($g3_19, $f7_2, 26); 530 $f7g4_19 = self::mul($g4_19, $f7, 26); 531 $f7g5_38 = self::mul($g5_19, $f7_2, 26); 532 $f7g6_19 = self::mul($g6_19, $f7, 25); 533 $f7g7_38 = self::mul($g7_19, $f7_2, 26); 534 $f7g8_19 = self::mul($g8_19, $f7, 25); 535 $f7g9_38 = self::mul($g9_19,$f7_2, 26); 536 $f8g0 = self::mul($f8, $g0, 26); 537 $f8g1 = self::mul($f8, $g1, 25); 538 $f8g2_19 = self::mul($g2_19, $f8, 26); 539 $f8g3_19 = self::mul($g3_19, $f8, 26); 540 $f8g4_19 = self::mul($g4_19, $f8, 26); 541 $f8g5_19 = self::mul($g5_19, $f8, 26); 542 $f8g6_19 = self::mul($g6_19, $f8, 26); 543 $f8g7_19 = self::mul($g7_19, $f8, 26); 544 $f8g8_19 = self::mul($g8_19, $f8, 26); 545 $f8g9_19 = self::mul($g9_19, $f8, 26); 546 $f9g0 = self::mul($f9, $g0, 26); 547 $f9g1_38 = self::mul($g1_19, $f9_2, 26); 548 $f9g2_19 = self::mul($g2_19, $f9, 25); 549 $f9g3_38 = self::mul($g3_19, $f9_2, 26); 550 $f9g4_19 = self::mul($g4_19, $f9, 25); 551 $f9g5_38 = self::mul($g5_19, $f9_2, 26); 552 $f9g6_19 = self::mul($g6_19, $f9, 25); 553 $f9g7_38 = self::mul($g7_19, $f9_2, 26); 554 $f9g8_19 = self::mul($g8_19, $f9, 25); 555 $f9g9_38 = self::mul($g9_19, $f9_2, 26); 556 556 $h0 = $f0g0 + $f1g9_38 + $f2g8_19 + $f3g7_38 + $f4g6_19 + $f5g5_38 + $f6g4_19 + $f7g3_38 + $f8g2_19 + $f9g1_38; 557 557 $h1 = $f0g1 + $f1g0 + $f2g9_19 + $f3g8_19 + $f4g7_19 + $f5g6_19 + $f6g5_19 + $f7g4_19 + $f8g3_19 + $f9g2_19; … … 700 700 $f8_19 = self::mul($f8, 19, 5); 701 701 $f9_38 = self::mul($f9, 38, 6); 702 $f0f0 = self::mul($f0, $f0, 2 6);703 $f0f1_2 = self::mul($f0_2, $f1, 2 6);704 $f0f2_2 = self::mul($f0_2, $f2, 2 6);705 $f0f3_2 = self::mul($f0_2, $f3, 2 6);706 $f0f4_2 = self::mul($f0_2, $f4, 2 6);707 $f0f5_2 = self::mul($f0_2, $f5, 2 6);708 $f0f6_2 = self::mul($f0_2, $f6, 2 6);709 $f0f7_2 = self::mul($f0_2, $f7, 2 6);710 $f0f8_2 = self::mul($f0_2, $f8, 2 6);711 $f0f9_2 = self::mul($f0_2, $f9, 2 6);712 $f1f1_2 = self::mul($f1_2, $f1, 2 6);713 $f1f2_2 = self::mul($f1_2, $f2, 2 6);714 $f1f3_4 = self::mul($f1_2, $f3_2, 2 6);715 $f1f4_2 = self::mul($f1_2, $f4, 2 6);716 $f1f5_4 = self::mul($f1_2, $f5_2, 2 7);717 $f1f6_2 = self::mul($f1_2, $f6, 2 6);718 $f1f7_4 = self::mul($f1_2, $f7_2, 2 6);719 $f1f8_2 = self::mul($f1_2, $f8, 2 6);720 $f1f9_76 = self::mul($f9_38, $f1_2, 2 6);721 $f2f2 = self::mul($f2, $f2, 2 6);722 $f2f3_2 = self::mul($f2_2, $f3, 2 6);723 $f2f4_2 = self::mul($f2_2, $f4, 2 6);724 $f2f5_2 = self::mul($f2_2, $f5, 2 6);725 $f2f6_2 = self::mul($f2_2, $f6, 2 6);726 $f2f7_2 = self::mul($f2_2, $f7, 2 6);727 $f2f8_38 = self::mul($f8_19, $f2_2, 2 7);728 $f2f9_38 = self::mul($f9_38, $f2, 2 6);729 $f3f3_2 = self::mul($f3_2, $f3, 2 6);730 $f3f4_2 = self::mul($f3_2, $f4, 2 6);731 $f3f5_4 = self::mul($f3_2, $f5_2, 2 7);732 $f3f6_2 = self::mul($f3_2, $f6, 2 6);733 $f3f7_76 = self::mul($f7_38, $f3_2, 2 6);734 $f3f8_38 = self::mul($f8_19, $f3_2, 2 6);735 $f3f9_76 = self::mul($f9_38, $f3_2, 2 6);736 $f4f4 = self::mul($f4, $f4, 2 6);737 $f4f5_2 = self::mul($f4_2, $f5, 2 6);738 $f4f6_38 = self::mul($f6_19, $f4_2, 2 7);739 $f4f7_38 = self::mul($f7_38, $f4, 2 6);740 $f4f8_38 = self::mul($f8_19, $f4_2, 2 7);741 $f4f9_38 = self::mul($f9_38, $f4, 2 6);742 $f5f5_38 = self::mul($f5_38, $f5, 2 6);743 $f5f6_38 = self::mul($f6_19, $f5_2, 2 7);744 $f5f7_76 = self::mul($f7_38, $f5_2, 2 7);745 $f5f8_38 = self::mul($f8_19, $f5_2, 2 7);746 $f5f9_76 = self::mul($f9_38, $f5_2, 2 7);747 $f6f6_19 = self::mul($f6_19, $f6, 2 6);748 $f6f7_38 = self::mul($f7_38, $f6, 2 6);749 $f6f8_38 = self::mul($f8_19, $f6_2, 2 7);750 $f6f9_38 = self::mul($f9_38, $f6, 2 6);751 $f7f7_38 = self::mul($f7_38, $f7, 2 6);752 $f7f8_38 = self::mul($f8_19, $f7_2, 2 7);753 $f7f9_76 = self::mul($f9_38, $f7_2, 2 7);754 $f8f8_19 = self::mul($f8_19, $f8, 2 6);755 $f8f9_38 = self::mul($f9_38, $f8, 2 6);756 $f9f9_38 = self::mul($f9_38, $f9, 2 7);702 $f0f0 = self::mul($f0, $f0, 25); 703 $f0f1_2 = self::mul($f0_2, $f1, 24); 704 $f0f2_2 = self::mul($f0_2, $f2, 25); 705 $f0f3_2 = self::mul($f0_2, $f3, 24); 706 $f0f4_2 = self::mul($f0_2, $f4, 25); 707 $f0f5_2 = self::mul($f0_2, $f5, 25); 708 $f0f6_2 = self::mul($f0_2, $f6, 25); 709 $f0f7_2 = self::mul($f0_2, $f7, 24); 710 $f0f8_2 = self::mul($f0_2, $f8, 25); 711 $f0f9_2 = self::mul($f0_2, $f9, 25); 712 $f1f1_2 = self::mul($f1_2, $f1, 24); 713 $f1f2_2 = self::mul($f1_2, $f2, 25); 714 $f1f3_4 = self::mul($f1_2, $f3_2, 25); 715 $f1f4_2 = self::mul($f1_2, $f4, 25); 716 $f1f5_4 = self::mul($f1_2, $f5_2, 26); 717 $f1f6_2 = self::mul($f1_2, $f6, 25); 718 $f1f7_4 = self::mul($f1_2, $f7_2, 25); 719 $f1f8_2 = self::mul($f1_2, $f8, 25); 720 $f1f9_76 = self::mul($f9_38, $f1_2, 25); 721 $f2f2 = self::mul($f2, $f2, 25); 722 $f2f3_2 = self::mul($f2_2, $f3, 24); 723 $f2f4_2 = self::mul($f2_2, $f4, 25); 724 $f2f5_2 = self::mul($f2_2, $f5, 25); 725 $f2f6_2 = self::mul($f2_2, $f6, 25); 726 $f2f7_2 = self::mul($f2_2, $f7, 24); 727 $f2f8_38 = self::mul($f8_19, $f2_2, 26); 728 $f2f9_38 = self::mul($f9_38, $f2, 25); 729 $f3f3_2 = self::mul($f3_2, $f3, 24); 730 $f3f4_2 = self::mul($f3_2, $f4, 25); 731 $f3f5_4 = self::mul($f3_2, $f5_2, 26); 732 $f3f6_2 = self::mul($f3_2, $f6, 25); 733 $f3f7_76 = self::mul($f7_38, $f3_2, 25); 734 $f3f8_38 = self::mul($f8_19, $f3_2, 25); 735 $f3f9_76 = self::mul($f9_38, $f3_2, 25); 736 $f4f4 = self::mul($f4, $f4, 25); 737 $f4f5_2 = self::mul($f4_2, $f5, 25); 738 $f4f6_38 = self::mul($f6_19, $f4_2, 26); 739 $f4f7_38 = self::mul($f7_38, $f4, 25); 740 $f4f8_38 = self::mul($f8_19, $f4_2, 26); 741 $f4f9_38 = self::mul($f9_38, $f4, 25); 742 $f5f5_38 = self::mul($f5_38, $f5, 25); 743 $f5f6_38 = self::mul($f6_19, $f5_2, 26); 744 $f5f7_76 = self::mul($f7_38, $f5_2, 26); 745 $f5f8_38 = self::mul($f8_19, $f5_2, 26); 746 $f5f9_76 = self::mul($f9_38, $f5_2, 26); 747 $f6f6_19 = self::mul($f6_19, $f6, 25); 748 $f6f7_38 = self::mul($f7_38, $f6, 25); 749 $f6f8_38 = self::mul($f8_19, $f6_2, 26); 750 $f6f9_38 = self::mul($f9_38, $f6, 25); 751 $f7f7_38 = self::mul($f7_38, $f7, 24); 752 $f7f8_38 = self::mul($f8_19, $f7_2, 25); 753 $f7f9_76 = self::mul($f9_38, $f7_2, 25); 754 $f8f8_19 = self::mul($f8_19, $f8, 25); 755 $f8f9_38 = self::mul($f9_38, $f8, 25); 756 $f9f9_38 = self::mul($f9_38, $f9, 25); 757 757 $h0 = $f0f0 + $f1f9_76 + $f2f8_38 + $f3f7_76 + $f4f6_38 + $f5f5_38; 758 758 $h1 = $f0f1_2 + $f2f9_38 + $f3f8_38 + $f4f7_38 + $f5f6_38; … … 882 882 $f8_19 = self::mul($f8, 19, 5); /* 1.959375*2^30 */ 883 883 $f9_38 = self::mul($f9, 38, 6); /* 1.959375*2^30 */ 884 $f0f0 = self::mul($f0, $f0, 2 6);885 $f0f1_2 = self::mul($f0_2, $f1, 2 6);886 $f0f2_2 = self::mul($f0_2, $f2, 2 6);887 $f0f3_2 = self::mul($f0_2, $f3, 2 6);888 $f0f4_2 = self::mul($f0_2, $f4, 2 6);889 $f0f5_2 = self::mul($f0_2, $f5, 2 6);890 $f0f6_2 = self::mul($f0_2, $f6, 2 6);891 $f0f7_2 = self::mul($f0_2, $f7, 2 6);892 $f0f8_2 = self::mul($f0_2, $f8, 2 6);893 $f0f9_2 = self::mul($f0_2, $f9, 2 6);894 $f1f1_2 = self::mul($f1_2, $f1, 2 6);895 $f1f2_2 = self::mul($f1_2, $f2, 2 6);896 $f1f3_4 = self::mul($f1_2, $f3_2, 2 7);897 $f1f4_2 = self::mul($f1_2, $f4, 2 6);898 $f1f5_4 = self::mul($f1_2, $f5_2, 2 7);899 $f1f6_2 = self::mul($f1_2, $f6, 2 6);900 $f1f7_4 = self::mul($f1_2, $f7_2, 2 7);901 $f1f8_2 = self::mul($f1_2, $f8, 2 6);902 $f1f9_76 = self::mul($f9_38, $f1_2, 2 7);903 $f2f2 = self::mul($f2, $f2, 2 6);904 $f2f3_2 = self::mul($f2_2, $f3, 2 6);905 $f2f4_2 = self::mul($f2_2, $f4, 2 6);906 $f2f5_2 = self::mul($f2_2, $f5, 2 6);907 $f2f6_2 = self::mul($f2_2, $f6, 2 6);908 $f2f7_2 = self::mul($f2_2, $f7, 2 6);909 $f2f8_38 = self::mul($f8_19, $f2_2, 2 7);910 $f2f9_38 = self::mul($f9_38, $f2, 2 6);911 $f3f3_2 = self::mul($f3_2, $f3, 2 6);912 $f3f4_2 = self::mul($f3_2, $f4, 2 6);913 $f3f5_4 = self::mul($f3_2, $f5_2, 2 7);914 $f3f6_2 = self::mul($f3_2, $f6, 2 7);915 $f3f7_76 = self::mul($f7_38, $f3_2, 2 7);916 $f3f8_38 = self::mul($f8_19, $f3_2, 2 7);917 $f3f9_76 = self::mul($f9_38, $f3_2, 2 7);918 $f4f4 = self::mul($f4, $f4, 2 6);919 $f4f5_2 = self::mul($f4_2, $f5, 2 6);920 $f4f6_38 = self::mul($f6_19, $f4_2, 2 7);921 $f4f7_38 = self::mul($f7_38, $f4, 2 7);922 $f4f8_38 = self::mul($f8_19, $f4_2, 2 7);923 $f4f9_38 = self::mul($f9_38, $f4, 2 7);924 $f5f5_38 = self::mul($f5_38, $f5, 2 6);925 $f5f6_38 = self::mul($f6_19, $f5_2, 2 7);926 $f5f7_76 = self::mul($f7_38, $f5_2, 2 7);927 $f5f8_38 = self::mul($f8_19, $f5_2, 2 7);928 $f5f9_76 = self::mul($f9_38, $f5_2, 2 7);929 $f6f6_19 = self::mul($f6_19, $f6, 2 6);930 $f6f7_38 = self::mul($f7_38, $f6, 2 6);931 $f6f8_38 = self::mul($f8_19, $f6_2, 2 7);932 $f6f9_38 = self::mul($f9_38, $f6, 2 6);933 $f7f7_38 = self::mul($f7_38, $f7, 2 6);934 $f7f8_38 = self::mul($f8_19, $f7_2, 2 7);935 $f7f9_76 = self::mul($f9_38, $f7_2, 2 7);936 $f8f8_19 = self::mul($f8_19, $f8, 2 6);937 $f8f9_38 = self::mul($f9_38, $f8, 2 6);938 $f9f9_38 = self::mul($f9_38, $f9, 2 7);884 $f0f0 = self::mul($f0, $f0, 24); 885 $f0f1_2 = self::mul($f0_2, $f1, 24); 886 $f0f2_2 = self::mul($f0_2, $f2, 24); 887 $f0f3_2 = self::mul($f0_2, $f3, 24); 888 $f0f4_2 = self::mul($f0_2, $f4, 24); 889 $f0f5_2 = self::mul($f0_2, $f5, 24); 890 $f0f6_2 = self::mul($f0_2, $f6, 24); 891 $f0f7_2 = self::mul($f0_2, $f7, 24); 892 $f0f8_2 = self::mul($f0_2, $f8, 24); 893 $f0f9_2 = self::mul($f0_2, $f9, 24); 894 $f1f1_2 = self::mul($f1_2, $f1, 24); 895 $f1f2_2 = self::mul($f1_2, $f2, 24); 896 $f1f3_4 = self::mul($f1_2, $f3_2, 24); 897 $f1f4_2 = self::mul($f1_2, $f4, 24); 898 $f1f5_4 = self::mul($f1_2, $f5_2, 24); 899 $f1f6_2 = self::mul($f1_2, $f6, 24); 900 $f1f7_4 = self::mul($f1_2, $f7_2, 24); 901 $f1f8_2 = self::mul($f1_2, $f8, 24); 902 $f1f9_76 = self::mul($f9_38, $f1_2, 24); 903 $f2f2 = self::mul($f2, $f2, 24); 904 $f2f3_2 = self::mul($f2_2, $f3, 24); 905 $f2f4_2 = self::mul($f2_2, $f4, 24); 906 $f2f5_2 = self::mul($f2_2, $f5, 24); 907 $f2f6_2 = self::mul($f2_2, $f6, 24); 908 $f2f7_2 = self::mul($f2_2, $f7, 24); 909 $f2f8_38 = self::mul($f8_19, $f2_2, 25); 910 $f2f9_38 = self::mul($f9_38, $f2, 24); 911 $f3f3_2 = self::mul($f3_2, $f3, 24); 912 $f3f4_2 = self::mul($f3_2, $f4, 24); 913 $f3f5_4 = self::mul($f3_2, $f5_2, 24); 914 $f3f6_2 = self::mul($f3_2, $f6, 24); 915 $f3f7_76 = self::mul($f7_38, $f3_2, 24); 916 $f3f8_38 = self::mul($f8_19, $f3_2, 24); 917 $f3f9_76 = self::mul($f9_38, $f3_2, 24); 918 $f4f4 = self::mul($f4, $f4, 24); 919 $f4f5_2 = self::mul($f4_2, $f5, 24); 920 $f4f6_38 = self::mul($f6_19, $f4_2, 25); 921 $f4f7_38 = self::mul($f7_38, $f4, 24); 922 $f4f8_38 = self::mul($f8_19, $f4_2, 25); 923 $f4f9_38 = self::mul($f9_38, $f4, 24); 924 $f5f5_38 = self::mul($f5_38, $f5, 24); 925 $f5f6_38 = self::mul($f6_19, $f5_2, 24); 926 $f5f7_76 = self::mul($f7_38, $f5_2, 24); 927 $f5f8_38 = self::mul($f8_19, $f5_2, 24); 928 $f5f9_76 = self::mul($f9_38, $f5_2, 24); 929 $f6f6_19 = self::mul($f6_19, $f6, 24); 930 $f6f7_38 = self::mul($f7_38, $f6, 24); 931 $f6f8_38 = self::mul($f8_19, $f6_2, 25); 932 $f6f9_38 = self::mul($f9_38, $f6, 24); 933 $f7f7_38 = self::mul($f7_38, $f7, 24); 934 $f7f8_38 = self::mul($f8_19, $f7_2, 24); 935 $f7f9_76 = self::mul($f9_38, $f7_2, 24); 936 $f8f8_19 = self::mul($f8_19, $f8, 24); 937 $f8f9_38 = self::mul($f9_38, $f8, 24); 938 $f9f9_38 = self::mul($f9_38, $f9, 24); 939 939 940 940 /** @var int $h0 */ … … 1841 1841 # slide(aslide,a); 1842 1842 # slide(bslide,b); 1843 /** @var array<int, int> $aslide */ 1843 1844 $aslide = self::slide($a); 1845 /** @var array<int, int> $bslide */ 1844 1846 $bslide = self::slide($b); 1845 1847 … … 2081 2083 $s2 = $c2 + self::mul($a0, $b2, 24) + self::mul($a1, $b1, 24) + self::mul($a2, $b0, 24); 2082 2084 $s3 = $c3 + self::mul($a0, $b3, 24) + self::mul($a1, $b2, 24) + self::mul($a2, $b1, 24) + self::mul($a3, $b0, 24); 2083 $s4 = $c4 + self::mul($a0, $b4, 24) + self::mul($a1, $b3, 24) + self::mul($a2, $b2, 24) + self::mul($a3, $b1, 24) + self::mul($a4, $b0, 24); 2084 $s5 = $c5 + self::mul($a0, $b5, 24) + self::mul($a1, $b4, 24) + self::mul($a2, $b3, 24) + self::mul($a3, $b2, 24) + self::mul($a4, $b1, 24) + self::mul($a5, $b0, 24); 2085 $s6 = $c6 + self::mul($a0, $b6, 24) + self::mul($a1, $b5, 24) + self::mul($a2, $b4, 24) + self::mul($a3, $b3, 24) + self::mul($a4, $b2, 24) + self::mul($a5, $b1, 24) + self::mul($a6, $b0, 24); 2086 $s7 = $c7 + self::mul($a0, $b7, 24) + self::mul($a1, $b6, 24) + self::mul($a2, $b5, 24) + self::mul($a3, $b4, 24) + self::mul($a4, $b3, 24) + self::mul($a5, $b2, 24) + self::mul($a6, $b1, 24) + self::mul($a7, $b0, 24); 2087 $s8 = $c8 + self::mul($a0, $b8, 24) + self::mul($a1, $b7, 24) + self::mul($a2, $b6, 24) + self::mul($a3, $b5, 24) + self::mul($a4, $b4, 24) + self::mul($a5, $b3, 24) + self::mul($a6, $b2, 24) + self::mul($a7, $b1, 24) + self::mul($a8, $b0, 24); 2088 $s9 = $c9 + self::mul($a0, $b9, 24) + self::mul($a1, $b8, 24) + self::mul($a2, $b7, 24) + self::mul($a3, $b6, 24) + self::mul($a4, $b5, 24) + self::mul($a5, $b4, 24) + self::mul($a6, $b3, 24) + self::mul($a7, $b2, 24) + self::mul($a8, $b1, 24) + self::mul($a9, $b0, 24); 2089 $s10 = $c10 + self::mul($a0, $b10, 24) + self::mul($a1, $b9, 24) + self::mul($a2, $b8, 24) + self::mul($a3, $b7, 24) + self::mul($a4, $b6, 24) + self::mul($a5, $b5, 24) + self::mul($a6, $b4, 24) + self::mul($a7, $b3, 24) + self::mul($a8, $b2, 24) + self::mul($a9, $b1, 24) + self::mul($a10, $b0, 24); 2090 $s11 = $c11 + self::mul($a0, $b11, 24) + self::mul($a1, $b10, 24) + self::mul($a2, $b9, 24) + self::mul($a3, $b8, 24) + self::mul($a4, $b7, 24) + self::mul($a5, $b6, 24) + self::mul($a6, $b5, 24) + self::mul($a7, $b4, 24) + self::mul($a8, $b3, 24) + self::mul($a9, $b2, 24) + self::mul($a10, $b1, 24) + self::mul($a11, $b0, 24); 2091 $s12 = self::mul($a1, $b11, 24) + self::mul($a2, $b10, 24) + self::mul($a3, $b9, 24) + self::mul($a4, $b8, 24) + self::mul($a5, $b7, 24) + self::mul($a6, $b6, 24) + self::mul($a7, $b5, 24) + self::mul($a8, $b4, 24) + self::mul($a9, $b3, 24) + self::mul($a10, $b2, 24) + self::mul($a11, $b1, 24); 2092 $s13 = self::mul($a2, $b11, 24) + self::mul($a3, $b10, 24) + self::mul($a4, $b9, 24) + self::mul($a5, $b8, 24) + self::mul($a6, $b7, 24) + self::mul($a7, $b6, 24) + self::mul($a8, $b5, 24) + self::mul($a9, $b4, 24) + self::mul($a10, $b3, 24) + self::mul($a11, $b2, 24); 2093 $s14 = self::mul($a3, $b11, 24) + self::mul($a4, $b10, 24) + self::mul($a5, $b9, 24) + self::mul($a6, $b8, 24) + self::mul($a7, $b7, 24) + self::mul($a8, $b6, 24) + self::mul($a9, $b5, 24) + self::mul($a10, $b4, 24) + self::mul($a11, $b3, 24); 2094 $s15 = self::mul($a4, $b11, 24) + self::mul($a5, $b10, 24) + self::mul($a6, $b9, 24) + self::mul($a7, $b8, 24) + self::mul($a8, $b7, 24) + self::mul($a9, $b6, 24) + self::mul($a10, $b5, 24) + self::mul($a11, $b4, 24); 2095 $s16 = self::mul($a5, $b11, 24) + self::mul($a6, $b10, 24) + self::mul($a7, $b9, 24) + self::mul($a8, $b8, 24) + self::mul($a9, $b7, 24) + self::mul($a10, $b6, 24) + self::mul($a11, $b5, 24); 2096 $s17 = self::mul($a6, $b11, 24) + self::mul($a7, $b10, 24) + self::mul($a8, $b9, 24) + self::mul($a9, $b8, 24) + self::mul($a10, $b7, 24) + self::mul($a11, $b6, 24); 2097 $s18 = self::mul($a7, $b11, 24) + self::mul($a8, $b10, 24) + self::mul($a9, $b9, 24) + self::mul($a10, $b8, 24) + self::mul($a11, $b7, 24); 2085 $s4 = $c4 + self::mul($a0, $b4, 24) + self::mul($a1, $b3, 24) + self::mul($a2, $b2, 24) + self::mul($a3, $b1, 24) + 2086 self::mul($a4, $b0, 24); 2087 $s5 = $c5 + self::mul($a0, $b5, 24) + self::mul($a1, $b4, 24) + self::mul($a2, $b3, 24) + self::mul($a3, $b2, 24) + 2088 self::mul($a4, $b1, 24) + self::mul($a5, $b0, 24); 2089 $s6 = $c6 + self::mul($a0, $b6, 24) + self::mul($a1, $b5, 24) + self::mul($a2, $b4, 24) + self::mul($a3, $b3, 24) + 2090 self::mul($a4, $b2, 24) + self::mul($a5, $b1, 24) + self::mul($a6, $b0, 24); 2091 $s7 = $c7 + self::mul($a0, $b7, 24) + self::mul($a1, $b6, 24) + self::mul($a2, $b5, 24) + self::mul($a3, $b4, 24) + 2092 self::mul($a4, $b3, 24) + self::mul($a5, $b2, 24) + self::mul($a6, $b1, 24) + self::mul($a7, $b0, 24); 2093 $s8 = $c8 + self::mul($a0, $b8, 24) + self::mul($a1, $b7, 24) + self::mul($a2, $b6, 24) + self::mul($a3, $b5, 24) + 2094 self::mul($a4, $b4, 24) + self::mul($a5, $b3, 24) + self::mul($a6, $b2, 24) + self::mul($a7, $b1, 24) + 2095 self::mul($a8, $b0, 24); 2096 $s9 = $c9 + self::mul($a0, $b9, 24) + self::mul($a1, $b8, 24) + self::mul($a2, $b7, 24) + self::mul($a3, $b6, 24) + 2097 self::mul($a4, $b5, 24) + self::mul($a5, $b4, 24) + self::mul($a6, $b3, 24) + self::mul($a7, $b2, 24) + 2098 self::mul($a8, $b1, 24) + self::mul($a9, $b0, 24); 2099 $s10 = $c10 + self::mul($a0, $b10, 24) + self::mul($a1, $b9, 24) + self::mul($a2, $b8, 24) + self::mul($a3, $b7, 24) + 2100 self::mul($a4, $b6, 24) + self::mul($a5, $b5, 24) + self::mul($a6, $b4, 24) + self::mul($a7, $b3, 24) + 2101 self::mul($a8, $b2, 24) + self::mul($a9, $b1, 24) + self::mul($a10, $b0, 24); 2102 $s11 = $c11 + self::mul($a0, $b11, 24) + self::mul($a1, $b10, 24) + self::mul($a2, $b9, 24) + self::mul($a3, $b8, 24) + 2103 self::mul($a4, $b7, 24) + self::mul($a5, $b6, 24) + self::mul($a6, $b5, 24) + self::mul($a7, $b4, 24) + 2104 self::mul($a8, $b3, 24) + self::mul($a9, $b2, 24) + self::mul($a10, $b1, 24) + self::mul($a11, $b0, 24); 2105 $s12 = self::mul($a1, $b11, 24) + self::mul($a2, $b10, 24) + self::mul($a3, $b9, 24) + self::mul($a4, $b8, 24) + 2106 self::mul($a5, $b7, 24) + self::mul($a6, $b6, 24) + self::mul($a7, $b5, 24) + self::mul($a8, $b4, 24) + 2107 self::mul($a9, $b3, 24) + self::mul($a10, $b2, 24) + self::mul($a11, $b1, 24); 2108 $s13 = self::mul($a2, $b11, 24) + self::mul($a3, $b10, 24) + self::mul($a4, $b9, 24) + self::mul($a5, $b8, 24) + 2109 self::mul($a6, $b7, 24) + self::mul($a7, $b6, 24) + self::mul($a8, $b5, 24) + self::mul($a9, $b4, 24) + 2110 self::mul($a10, $b3, 24) + self::mul($a11, $b2, 24); 2111 $s14 = self::mul($a3, $b11, 24) + self::mul($a4, $b10, 24) + self::mul($a5, $b9, 24) + self::mul($a6, $b8, 24) + 2112 self::mul($a7, $b7, 24) + self::mul($a8, $b6, 24) + self::mul($a9, $b5, 24) + self::mul($a10, $b4, 24) + 2113 self::mul($a11, $b3, 24); 2114 $s15 = self::mul($a4, $b11, 24) + self::mul($a5, $b10, 24) + self::mul($a6, $b9, 24) + self::mul($a7, $b8, 24) + 2115 self::mul($a8, $b7, 24) + self::mul($a9, $b6, 24) + self::mul($a10, $b5, 24) + self::mul($a11, $b4, 24); 2116 $s16 = self::mul($a5, $b11, 24) + self::mul($a6, $b10, 24) + self::mul($a7, $b9, 24) + self::mul($a8, $b8, 24) + 2117 self::mul($a9, $b7, 24) + self::mul($a10, $b6, 24) + self::mul($a11, $b5, 24); 2118 $s17 = self::mul($a6, $b11, 24) + self::mul($a7, $b10, 24) + self::mul($a8, $b9, 24) + self::mul($a9, $b8, 24) + 2119 self::mul($a10, $b7, 24) + self::mul($a11, $b6, 24); 2120 $s18 = self::mul($a7, $b11, 24) + self::mul($a8, $b10, 24) + self::mul($a9, $b9, 24) + self::mul($a10, $b8, 24) + 2121 self::mul($a11, $b7, 24); 2098 2122 $s19 = self::mul($a8, $b11, 24) + self::mul($a9, $b10, 24) + self::mul($a10, $b9, 24) + self::mul($a11, $b8, 24); 2099 2123 $s20 = self::mul($a9, $b11, 24) + self::mul($a10, $b10, 24) + self::mul($a11, $b9, 24); -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/Curve25519/Fe.php
r1853488 r1946575 23 23 24 24 /** 25 * ParagonIE_Sodium_Core_Curve25519_Fe constructor.26 * @param int $size27 */28 public function __construct($size = 10)29 {30 $this->size = 10;31 }32 33 /**34 25 * @internal You should not use this directly from another application 35 26 * … … 48 39 $array = array_values($array); 49 40 50 $obj = new ParagonIE_Sodium_Core_Curve25519_Fe( $count);41 $obj = new ParagonIE_Sodium_Core_Curve25519_Fe(); 51 42 if ($save_indexes) { 52 43 for ($i = 0; $i < $count; ++$i) { -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/Ed25519.php
r1853488 r1946575 17 17 * 18 18 * @return string (96 bytes) 19 * @throws Exception 19 20 * @throws SodiumException 20 21 * @throws TypeError -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/Poly1305/State.php
r1853488 r1946575 185 185 /* h *= r */ 186 186 $d0 = ( 187 self::mul($h0, $r0, 31) +188 self::mul($ h1, $s4, 31) +189 self::mul($ h2, $s3, 31) +190 self::mul($ h3, $s2, 31) +191 self::mul($ h4, $s1, 31)187 self::mul($h0, $r0, 25) + 188 self::mul($s4, $h1, 26) + 189 self::mul($s3, $h2, 26) + 190 self::mul($s2, $h3, 26) + 191 self::mul($s1, $h4, 26) 192 192 ); 193 193 194 194 $d1 = ( 195 self::mul($h0, $r1, 31) +196 self::mul($h1, $r0, 31) +197 self::mul($ h2, $s4, 31) +198 self::mul($ h3, $s3, 31) +199 self::mul($ h4, $s2, 31)195 self::mul($h0, $r1, 25) + 196 self::mul($h1, $r0, 25) + 197 self::mul($s4, $h2, 26) + 198 self::mul($s3, $h3, 26) + 199 self::mul($s2, $h4, 26) 200 200 ); 201 201 202 202 $d2 = ( 203 self::mul($h0, $r2, 31) +204 self::mul($h1, $r1, 31) +205 self::mul($h2, $r0, 31) +206 self::mul($ h3, $s4, 31) +207 self::mul($ h4, $s3, 31)203 self::mul($h0, $r2, 25) + 204 self::mul($h1, $r1, 25) + 205 self::mul($h2, $r0, 25) + 206 self::mul($s4, $h3, 26) + 207 self::mul($s3, $h4, 26) 208 208 ); 209 209 210 210 $d3 = ( 211 self::mul($h0, $r3, 31) +212 self::mul($h1, $r2, 31) +213 self::mul($h2, $r1, 31) +214 self::mul($h3, $r0, 31) +215 self::mul($ h4, $s4, 31)211 self::mul($h0, $r3, 25) + 212 self::mul($h1, $r2, 25) + 213 self::mul($h2, $r1, 25) + 214 self::mul($h3, $r0, 25) + 215 self::mul($s4, $h4, 26) 216 216 ); 217 217 218 218 $d4 = ( 219 self::mul($h0, $r4, 31) +220 self::mul($h1, $r3, 31) +221 self::mul($h2, $r2, 31) +222 self::mul($h3, $r1, 31) +223 self::mul($h4, $r0, 31)219 self::mul($h0, $r4, 25) + 220 self::mul($h1, $r3, 25) + 221 self::mul($h2, $r2, 25) + 222 self::mul($h3, $r1, 25) + 223 self::mul($h4, $r0, 25) 224 224 ); 225 225 -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core/Util.php
r1853488 r1946575 550 550 * @var int 551 551 */ 552 $mask = -(($b >> $defaultSize) & 1);552 $mask = -(($b >> ((int) $defaultSize)) & 1); 553 553 554 554 /** … … 913 913 $mbstring = extension_loaded('mbstring') 914 914 && 915 ( ini_get('mbstring.func_overload') & MB_OVERLOAD_STRING);915 ((int) (ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING); 916 916 } 917 917 /** @var bool $mbstring */ -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/BLAKE2b.php
r1853488 r1946575 139 139 { 140 140 /** @var int $l */ 141 $l = $x[$i] | ($x[$i+1]<<8) | ($x[$i+2]<<16) | ($x[$i+3]<<24); 141 $l = (int) ($x[$i]) 142 | ((int) ($x[$i+1]) << 8) 143 | ((int) ($x[$i+2]) << 16) 144 | ((int) ($x[$i+3]) << 24); 142 145 /** @var int $h */ 143 $h = $x[$i+4] | ($x[$i+5]<<8) | ($x[$i+6]<<16) | ($x[$i+7]<<24); 146 $h = (int) ($x[$i+4]) 147 | ((int) ($x[$i+5]) << 8) 148 | ((int) ($x[$i+6]) << 16) 149 | ((int) ($x[$i+7]) << 24); 144 150 return self::new64($h, $l); 145 151 } … … 558 564 { 559 565 /** 560 * @var array< mixed,int>566 * @var array<int, string|int> 561 567 */ 562 568 $arr = $a->toArray(); … … 610 616 $str .= self::SplFixedArrayToString($ctx[3]); 611 617 618 /** @var int $ctx4 */ 619 $ctx4 = $ctx[4]; 620 612 621 # size_t buflen; 613 622 $str .= implode('', array( 614 self::intToChr($ctx [4]& 0xff),615 self::intToChr(($ctx [4]>> 8) & 0xff),616 self::intToChr(($ctx [4]>> 16) & 0xff),617 self::intToChr(($ctx [4]>> 24) & 0xff),618 self::intToChr(($ctx [4]>> 32) & 0xff),619 self::intToChr(($ctx [4]>> 40) & 0xff),620 self::intToChr(($ctx [4]>> 48) & 0xff),621 self::intToChr(($ctx [4]>> 56) & 0xff)623 self::intToChr($ctx4 & 0xff), 624 self::intToChr(($ctx4 >> 8) & 0xff), 625 self::intToChr(($ctx4 >> 16) & 0xff), 626 self::intToChr(($ctx4 >> 24) & 0xff), 627 self::intToChr(($ctx4 >> 32) & 0xff), 628 self::intToChr(($ctx4 >> 40) & 0xff), 629 self::intToChr(($ctx4 >> 48) & 0xff), 630 self::intToChr(($ctx4 >> 56) & 0xff) 622 631 )); 623 632 # uint8_t last_node; -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Curve25519.php
r1853488 r1946575 104 104 * @param int $b 105 105 * @return ParagonIE_Sodium_Core32_Curve25519_Fe 106 * @throws SodiumException 106 107 * @throws TypeError 107 108 * @psalm-suppress MixedAssignment … … 507 508 /** @var ParagonIE_Sodium_Core32_Int64 $f9_2 */ 508 509 $f9_2 = $f9->shiftLeft(1); 509 $f0g0 = $f0->mulInt64($g0, 3 1);510 $f0g1 = $f0->mulInt64($g1, 31);511 $f0g2 = $f0->mulInt64($g2, 3 1);512 $f0g3 = $f0->mulInt64($g3, 31);513 $f0g4 = $f0->mulInt64($g4, 3 1);514 $f0g5 = $f0->mulInt64($g5, 31);515 $f0g6 = $f0->mulInt64($g6, 3 1);516 $f0g7 = $f0->mulInt64($g7, 31);517 $f0g8 = $f0->mulInt64($g8, 3 1);518 $f0g9 = $f0->mulInt64($g9, 3 1);519 $f1g0 = $f1->mulInt64($g0, 3 1);520 $f1g1_2 = $f1_2->mulInt64($g1, 3 1);521 $f1g2 = $f1->mulInt64($g2, 3 1);522 $f1g3_2 = $f1_2->mulInt64($g3, 3 1);523 $f1g4 = $f1->mulInt64($g4, 3 1);524 $f1g5_2 = $f1_2->mulInt64($g5, 3 1);525 $f1g6 = $f1->mulInt64($g6, 3 1);526 $f1g7_2 = $f1_2->mulInt64($g7, 3 1);527 $f1g8 = $f1->mulInt64($g8, 3 1);528 $f1g9_38 = $g9_19->mulInt64($f1_2, 3 1);529 $f2g0 = $f2->mulInt64($g0, 3 1);530 $f2g1 = $f2->mulInt64($g1, 31);531 $f2g2 = $f2->mulInt64($g2, 3 1);532 $f2g3 = $f2->mulInt64($g3, 31);533 $f2g4 = $f2->mulInt64($g4, 3 1);534 $f2g5 = $f2->mulInt64($g5, 31);535 $f2g6 = $f2->mulInt64($g6, 3 1);536 $f2g7 = $f2->mulInt64($g7, 31);537 $f2g8_19 = $g8_19->mulInt64($f2, 3 1);538 $f2g9_19 = $g9_19->mulInt64($f2, 3 1);539 $f3g0 = $f3->mulInt64($g0, 3 1);540 $f3g1_2 = $f3_2->mulInt64($g1, 3 1);541 $f3g2 = $f3->mulInt64($g2, 3 1);542 $f3g3_2 = $f3_2->mulInt64($g3, 3 1);543 $f3g4 = $f3->mulInt64($g4, 3 1);544 $f3g5_2 = $f3_2->mulInt64($g5, 3 1);545 $f3g6 = $f3->mulInt64($g6, 3 1);546 $f3g7_38 = $g7_19->mulInt64($f3_2, 3 1);547 $f3g8_19 = $g8_19->mulInt64($f3, 3 1);548 $f3g9_38 = $g9_19->mulInt64($f3_2, 3 1);549 $f4g0 = $f4->mulInt64($g0, 3 1);550 $f4g1 = $f4->mulInt64($g1, 3 1);551 $f4g2 = $f4->mulInt64($g2, 3 1);552 $f4g3 = $f4->mulInt64($g3, 3 1);553 $f4g4 = $f4->mulInt64($g4, 3 1);554 $f4g5 = $f4->mulInt64($g5, 3 1);555 $f4g6_19 = $g6_19->mulInt64($f4, 3 1);556 $f4g7_19 = $g7_19->mulInt64($f4, 3 1);557 $f4g8_19 = $g8_19->mulInt64($f4, 3 1);558 $f4g9_19 = $g9_19->mulInt64($f4, 3 1);559 $f5g0 = $f5->mulInt64($g0, 3 1);560 $f5g1_2 = $f5_2->mulInt64($g1, 3 1);561 $f5g2 = $f5->mulInt64($g2, 3 1);562 $f5g3_2 = $f5_2->mulInt64($g3, 3 1);563 $f5g4 = $f5->mulInt64($g4, 3 1);564 $f5g5_38 = $g5_19->mulInt64($f5_2, 3 1);565 $f5g6_19 = $g6_19->mulInt64($f5, 3 1);566 $f5g7_38 = $g7_19->mulInt64($f5_2, 3 1);567 $f5g8_19 = $g8_19->mulInt64($f5, 3 1);568 $f5g9_38 = $g9_19->mulInt64($f5_2, 3 1);569 $f6g0 = $f6->mulInt64($g0, 3 1);570 $f6g1 = $f6->mulInt64($g1, 3 1);571 $f6g2 = $f6->mulInt64($g2, 3 1);572 $f6g3 = $f6->mulInt64($g3, 3 1);573 $f6g4_19 = $g4_19->mulInt64($f6, 3 1);574 $f6g5_19 = $g5_19->mulInt64($f6, 3 1);575 $f6g6_19 = $g6_19->mulInt64($f6, 3 1);576 $f6g7_19 = $g7_19->mulInt64($f6, 3 1);577 $f6g8_19 = $g8_19->mulInt64($f6, 3 1);578 $f6g9_19 = $g9_19->mulInt64($f6, 3 1);579 $f7g0 = $f7->mulInt64($g0, 3 1);580 $f7g1_2 = $g1->mulInt64($f7_2, 3 1);581 $f7g2 = $f7->mulInt64($g2, 3 1);582 $f7g3_38 = $g3_19->mulInt64($f7_2, 3 1);583 $f7g4_19 = $g4_19->mulInt64($f7, 3 1);584 $f7g5_38 = $g5_19->mulInt64($f7_2, 3 1);585 $f7g6_19 = $g6_19->mulInt64($f7, 3 1);586 $f7g7_38 = $g7_19->mulInt64($f7_2, 3 1);587 $f7g8_19 = $g8_19->mulInt64($f7, 3 1);588 $f7g9_38 = $g9_19->mulInt64($f7_2, 3 1);589 $f8g0 = $f8->mulInt64($g0, 3 1);590 $f8g1 = $f8->mulInt64($g1, 31);591 $f8g2_19 = $ f8->mulInt64($g2_19, 31);592 $f8g3_19 = $ f8->mulInt64($g3_19, 31);593 $f8g4_19 = $ f8->mulInt64($g4_19, 31);594 $f8g5_19 = $ f8->mulInt64($g5_19, 31);595 $f8g6_19 = $ f8->mulInt64($g6_19, 31);596 $f8g7_19 = $ f8->mulInt64($g7_19, 31);597 $f8g8_19 = $ f8->mulInt64($g8_19, 31);598 $f8g9_19 = $ f8->mulInt64($g9_19, 31);599 $f9g0 = $f9->mulInt64($g0, 3 1);600 $f9g1_38 = $ f9_2->mulInt64($g1_19, 31);601 $f9g2_19 = $ f9->mulInt64($g2_19, 31);602 $f9g3_38 = $ f9_2->mulInt64($g3_19, 31);603 $f9g4_19 = $ f9->mulInt64($g4_19, 31);604 $f9g5_38 = $ f9_2->mulInt64($g5_19, 31);605 $f9g6_19 = $ f9->mulInt64($g6_19, 31);606 $f9g7_38 = $ f9_2->mulInt64($g7_19, 31);607 $f9g8_19 = $ f9->mulInt64($g8_19, 31);608 $f9g9_38 = $ f9_2->mulInt64($g9_19, 31);510 $f0g0 = $f0->mulInt64($g0, 30); 511 $f0g1 = $f0->mulInt64($g1, 29); 512 $f0g2 = $f0->mulInt64($g2, 30); 513 $f0g3 = $f0->mulInt64($g3, 29); 514 $f0g4 = $f0->mulInt64($g4, 30); 515 $f0g5 = $f0->mulInt64($g5, 29); 516 $f0g6 = $f0->mulInt64($g6, 30); 517 $f0g7 = $f0->mulInt64($g7, 29); 518 $f0g8 = $f0->mulInt64($g8, 30); 519 $f0g9 = $f0->mulInt64($g9, 30); 520 $f1g0 = $f1->mulInt64($g0, 30); 521 $f1g1_2 = $f1_2->mulInt64($g1, 30); 522 $f1g2 = $f1->mulInt64($g2, 30); 523 $f1g3_2 = $f1_2->mulInt64($g3, 30); 524 $f1g4 = $f1->mulInt64($g4, 30); 525 $f1g5_2 = $f1_2->mulInt64($g5, 30); 526 $f1g6 = $f1->mulInt64($g6, 30); 527 $f1g7_2 = $f1_2->mulInt64($g7, 30); 528 $f1g8 = $f1->mulInt64($g8, 30); 529 $f1g9_38 = $g9_19->mulInt64($f1_2, 30); 530 $f2g0 = $f2->mulInt64($g0, 30); 531 $f2g1 = $f2->mulInt64($g1, 29); 532 $f2g2 = $f2->mulInt64($g2, 30); 533 $f2g3 = $f2->mulInt64($g3, 29); 534 $f2g4 = $f2->mulInt64($g4, 30); 535 $f2g5 = $f2->mulInt64($g5, 29); 536 $f2g6 = $f2->mulInt64($g6, 30); 537 $f2g7 = $f2->mulInt64($g7, 29); 538 $f2g8_19 = $g8_19->mulInt64($f2, 30); 539 $f2g9_19 = $g9_19->mulInt64($f2, 30); 540 $f3g0 = $f3->mulInt64($g0, 30); 541 $f3g1_2 = $f3_2->mulInt64($g1, 30); 542 $f3g2 = $f3->mulInt64($g2, 30); 543 $f3g3_2 = $f3_2->mulInt64($g3, 30); 544 $f3g4 = $f3->mulInt64($g4, 30); 545 $f3g5_2 = $f3_2->mulInt64($g5, 30); 546 $f3g6 = $f3->mulInt64($g6, 30); 547 $f3g7_38 = $g7_19->mulInt64($f3_2, 30); 548 $f3g8_19 = $g8_19->mulInt64($f3, 30); 549 $f3g9_38 = $g9_19->mulInt64($f3_2, 30); 550 $f4g0 = $f4->mulInt64($g0, 30); 551 $f4g1 = $f4->mulInt64($g1, 30); 552 $f4g2 = $f4->mulInt64($g2, 30); 553 $f4g3 = $f4->mulInt64($g3, 30); 554 $f4g4 = $f4->mulInt64($g4, 30); 555 $f4g5 = $f4->mulInt64($g5, 30); 556 $f4g6_19 = $g6_19->mulInt64($f4, 30); 557 $f4g7_19 = $g7_19->mulInt64($f4, 30); 558 $f4g8_19 = $g8_19->mulInt64($f4, 30); 559 $f4g9_19 = $g9_19->mulInt64($f4, 30); 560 $f5g0 = $f5->mulInt64($g0, 30); 561 $f5g1_2 = $f5_2->mulInt64($g1, 30); 562 $f5g2 = $f5->mulInt64($g2, 30); 563 $f5g3_2 = $f5_2->mulInt64($g3, 30); 564 $f5g4 = $f5->mulInt64($g4, 30); 565 $f5g5_38 = $g5_19->mulInt64($f5_2, 30); 566 $f5g6_19 = $g6_19->mulInt64($f5, 30); 567 $f5g7_38 = $g7_19->mulInt64($f5_2, 30); 568 $f5g8_19 = $g8_19->mulInt64($f5, 30); 569 $f5g9_38 = $g9_19->mulInt64($f5_2, 30); 570 $f6g0 = $f6->mulInt64($g0, 30); 571 $f6g1 = $f6->mulInt64($g1, 30); 572 $f6g2 = $f6->mulInt64($g2, 30); 573 $f6g3 = $f6->mulInt64($g3, 30); 574 $f6g4_19 = $g4_19->mulInt64($f6, 30); 575 $f6g5_19 = $g5_19->mulInt64($f6, 30); 576 $f6g6_19 = $g6_19->mulInt64($f6, 30); 577 $f6g7_19 = $g7_19->mulInt64($f6, 30); 578 $f6g8_19 = $g8_19->mulInt64($f6, 30); 579 $f6g9_19 = $g9_19->mulInt64($f6, 30); 580 $f7g0 = $f7->mulInt64($g0, 30); 581 $f7g1_2 = $g1->mulInt64($f7_2, 30); 582 $f7g2 = $f7->mulInt64($g2, 30); 583 $f7g3_38 = $g3_19->mulInt64($f7_2, 30); 584 $f7g4_19 = $g4_19->mulInt64($f7, 30); 585 $f7g5_38 = $g5_19->mulInt64($f7_2, 30); 586 $f7g6_19 = $g6_19->mulInt64($f7, 30); 587 $f7g7_38 = $g7_19->mulInt64($f7_2, 30); 588 $f7g8_19 = $g8_19->mulInt64($f7, 30); 589 $f7g9_38 = $g9_19->mulInt64($f7_2, 30); 590 $f8g0 = $f8->mulInt64($g0, 30); 591 $f8g1 = $f8->mulInt64($g1, 29); 592 $f8g2_19 = $g2_19->mulInt64($f8, 30); 593 $f8g3_19 = $g3_19->mulInt64($f8, 30); 594 $f8g4_19 = $g4_19->mulInt64($f8, 30); 595 $f8g5_19 = $g5_19->mulInt64($f8, 30); 596 $f8g6_19 = $g6_19->mulInt64($f8, 30); 597 $f8g7_19 = $g7_19->mulInt64($f8, 30); 598 $f8g8_19 = $g8_19->mulInt64($f8, 30); 599 $f8g9_19 = $g9_19->mulInt64($f8, 30); 600 $f9g0 = $f9->mulInt64($g0, 30); 601 $f9g1_38 = $g1_19->mulInt64($f9_2, 30); 602 $f9g2_19 = $g2_19->mulInt64($f9, 30); 603 $f9g3_38 = $g3_19->mulInt64($f9_2, 30); 604 $f9g4_19 = $g4_19->mulInt64($f9, 30); 605 $f9g5_38 = $g5_19->mulInt64($f9_2, 30); 606 $f9g6_19 = $g6_19->mulInt64($f9, 30); 607 $f9g7_38 = $g7_19->mulInt64($f9_2, 30); 608 $f9g8_19 = $g8_19->mulInt64($f9, 30); 609 $f9g9_38 = $g9_19->mulInt64($f9_2, 30); 609 610 610 611 // $h0 = $f0g0 + $f1g9_38 + $f2g8_19 + $f3g7_38 + $f4g6_19 + $f5g5_38 + $f6g4_19 + $f7g3_38 + $f8g2_19 + $f9g1_38; … … 716 717 717 718 $carry9 = $h9->addInt(1 << 24)->shiftRight(25); 718 $h0 = $h0->addInt64($carry9->mulInt(19 ));719 $h0 = $h0->addInt64($carry9->mulInt(19, 5)); 719 720 $h9 = $h9->subInt64($carry9->shiftLeft(25)); 720 721 … … 811 812 $f9_38 = $f9->mulInt(38, 6); 812 813 /** @var ParagonIE_Sodium_Core32_Int64 $f0f0*/ 813 $f0f0 = $f0->mulInt64($f0, 31);814 $f0f1_2 = $f0_2->mulInt64($f1, 31);815 $f0f2_2 = $f0_2->mulInt64($f2, 31);816 $f0f3_2 = $f0_2->mulInt64($f3, 31);817 $f0f4_2 = $f0_2->mulInt64($f4, 31);818 $f0f5_2 = $f0_2->mulInt64($f5, 31);819 $f0f6_2 = $f0_2->mulInt64($f6, 31);820 $f0f7_2 = $f0_2->mulInt64($f7, 31);821 $f0f8_2 = $f0_2->mulInt64($f8, 31);822 $f0f9_2 = $f0_2->mulInt64($f9, 31);823 824 $f1f1_2 = $f1_2->mulInt64($f1, 31);825 $f1f2_2 = $f1_2->mulInt64($f2, 31);826 $f1f3_4 = $f1_2->mulInt64($f3_2, 31);827 $f1f4_2 = $f1_2->mulInt64($f4, 31);828 $f1f5_4 = $f1_2->mulInt64($f5_2, 3 1);829 $f1f6_2 = $f1_2->mulInt64($f6, 31);830 $f1f7_4 = $f1_2->mulInt64($f7_2, 31);831 $f1f8_2 = $f1_2->mulInt64($f8, 31);832 $f1f9_76 = $f 1_2->mulInt64($f9_38, 31);833 834 $f2f2 = $f2->mulInt64($f2, 31);835 $f2f3_2 = $f2_2->mulInt64($f3, 31);836 $f2f4_2 = $f2_2->mulInt64($f4, 31);837 $f2f5_2 = $f2_2->mulInt64($f5, 31);838 $f2f6_2 = $f2_2->mulInt64($f6, 31);839 $f2f7_2 = $f2_2->mulInt64($f7, 31);840 $f2f8_38 = $f8_19->mulInt64($f2_2, 3 1);841 $f2f9_38 = $f9_38->mulInt64($f2, 3 1);842 843 $f3f3_2 = $f3_2->mulInt64($f3, 31);844 $f3f4_2 = $f3_2->mulInt64($f4, 31);845 $f3f5_4 = $f3_2->mulInt64($f5_2, 3 1);846 $f3f6_2 = $f3_2->mulInt64($f6, 31);847 $f3f7_76 = $f7_38->mulInt64($f3_2, 3 1);848 $f3f8_38 = $f8_19->mulInt64($f3_2, 3 1);849 $f3f9_76 = $f9_38->mulInt64($f3_2, 3 1);850 851 $f4f4 = $f4->mulInt64($f4, 31);852 $f4f5_2 = $f4_2->mulInt64($f5, 31);853 $f4f6_38 = $f 4_2->mulInt64($f6_19, 31);854 $f4f7_38 = $f7_38->mulInt64($f4, 3 1);855 $f4f8_38 = $f8_19->mulInt64($f4_2, 3 1);856 $f4f9_38 = $f9_38->mulInt64($f4, 3 1);857 858 $f5f5_38 = $f5_38->mulInt64($f5, 3 1);859 $f5f6_38 = $f6_19->mulInt64($f5_2, 3 1);860 $f5f7_76 = $f7_38->mulInt64($f5_2, 3 1);861 $f5f8_38 = $f8_19->mulInt64($f5_2, 3 1);862 $f5f9_76 = $f9_38->mulInt64($f5_2, 3 1);863 864 $f6f6_19 = $f6_19->mulInt64($f6, 3 1);865 $f6f7_38 = $f7_38->mulInt64($f6, 3 1);866 $f6f8_38 = $f8_19->mulInt64($f6_2, 3 1);867 $f6f9_38 = $f 6->mulInt64($f9_38, 31);868 869 $f7f7_38 = $f7 ->mulInt64($f7_38, 31);870 $f7f8_38 = $f 7_2->mulInt64($f8_19, 31);871 $f7f9_76 = $f 7_2->mulInt64($f9_38, 31);872 873 $f8f8_19 = $f8 ->mulInt64($f8_19, 31);874 $f8f9_38 = $f 8->mulInt64($f9_38, 31);875 876 $f9f9_38 = $f9 ->mulInt64($f9_38, 31);814 $f0f0 = $f0->mulInt64($f0, 29); 815 $f0f1_2 = $f0_2->mulInt64($f1, 29); 816 $f0f2_2 = $f0_2->mulInt64($f2, 29); 817 $f0f3_2 = $f0_2->mulInt64($f3, 29); 818 $f0f4_2 = $f0_2->mulInt64($f4, 29); 819 $f0f5_2 = $f0_2->mulInt64($f5, 29); 820 $f0f6_2 = $f0_2->mulInt64($f6, 29); 821 $f0f7_2 = $f0_2->mulInt64($f7, 29); 822 $f0f8_2 = $f0_2->mulInt64($f8, 29); 823 $f0f9_2 = $f0_2->mulInt64($f9, 29); 824 825 $f1f1_2 = $f1_2->mulInt64($f1, 29); 826 $f1f2_2 = $f1_2->mulInt64($f2, 29); 827 $f1f3_4 = $f1_2->mulInt64($f3_2, 29); 828 $f1f4_2 = $f1_2->mulInt64($f4, 29); 829 $f1f5_4 = $f1_2->mulInt64($f5_2, 30); 830 $f1f6_2 = $f1_2->mulInt64($f6, 29); 831 $f1f7_4 = $f1_2->mulInt64($f7_2, 29); 832 $f1f8_2 = $f1_2->mulInt64($f8, 29); 833 $f1f9_76 = $f9_38->mulInt64($f1_2, 30); 834 835 $f2f2 = $f2->mulInt64($f2, 29); 836 $f2f3_2 = $f2_2->mulInt64($f3, 29); 837 $f2f4_2 = $f2_2->mulInt64($f4, 29); 838 $f2f5_2 = $f2_2->mulInt64($f5, 29); 839 $f2f6_2 = $f2_2->mulInt64($f6, 29); 840 $f2f7_2 = $f2_2->mulInt64($f7, 29); 841 $f2f8_38 = $f8_19->mulInt64($f2_2, 30); 842 $f2f9_38 = $f9_38->mulInt64($f2, 30); 843 844 $f3f3_2 = $f3_2->mulInt64($f3, 29); 845 $f3f4_2 = $f3_2->mulInt64($f4, 29); 846 $f3f5_4 = $f3_2->mulInt64($f5_2, 30); 847 $f3f6_2 = $f3_2->mulInt64($f6, 29); 848 $f3f7_76 = $f7_38->mulInt64($f3_2, 30); 849 $f3f8_38 = $f8_19->mulInt64($f3_2, 30); 850 $f3f9_76 = $f9_38->mulInt64($f3_2, 30); 851 852 $f4f4 = $f4->mulInt64($f4, 29); 853 $f4f5_2 = $f4_2->mulInt64($f5, 29); 854 $f4f6_38 = $f6_19->mulInt64($f4_2, 30); 855 $f4f7_38 = $f7_38->mulInt64($f4, 30); 856 $f4f8_38 = $f8_19->mulInt64($f4_2, 30); 857 $f4f9_38 = $f9_38->mulInt64($f4, 30); 858 859 $f5f5_38 = $f5_38->mulInt64($f5, 30); 860 $f5f6_38 = $f6_19->mulInt64($f5_2, 30); 861 $f5f7_76 = $f7_38->mulInt64($f5_2, 30); 862 $f5f8_38 = $f8_19->mulInt64($f5_2, 30); 863 $f5f9_76 = $f9_38->mulInt64($f5_2, 30); 864 865 $f6f6_19 = $f6_19->mulInt64($f6, 30); 866 $f6f7_38 = $f7_38->mulInt64($f6, 30); 867 $f6f8_38 = $f8_19->mulInt64($f6_2, 30); 868 $f6f9_38 = $f9_38->mulInt64($f6, 30); 869 870 $f7f7_38 = $f7_38->mulInt64($f7, 29); 871 $f7f8_38 = $f8_19->mulInt64($f7_2, 30); 872 $f7f9_76 = $f9_38->mulInt64($f7_2, 30); 873 874 $f8f8_19 = $f8_19->mulInt64($f8, 30); 875 $f8f9_38 = $f9_38->mulInt64($f8, 30); 876 877 $f9f9_38 = $f9_38->mulInt64($f9, 29); 877 878 878 879 $h0 = $f0f0->addInt64($f1f9_76)->addInt64($f2f8_38)->addInt64($f3f7_76)->addInt64($f4f6_38)->addInt64($f5f5_38); … … 941 942 942 943 $carry9 = $h9->addInt(1 << 24)->shiftRight(25); 943 $h0 = $h0->addInt64($carry9->mulInt(19 ));944 $h0 = $h0->addInt64($carry9->mulInt(19, 5)); 944 945 $h9 = $h9->subInt64($carry9->shiftLeft(25)); 945 946 … … 1013 1014 $f8_19 = $f8->mulInt(19, 5); /* 1.959375*2^30 */ 1014 1015 $f9_38 = $f9->mulInt(38, 6); /* 1.959375*2^30 */ 1015 $f0f0 = $f0->mulInt64($f0, 31);1016 $f0f1_2 = $f0_2->mulInt64($f1, 31);1017 $f0f2_2 = $f0_2->mulInt64($f2, 31);1018 $f0f3_2 = $f0_2->mulInt64($f3, 31);1019 $f0f4_2 = $f0_2->mulInt64($f4, 31);1020 $f0f5_2 = $f0_2->mulInt64($f5, 31);1021 $f0f6_2 = $f0_2->mulInt64($f6, 31);1022 $f0f7_2 = $f0_2->mulInt64($f7, 31);1023 $f0f8_2 = $f0_2->mulInt64($f8, 31);1024 $f0f9_2 = $f0_2->mulInt64($f9, 31);1025 $f1f1_2 = $f1_2->mulInt64($f1, 31);1026 $f1f2_2 = $f1_2->mulInt64($f2, 31);1027 $f1f3_4 = $f1_2->mulInt64($f3_2, 31);1028 $f1f4_2 = $f1_2->mulInt64($f4, 31);1029 $f1f5_4 = $f1_2->mulInt64($f5_2, 31);1030 $f1f6_2 = $f1_2->mulInt64($f6, 31);1031 $f1f7_4 = $f1_2->mulInt64($f7_2, 31);1032 $f1f8_2 = $f1_2->mulInt64($f8, 31);1033 $f1f9_76 = $f 1_2->mulInt64($f9_38, 31);1034 $f2f2 = $f2->mulInt64($f2, 31);1035 $f2f3_2 = $f2_2->mulInt64($f3, 31);1036 $f2f4_2 = $f2_2->mulInt64($f4, 31);1037 $f2f5_2 = $f2_2->mulInt64($f5, 31);1038 $f2f6_2 = $f2_2->mulInt64($f6, 31);1039 $f2f7_2 = $f2_2->mulInt64($f7, 31);1040 $f2f8_38 = $f 2_2->mulInt64($f8_19, 31);1041 $f2f9_38 = $f 2->mulInt64($f9_38, 31);1042 $f3f3_2 = $f3_2->mulInt64($f3, 31);1043 $f3f4_2 = $f3_2->mulInt64($f4, 31);1044 $f3f5_4 = $f3_2->mulInt64($f5_2, 31);1045 $f3f6_2 = $f3_2->mulInt64($f6, 31);1046 $f3f7_76 = $f 3_2->mulInt64($f7_38, 31);1047 $f3f8_38 = $f 3_2->mulInt64($f8_19, 31);1048 $f3f9_76 = $f 3_2->mulInt64($f9_38, 31);1049 $f4f4 = $f4->mulInt64($f4, 31);1050 $f4f5_2 = $f4_2->mulInt64($f5, 31);1051 $f4f6_38 = $f 4_2->mulInt64($f6_19, 31);1052 $f4f7_38 = $f 4->mulInt64($f7_38, 31);1053 $f4f8_38 = $f 4_2->mulInt64($f8_19, 31);1054 $f4f9_38 = $f 4->mulInt64($f9_38, 31);1055 $f5f5_38 = $f5 ->mulInt64($f5_38, 31);1056 $f5f6_38 = $f 5_2->mulInt64($f6_19, 31);1057 $f5f7_76 = $f 5_2->mulInt64($f7_38, 31);1058 $f5f8_38 = $f 5_2->mulInt64($f8_19, 31);1059 $f5f9_76 = $f 5_2->mulInt64($f9_38, 31);1060 $f6f6_19 = $f6 ->mulInt64($f6_19, 31);1061 $f6f7_38 = $f 6->mulInt64($f7_38, 31);1062 $f6f8_38 = $f 6_2->mulInt64($f8_19, 31);1063 $f6f9_38 = $f 6->mulInt64($f9_38, 31);1064 $f7f7_38 = $f7 ->mulInt64($f7_38, 31);1065 $f7f8_38 = $f 7_2->mulInt64($f8_19, 31);1066 $f7f9_76 = $f 7_2->mulInt64($f9_38, 31);1067 $f8f8_19 = $f8 ->mulInt64($f8_19, 31);1068 $f8f9_38 = $f 8->mulInt64($f9_38, 31);1069 $f9f9_38 = $f9 ->mulInt64($f9_38, 31);1016 $f0f0 = $f0->mulInt64($f0, 28); 1017 $f0f1_2 = $f0_2->mulInt64($f1, 28); 1018 $f0f2_2 = $f0_2->mulInt64($f2, 28); 1019 $f0f3_2 = $f0_2->mulInt64($f3, 28); 1020 $f0f4_2 = $f0_2->mulInt64($f4, 28); 1021 $f0f5_2 = $f0_2->mulInt64($f5, 28); 1022 $f0f6_2 = $f0_2->mulInt64($f6, 28); 1023 $f0f7_2 = $f0_2->mulInt64($f7, 28); 1024 $f0f8_2 = $f0_2->mulInt64($f8, 28); 1025 $f0f9_2 = $f0_2->mulInt64($f9, 28); 1026 $f1f1_2 = $f1_2->mulInt64($f1, 28); 1027 $f1f2_2 = $f1_2->mulInt64($f2, 28); 1028 $f1f3_4 = $f1_2->mulInt64($f3_2, 29); 1029 $f1f4_2 = $f1_2->mulInt64($f4, 28); 1030 $f1f5_4 = $f1_2->mulInt64($f5_2, 29); 1031 $f1f6_2 = $f1_2->mulInt64($f6, 28); 1032 $f1f7_4 = $f1_2->mulInt64($f7_2, 29); 1033 $f1f8_2 = $f1_2->mulInt64($f8, 28); 1034 $f1f9_76 = $f9_38->mulInt64($f1_2, 30); 1035 $f2f2 = $f2->mulInt64($f2, 28); 1036 $f2f3_2 = $f2_2->mulInt64($f3, 28); 1037 $f2f4_2 = $f2_2->mulInt64($f4, 28); 1038 $f2f5_2 = $f2_2->mulInt64($f5, 28); 1039 $f2f6_2 = $f2_2->mulInt64($f6, 28); 1040 $f2f7_2 = $f2_2->mulInt64($f7, 28); 1041 $f2f8_38 = $f8_19->mulInt64($f2_2, 30); 1042 $f2f9_38 = $f9_38->mulInt64($f2, 30); 1043 $f3f3_2 = $f3_2->mulInt64($f3, 28); 1044 $f3f4_2 = $f3_2->mulInt64($f4, 28); 1045 $f3f5_4 = $f3_2->mulInt64($f5_2, 28); 1046 $f3f6_2 = $f3_2->mulInt64($f6, 28); 1047 $f3f7_76 = $f7_38->mulInt64($f3_2, 30); 1048 $f3f8_38 = $f8_19->mulInt64($f3_2, 30); 1049 $f3f9_76 = $f9_38->mulInt64($f3_2, 30); 1050 $f4f4 = $f4->mulInt64($f4, 28); 1051 $f4f5_2 = $f4_2->mulInt64($f5, 28); 1052 $f4f6_38 = $f6_19->mulInt64($f4_2, 30); 1053 $f4f7_38 = $f7_38->mulInt64($f4, 30); 1054 $f4f8_38 = $f8_19->mulInt64($f4_2, 30); 1055 $f4f9_38 = $f9_38->mulInt64($f4, 30); 1056 $f5f5_38 = $f5_38->mulInt64($f5, 30); 1057 $f5f6_38 = $f6_19->mulInt64($f5_2, 30); 1058 $f5f7_76 = $f7_38->mulInt64($f5_2, 30); 1059 $f5f8_38 = $f8_19->mulInt64($f5_2, 30); 1060 $f5f9_76 = $f9_38->mulInt64($f5_2, 30); 1061 $f6f6_19 = $f6_19->mulInt64($f6, 30); 1062 $f6f7_38 = $f7_38->mulInt64($f6, 30); 1063 $f6f8_38 = $f8_19->mulInt64($f6_2, 30); 1064 $f6f9_38 = $f9_38->mulInt64($f6, 30); 1065 $f7f7_38 = $f7_38->mulInt64($f7, 30); 1066 $f7f8_38 = $f8_19->mulInt64($f7_2, 30); 1067 $f7f9_76 = $f9_38->mulInt64($f7_2, 30); 1068 $f8f8_19 = $f8_19->mulInt64($f8, 30); 1069 $f8f9_38 = $f9_38->mulInt64($f8, 30); 1070 $f9f9_38 = $f9_38->mulInt64($f9, 30); 1070 1071 1071 1072 $h0 = $f0f0->addInt64($f1f9_76)->addInt64($f2f8_38)->addInt64($f3f7_76)->addInt64($f4f6_38)->addInt64($f5f5_38); … … 1079 1080 $h8 = $f0f8_2->addInt64($f1f7_4)->addInt64($f2f6_2)->addInt64($f3f5_4)->addInt64($f4f4)->addInt64($f9f9_38); 1080 1081 $h9 = $f0f9_2->addInt64($f1f8_2)->addInt64($f2f7_2)->addInt64($f3f6_2)->addInt64($f4f5_2); 1081 1082 /*1083 $h6 = (int) ($f0f6_2 + $f1f5_4 + $f2f4_2 + $f3f3_2 + $f7f9_76 + $f8f8_19);1084 $h7 = (int) ($f0f7_2 + $f1f6_2 + $f2f5_2 + $f3f4_2 + $f8f9_38);1085 $h8 = (int) ($f0f8_2 + $f1f7_4 + $f2f6_2 + $f3f5_4 + $f4f4 + $f9f9_38);1086 */1087 1082 1088 1083 /** … … 1145 1140 1146 1141 $carry9 = $h9->addInt(1 << 24)->shiftRight(25); 1147 $h0 = $h0->addInt64($carry9->mulInt(19 ));1142 $h0 = $h0->addInt64($carry9->mulInt(19, 5)); 1148 1143 $h9 = $h9->subInt64($carry9->shiftLeft(25)); 1149 1144 … … 2117 2112 # slide(aslide,a); 2118 2113 # slide(bslide,b); 2114 /** @var array<int, int> $aslide */ 2119 2115 $aslide = self::slide($a); 2116 /** @var array<int, int> $bslide */ 2120 2117 $bslide = self::slide($b); 2121 2118 … … 2286 2283 public static function sc_muladd($a, $b, $c) 2287 2284 { 2288 $a0 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($a, 0, 3)))->toInt64();2289 $a1 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($a, 2, 4)) >> 5))->toInt64();2290 $a2 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($a, 5, 3)) >> 2))->toInt64();2291 $a3 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($a, 7, 4)) >> 7))->toInt64();2292 $a4 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($a, 10, 4)) >> 4))->toInt64();2293 $a5 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($a, 13, 3)) >> 1))->toInt64();2294 $a6 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($a, 15, 4)) >> 6))->toInt64();2295 $a7 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($a, 18, 3)) >> 3))->toInt64();2296 $a8 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($a, 21, 3)))->toInt64();2297 $a9 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($a, 23, 4)) >> 5))->toInt64();2298 $a10 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($a, 26, 3)) >> 2))->toInt64();2299 $a11 = ParagonIE_Sodium_Core32_Int 32::fromInt(0x1fffffff & (self::load_4(self::substr($a, 28, 4)) >> 7))->toInt64();2300 $b0 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($b, 0, 3)))->toInt64();2301 $b1 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($b, 2, 4)) >> 5))->toInt64();2302 $b2 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($b, 5, 3)) >> 2))->toInt64();2303 $b3 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($b, 7, 4)) >> 7))->toInt64();2304 $b4 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($b, 10, 4)) >> 4))->toInt64();2305 $b5 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($b, 13, 3)) >> 1))->toInt64();2306 $b6 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($b, 15, 4)) >> 6))->toInt64();2307 $b7 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($b, 18, 3)) >> 3))->toInt64();2308 $b8 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($b, 21, 3)))->toInt64();2309 $b9 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($b, 23, 4)) >> 5))->toInt64();2310 $b10 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($b, 26, 3)) >> 2))->toInt64();2311 $b11 = ParagonIE_Sodium_Core32_Int 32::fromInt(0x1fffffff & (self::load_4(self::substr($b, 28, 4)) >> 7))->toInt64();2312 $c0 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($c, 0, 3)))->toInt64();2313 $c1 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($c, 2, 4)) >> 5))->toInt64();2314 $c2 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($c, 5, 3)) >> 2))->toInt64();2315 $c3 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($c, 7, 4)) >> 7))->toInt64();2316 $c4 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($c, 10, 4)) >> 4))->toInt64();2317 $c5 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($c, 13, 3)) >> 1))->toInt64();2318 $c6 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($c, 15, 4)) >> 6))->toInt64();2319 $c7 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($c, 18, 3)) >> 3))->toInt64();2320 $c8 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($c, 21, 3)))->toInt64();2321 $c9 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($c, 23, 4)) >> 5))->toInt64();2322 $c10 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($c, 26, 3)) >> 2))->toInt64();2323 $c11 = ParagonIE_Sodium_Core32_Int 32::fromInt(0x1fffffff & (self::load_4(self::substr($c, 28, 4)) >> 7))->toInt64();2285 $a0 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($a, 0, 3))); 2286 $a1 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($a, 2, 4)) >> 5)); 2287 $a2 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($a, 5, 3)) >> 2)); 2288 $a3 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($a, 7, 4)) >> 7)); 2289 $a4 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($a, 10, 4)) >> 4)); 2290 $a5 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($a, 13, 3)) >> 1)); 2291 $a6 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($a, 15, 4)) >> 6)); 2292 $a7 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($a, 18, 3)) >> 3)); 2293 $a8 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($a, 21, 3))); 2294 $a9 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($a, 23, 4)) >> 5)); 2295 $a10 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($a, 26, 3)) >> 2)); 2296 $a11 = ParagonIE_Sodium_Core32_Int64::fromInt(0x1fffffff & (self::load_4(self::substr($a, 28, 4)) >> 7)); 2297 $b0 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($b, 0, 3))); 2298 $b1 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($b, 2, 4)) >> 5)); 2299 $b2 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($b, 5, 3)) >> 2)); 2300 $b3 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($b, 7, 4)) >> 7)); 2301 $b4 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($b, 10, 4)) >> 4)); 2302 $b5 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($b, 13, 3)) >> 1)); 2303 $b6 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($b, 15, 4)) >> 6)); 2304 $b7 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($b, 18, 3)) >> 3)); 2305 $b8 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($b, 21, 3))); 2306 $b9 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($b, 23, 4)) >> 5)); 2307 $b10 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($b, 26, 3)) >> 2)); 2308 $b11 = ParagonIE_Sodium_Core32_Int64::fromInt(0x1fffffff & (self::load_4(self::substr($b, 28, 4)) >> 7)); 2309 $c0 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($c, 0, 3))); 2310 $c1 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($c, 2, 4)) >> 5)); 2311 $c2 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($c, 5, 3)) >> 2)); 2312 $c3 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($c, 7, 4)) >> 7)); 2313 $c4 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($c, 10, 4)) >> 4)); 2314 $c5 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($c, 13, 3)) >> 1)); 2315 $c6 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($c, 15, 4)) >> 6)); 2316 $c7 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($c, 18, 3)) >> 3)); 2317 $c8 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($c, 21, 3))); 2318 $c9 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($c, 23, 4)) >> 5)); 2319 $c10 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($c, 26, 3)) >> 2)); 2320 $c11 = ParagonIE_Sodium_Core32_Int64::fromInt(0x1fffffff & (self::load_4(self::substr($c, 28, 4)) >> 7)); 2324 2321 2325 2322 /* Can't really avoid the pyramid here: */ … … 2354 2351 $s1 = $c1->addInt64($a0->mulInt64($b1, 24))->addInt64($a1->mulInt64($b0, 24)); 2355 2352 $s2 = $c2->addInt64($a0->mulInt64($b2, 24))->addInt64($a1->mulInt64($b1, 24))->addInt64($a2->mulInt64($b0, 24)); 2356 $s3 = $c3->addInt64($a0->mulInt64($b3, 24))->addInt64($a1->mulInt64($b2, 24))->addInt64($a2->mulInt64($b1, 24))->addInt64($a3->mulInt64($b0, 24)); 2357 $s4 = $c4->addInt64($a0->mulInt64($b4, 24))->addInt64($a1->mulInt64($b3, 24))->addInt64($a2->mulInt64($b2, 24))->addInt64($a3->mulInt64($b1, 24))->addInt64($a4->mulInt64($b0, 24)); 2358 $s5 = $c5->addInt64($a0->mulInt64($b5, 24))->addInt64($a1->mulInt64($b4, 24))->addInt64($a2->mulInt64($b3, 24))->addInt64($a3->mulInt64($b2, 24))->addInt64($a4->mulInt64($b1, 24))->addInt64($a5->mulInt64($b0, 24)); 2359 $s6 = $c6->addInt64($a0->mulInt64($b6, 24))->addInt64($a1->mulInt64($b5, 24))->addInt64($a2->mulInt64($b4, 24))->addInt64($a3->mulInt64($b3, 24))->addInt64($a4->mulInt64($b2, 24))->addInt64($a5->mulInt64($b1, 24)) 2353 $s3 = $c3->addInt64($a0->mulInt64($b3, 24))->addInt64($a1->mulInt64($b2, 24))->addInt64($a2->mulInt64($b1, 24)) 2354 ->addInt64($a3->mulInt64($b0, 24)); 2355 $s4 = $c4->addInt64($a0->mulInt64($b4, 24))->addInt64($a1->mulInt64($b3, 24))->addInt64($a2->mulInt64($b2, 24)) 2356 ->addInt64($a3->mulInt64($b1, 24))->addInt64($a4->mulInt64($b0, 24)); 2357 $s5 = $c5->addInt64($a0->mulInt64($b5, 24))->addInt64($a1->mulInt64($b4, 24))->addInt64($a2->mulInt64($b3, 24)) 2358 ->addInt64($a3->mulInt64($b2, 24))->addInt64($a4->mulInt64($b1, 24))->addInt64($a5->mulInt64($b0, 24)); 2359 $s6 = $c6->addInt64($a0->mulInt64($b6, 24))->addInt64($a1->mulInt64($b5, 24))->addInt64($a2->mulInt64($b4, 24)) 2360 ->addInt64($a3->mulInt64($b3, 24))->addInt64($a4->mulInt64($b2, 24))->addInt64($a5->mulInt64($b1, 24)) 2360 2361 ->addInt64($a6->mulInt64($b0, 24)); 2361 $s7 = $c7->addInt64($a0->mulInt64($b7, 24))->addInt64($a1->mulInt64($b6, 24))->addInt64($a2->mulInt64($b5, 24))->addInt64($a3->mulInt64($b4, 24))->addInt64($a4->mulInt64($b3, 24))->addInt64($a5->mulInt64($b2, 24)) 2362 $s7 = $c7->addInt64($a0->mulInt64($b7, 24))->addInt64($a1->mulInt64($b6, 24))->addInt64($a2->mulInt64($b5, 24)) 2363 ->addInt64($a3->mulInt64($b4, 24))->addInt64($a4->mulInt64($b3, 24))->addInt64($a5->mulInt64($b2, 24)) 2362 2364 ->addInt64($a6->mulInt64($b1, 24))->addInt64($a7->mulInt64($b0, 24)); 2363 $s8 = $c8->addInt64($a0->mulInt64($b8, 24))->addInt64($a1->mulInt64($b7, 24))->addInt64($a2->mulInt64($b6, 24))->addInt64($a3->mulInt64($b5, 24))->addInt64($a4->mulInt64($b4, 24))->addInt64($a5->mulInt64($b3, 24)) 2365 $s8 = $c8->addInt64($a0->mulInt64($b8, 24))->addInt64($a1->mulInt64($b7, 24))->addInt64($a2->mulInt64($b6, 24)) 2366 ->addInt64($a3->mulInt64($b5, 24))->addInt64($a4->mulInt64($b4, 24))->addInt64($a5->mulInt64($b3, 24)) 2364 2367 ->addInt64($a6->mulInt64($b2, 24))->addInt64($a7->mulInt64($b1, 24))->addInt64($a8->mulInt64($b0, 24)); 2365 $s9 = $c9->addInt64($a0->mulInt64($b9, 24))->addInt64($a1->mulInt64($b8, 24))->addInt64($a2->mulInt64($b7, 24))->addInt64($a3->mulInt64($b6, 24))->addInt64($a4->mulInt64($b5, 24))->addInt64($a5->mulInt64($b4, 24)) 2366 ->addInt64($a6->mulInt64($b3, 24))->addInt64($a7->mulInt64($b2, 24))->addInt64($a8->mulInt64($b1, 24))->addInt64($a9->mulInt64($b0, 24)); 2367 $s10 = $c10->addInt64($a0->mulInt64($b10, 24))->addInt64($a1->mulInt64($b9, 24))->addInt64($a2->mulInt64($b8, 24))->addInt64($a3->mulInt64($b7, 24))->addInt64($a4->mulInt64($b6, 24))->addInt64($a5->mulInt64($b5, 24)) 2368 ->addInt64($a6->mulInt64($b4, 24))->addInt64($a7->mulInt64($b3, 24))->addInt64($a8->mulInt64($b2, 24))->addInt64($a9->mulInt64($b1, 24))->addInt64($a10->mulInt64($b0, 24)); 2369 $s11 = $c11->addInt64($a0->mulInt64($b11, 24))->addInt64($a1->mulInt64($b10, 24))->addInt64($a2->mulInt64($b9, 24))->addInt64($a3->mulInt64($b8, 24))->addInt64($a4->mulInt64($b7, 24))->addInt64($a5->mulInt64($b6, 24)) 2370 ->addInt64($a6->mulInt64($b5, 24))->addInt64($a7->mulInt64($b4, 24))->addInt64($a8->mulInt64($b3, 24))->addInt64($a9->mulInt64($b2, 24))->addInt64($a10->mulInt64($b1, 24))->addInt64($a11->mulInt64($b0, 24)); 2371 $s12 = $a1->mulInt64($b11, 24)->addInt64($a2->mulInt64($b10, 24))->addInt64($a3->mulInt64($b9, 24))->addInt64($a4->mulInt64($b8, 24))->addInt64($a5->mulInt64($b7, 24))->addInt64($a6->mulInt64($b6, 24)) 2372 ->addInt64($a7->mulInt64($b5, 24))->addInt64($a8->mulInt64($b4, 24))->addInt64($a9->mulInt64($b3, 24))->addInt64($a10->mulInt64($b2, 24))->addInt64($a11->mulInt64($b1, 24)); 2373 $s13 = $a2->mulInt64($b11, 24)->addInt64($a3->mulInt64($b10, 24))->addInt64($a4->mulInt64($b9, 24))->addInt64($a5->mulInt64($b8, 24))->addInt64($a6->mulInt64($b7, 24))->addInt64($a7->mulInt64($b6, 24)) 2374 ->addInt64($a8->mulInt64($b5, 24))->addInt64($a9->mulInt64($b4, 24))->addInt64($a10->mulInt64($b3, 24))->addInt64($a11->mulInt64($b2, 24)); 2375 $s14 = $a3->mulInt64($b11, 24)->addInt64($a4->mulInt64($b10, 24))->addInt64($a5->mulInt64($b9, 24))->addInt64($a6->mulInt64($b8, 24))->addInt64($a7->mulInt64($b7, 24))->addInt64($a8->mulInt64($b6, 24)) 2368 $s9 = $c9->addInt64($a0->mulInt64($b9, 24))->addInt64($a1->mulInt64($b8, 24))->addInt64($a2->mulInt64($b7, 24)) 2369 ->addInt64($a3->mulInt64($b6, 24))->addInt64($a4->mulInt64($b5, 24))->addInt64($a5->mulInt64($b4, 24)) 2370 ->addInt64($a6->mulInt64($b3, 24))->addInt64($a7->mulInt64($b2, 24))->addInt64($a8->mulInt64($b1, 24)) 2371 ->addInt64($a9->mulInt64($b0, 24)); 2372 $s10 = $c10->addInt64($a0->mulInt64($b10, 24))->addInt64($a1->mulInt64($b9, 24))->addInt64($a2->mulInt64($b8, 24)) 2373 ->addInt64($a3->mulInt64($b7, 24))->addInt64($a4->mulInt64($b6, 24))->addInt64($a5->mulInt64($b5, 24)) 2374 ->addInt64($a6->mulInt64($b4, 24))->addInt64($a7->mulInt64($b3, 24))->addInt64($a8->mulInt64($b2, 24)) 2375 ->addInt64($a9->mulInt64($b1, 24))->addInt64($a10->mulInt64($b0, 24)); 2376 $s11 = $c11->addInt64($a0->mulInt64($b11, 24))->addInt64($a1->mulInt64($b10, 24))->addInt64($a2->mulInt64($b9, 24)) 2377 ->addInt64($a3->mulInt64($b8, 24))->addInt64($a4->mulInt64($b7, 24))->addInt64($a5->mulInt64($b6, 24)) 2378 ->addInt64($a6->mulInt64($b5, 24))->addInt64($a7->mulInt64($b4, 24))->addInt64($a8->mulInt64($b3, 24)) 2379 ->addInt64($a9->mulInt64($b2, 24))->addInt64($a10->mulInt64($b1, 24))->addInt64($a11->mulInt64($b0, 24)); 2380 $s12 = $a1->mulInt64($b11, 24)->addInt64($a2->mulInt64($b10, 24))->addInt64($a3->mulInt64($b9, 24)) 2381 ->addInt64($a4->mulInt64($b8, 24))->addInt64($a5->mulInt64($b7, 24))->addInt64($a6->mulInt64($b6, 24)) 2382 ->addInt64($a7->mulInt64($b5, 24))->addInt64($a8->mulInt64($b4, 24))->addInt64($a9->mulInt64($b3, 24)) 2383 ->addInt64($a10->mulInt64($b2, 24))->addInt64($a11->mulInt64($b1, 24)); 2384 $s13 = $a2->mulInt64($b11, 24)->addInt64($a3->mulInt64($b10, 24))->addInt64($a4->mulInt64($b9, 24)) 2385 ->addInt64($a5->mulInt64($b8, 24))->addInt64($a6->mulInt64($b7, 24))->addInt64($a7->mulInt64($b6, 24)) 2386 ->addInt64($a8->mulInt64($b5, 24))->addInt64($a9->mulInt64($b4, 24))->addInt64($a10->mulInt64($b3, 24)) 2387 ->addInt64($a11->mulInt64($b2, 24)); 2388 $s14 = $a3->mulInt64($b11, 24)->addInt64($a4->mulInt64($b10, 24))->addInt64($a5->mulInt64($b9, 24)) 2389 ->addInt64($a6->mulInt64($b8, 24))->addInt64($a7->mulInt64($b7, 24))->addInt64($a8->mulInt64($b6, 24)) 2376 2390 ->addInt64($a9->mulInt64($b5, 24))->addInt64($a10->mulInt64($b4, 24))->addInt64($a11->mulInt64($b3, 24)); 2377 $s15 = $a4->mulInt64($b11, 24)->addInt64($a5->mulInt64($b10, 24))->addInt64($a6->mulInt64($b9, 24))->addInt64($a7->mulInt64($b8, 24))->addInt64($a8->mulInt64($b7, 24))->addInt64($a9->mulInt64($b6, 24)) 2391 $s15 = $a4->mulInt64($b11, 24)->addInt64($a5->mulInt64($b10, 24))->addInt64($a6->mulInt64($b9, 24)) 2392 ->addInt64($a7->mulInt64($b8, 24))->addInt64($a8->mulInt64($b7, 24))->addInt64($a9->mulInt64($b6, 24)) 2378 2393 ->addInt64($a10->mulInt64($b5, 24))->addInt64($a11->mulInt64($b4, 24)); 2379 $s16 = $a5->mulInt64($b11, 24)->addInt64($a6->mulInt64($b10, 24))->addInt64($a7->mulInt64($b9, 24))->addInt64($a8->mulInt64($b8, 24))->addInt64($a9->mulInt64($b7, 24))->addInt64($a10->mulInt64($b6, 24)) 2380 ->addInt64($a11->mulInt64($b5, 24)); 2381 $s17 = $a6->mulInt64($b11, 24)->addInt64($a7->mulInt64($b10, 24))->addInt64($a8->mulInt64($b9, 24))->addInt64($a9->mulInt64($b8, 24))->addInt64($a10->mulInt64($b7, 24))->addInt64($a11->mulInt64($b6, 24)); 2382 $s18 = $a7->mulInt64($b11, 24)->addInt64($a8->mulInt64($b10, 24))->addInt64($a9->mulInt64($b9, 24))->addInt64($a10->mulInt64($b8, 24))->addInt64($a11->mulInt64($b7, 24)); 2383 $s19 = $a8->mulInt64($b11, 24)->addInt64($a9->mulInt64($b10, 24))->addInt64($a10->mulInt64($b9, 24))->addInt64($a11->mulInt64($b8, 24)); 2394 $s16 = $a5->mulInt64($b11, 24)->addInt64($a6->mulInt64($b10, 24))->addInt64($a7->mulInt64($b9, 24)) 2395 ->addInt64($a8->mulInt64($b8, 24))->addInt64($a9->mulInt64($b7, 24))->addInt64($a10->mulInt64($b6, 24)) 2396 ->addInt64($a11->mulInt64($b5, 24)); 2397 $s17 = $a6->mulInt64($b11, 24)->addInt64($a7->mulInt64($b10, 24))->addInt64($a8->mulInt64($b9, 24)) 2398 ->addInt64($a9->mulInt64($b8, 24))->addInt64($a10->mulInt64($b7, 24))->addInt64($a11->mulInt64($b6, 24)); 2399 $s18 = $a7->mulInt64($b11, 24)->addInt64($a8->mulInt64($b10, 24))->addInt64($a9->mulInt64($b9, 24)) 2400 ->addInt64($a10->mulInt64($b8, 24))->addInt64($a11->mulInt64($b7, 24)); 2401 $s19 = $a8->mulInt64($b11, 24)->addInt64($a9->mulInt64($b10, 24))->addInt64($a10->mulInt64($b9, 24)) 2402 ->addInt64($a11->mulInt64($b8, 24)); 2384 2403 $s20 = $a9->mulInt64($b11, 24)->addInt64($a10->mulInt64($b10, 24))->addInt64($a11->mulInt64($b9, 24)); 2385 2404 $s21 = $a10->mulInt64($b11, 24)->addInt64($a11->mulInt64($b10, 24)); … … 2702 2721 $s10 = $s10->subInt64($carry10->shiftLeft(21)); 2703 2722 2704 $S0 = $s0->toInt 32()->toInt();2705 $S1 = $s1->toInt 32()->toInt();2706 $S2 = $s2->toInt 32()->toInt();2707 $S3 = $s3->toInt 32()->toInt();2708 $S4 = $s4->toInt 32()->toInt();2709 $S5 = $s5->toInt 32()->toInt();2710 $S6 = $s6->toInt 32()->toInt();2711 $S7 = $s7->toInt 32()->toInt();2712 $S8 = $s8->toInt 32()->toInt();2713 $S9 = $s9->toInt 32()->toInt();2714 $S10 = $s10->toInt 32()->toInt();2715 $S11 = $s11->toInt 32()->toInt();2723 $S0 = $s0->toInt(); 2724 $S1 = $s1->toInt(); 2725 $S2 = $s2->toInt(); 2726 $S3 = $s3->toInt(); 2727 $S4 = $s4->toInt(); 2728 $S5 = $s5->toInt(); 2729 $S6 = $s6->toInt(); 2730 $S7 = $s7->toInt(); 2731 $S8 = $s8->toInt(); 2732 $S9 = $s9->toInt(); 2733 $S10 = $s10->toInt(); 2734 $S11 = $s11->toInt(); 2716 2735 2717 2736 /** … … 2791 2810 * @var ParagonIE_Sodium_Core32_Int64 $s23 2792 2811 */ 2793 $s0 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($s, 0, 3)))->toInt64();2794 $s1 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 2, 4)) >> 5))->toInt64();2795 $s2 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 5, 3)) >> 2))->toInt64();2796 $s3 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 7, 4)) >> 7))->toInt64();2797 $s4 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 10, 4)) >> 4))->toInt64();2798 $s5 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 13, 3)) >> 1))->toInt64();2799 $s6 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 15, 4)) >> 6))->toInt64();2800 $s7 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 18, 4)) >> 3))->toInt64();2801 $s8 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($s, 21, 3)))->toInt64();2802 $s9 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 23, 4)) >> 5))->toInt64();2803 $s10 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 26, 3)) >> 2))->toInt64();2804 $s11 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 28, 4)) >> 7))->toInt64();2805 $s12 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 31, 4)) >> 4))->toInt64();2806 $s13 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 34, 3)) >> 1))->toInt64();2807 $s14 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 36, 4)) >> 6))->toInt64();2808 $s15 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 39, 4)) >> 3))->toInt64();2809 $s16 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & self::load_3(self::substr($s, 42, 3)))->toInt64();2810 $s17 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 44, 4)) >> 5))->toInt64();2811 $s18 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 47, 3)) >> 2))->toInt64();2812 $s19 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 49, 4)) >> 7))->toInt64();2813 $s20 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 52, 4)) >> 4))->toInt64();2814 $s21 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_3(self::substr($s, 55, 3)) >> 1))->toInt64();2815 $s22 = ParagonIE_Sodium_Core32_Int 32::fromInt(2097151 & (self::load_4(self::substr($s, 57, 4)) >> 6))->toInt64();2816 $s23 = ParagonIE_Sodium_Core32_Int 32::fromInt(0x1fffffff & (self::load_4(self::substr($s, 60, 4)) >> 3))->toInt64();2812 $s0 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($s, 0, 3))); 2813 $s1 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 2, 4)) >> 5)); 2814 $s2 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 5, 3)) >> 2)); 2815 $s3 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 7, 4)) >> 7)); 2816 $s4 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 10, 4)) >> 4)); 2817 $s5 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 13, 3)) >> 1)); 2818 $s6 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 15, 4)) >> 6)); 2819 $s7 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 18, 4)) >> 3)); 2820 $s8 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($s, 21, 3))); 2821 $s9 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 23, 4)) >> 5)); 2822 $s10 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 26, 3)) >> 2)); 2823 $s11 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 28, 4)) >> 7)); 2824 $s12 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 31, 4)) >> 4)); 2825 $s13 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 34, 3)) >> 1)); 2826 $s14 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 36, 4)) >> 6)); 2827 $s15 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 39, 4)) >> 3)); 2828 $s16 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & self::load_3(self::substr($s, 42, 3))); 2829 $s17 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 44, 4)) >> 5)); 2830 $s18 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 47, 3)) >> 2)); 2831 $s19 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 49, 4)) >> 7)); 2832 $s20 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 52, 4)) >> 4)); 2833 $s21 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_3(self::substr($s, 55, 3)) >> 1)); 2834 $s22 = ParagonIE_Sodium_Core32_Int64::fromInt(2097151 & (self::load_4(self::substr($s, 57, 4)) >> 6)); 2835 $s23 = ParagonIE_Sodium_Core32_Int64::fromInt(0x1fffffff & (self::load_4(self::substr($s, 60, 4)) >> 3)); 2817 2836 2818 2837 $s11 = $s11->addInt64($s23->mulInt(666643, 20)); … … 3113 3132 3114 3133 /** 3115 * @internal You should not use this directly from another application3116 *3117 * @param string $s3118 * @return string3119 * @throws SodiumException3120 * @throws TypeError3121 */3122 public static function sc_reduce_old($s)3123 {3124 /**3125 * @var ParagonIE_Sodium_Core32_Int32 $s03126 * @var ParagonIE_Sodium_Core32_Int32 $s13127 * @var ParagonIE_Sodium_Core32_Int32 $s23128 * @var ParagonIE_Sodium_Core32_Int32 $s33129 * @var ParagonIE_Sodium_Core32_Int32 $s43130 * @var ParagonIE_Sodium_Core32_Int32 $s53131 * @var ParagonIE_Sodium_Core32_Int32 $s63132 * @var ParagonIE_Sodium_Core32_Int32 $s73133 * @var ParagonIE_Sodium_Core32_Int32 $s83134 * @var ParagonIE_Sodium_Core32_Int32 $s93135 * @var ParagonIE_Sodium_Core32_Int32 $s103136 * @var ParagonIE_Sodium_Core32_Int32 $s113137 * @var ParagonIE_Sodium_Core32_Int32 $s123138 * @var ParagonIE_Sodium_Core32_Int32 $s133139 * @var ParagonIE_Sodium_Core32_Int32 $s143140 * @var ParagonIE_Sodium_Core32_Int32 $s153141 * @var ParagonIE_Sodium_Core32_Int32 $s163142 * @var ParagonIE_Sodium_Core32_Int32 $s173143 * @var ParagonIE_Sodium_Core32_Int32 $s183144 * @var ParagonIE_Sodium_Core32_Int32 $s193145 * @var ParagonIE_Sodium_Core32_Int32 $s203146 * @var ParagonIE_Sodium_Core32_Int32 $s213147 * @var ParagonIE_Sodium_Core32_Int32 $s223148 * @var ParagonIE_Sodium_Core32_Int32 $s233149 */3150 $s0 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & self::load_3(self::substr($s, 0, 3)));3151 $s1 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 2, 4)) >> 5));3152 $s2 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 5, 3)) >> 2));3153 $s3 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 7, 4)) >> 7));3154 $s4 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 10, 4)) >> 4));3155 $s5 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 13, 3)) >> 1));3156 $s6 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 15, 4)) >> 6));3157 $s7 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 18, 4)) >> 3));3158 $s8 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & self::load_3(self::substr($s, 21, 3)));3159 $s9 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 23, 4)) >> 5));3160 $s10 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 26, 3)) >> 2));3161 $s11 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 28, 4)) >> 7));3162 $s12 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 31, 4)) >> 4));3163 $s13 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 34, 3)) >> 1));3164 $s14 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 36, 4)) >> 6));3165 $s15 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 39, 4)) >> 3));3166 $s16 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & self::load_3(self::substr($s, 42, 3)));3167 $s17 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 44, 4)) >> 5));3168 $s18 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 47, 3)) >> 2));3169 $s19 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 49, 4)) >> 7));3170 $s20 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 52, 4)) >> 4));3171 $s21 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_3(self::substr($s, 55, 3)) >> 1));3172 $s22 = ParagonIE_Sodium_Core32_Int32::fromInt(2097151 & (self::load_4(self::substr($s, 57, 4)) >> 6));3173 $s23 = ParagonIE_Sodium_Core32_Int32::fromInt(self::load_4(self::substr($s, 60, 4)) >> 3);3174 3175 $s11 = $s11->addInt32($s23->mulInt(666643, 20));3176 $s12 = $s12->addInt32($s23->mulInt(470296, 19));3177 $s13 = $s13->addInt32($s23->mulInt(654183, 20));3178 $s14 = $s14->subInt32($s23->mulInt(997805, 20));3179 $s15 = $s15->addInt32($s23->mulInt(136657, 18));3180 $s16 = $s16->subInt32($s23->mulInt(683901, 20));3181 3182 $s10 = $s10->addInt32($s22->mulInt(666643, 20));3183 $s11 = $s11->addInt32($s22->mulInt(470296, 19));3184 $s12 = $s12->addInt32($s22->mulInt(654183, 20));3185 $s13 = $s13->subInt32($s22->mulInt(997805, 20));3186 $s14 = $s14->addInt32($s22->mulInt(136657, 18));3187 $s15 = $s15->subInt32($s22->mulInt(683901, 20));3188 3189 $s9 = $s9->addInt32($s21->mulInt(666643, 20));3190 $s10 = $s10->addInt32($s21->mulInt(470296, 19));3191 $s11 = $s11->addInt32($s21->mulInt(654183, 20));3192 $s12 = $s12->subInt32($s21->mulInt(997805, 20));3193 $s13 = $s13->addInt32($s21->mulInt(136657, 18));3194 $s14 = $s14->subInt32($s21->mulInt(683901, 20));3195 3196 $s8 = $s8->addInt32($s20->mulInt(666643, 20));3197 $s9 = $s9->addInt32($s20->mulInt(470296, 19));3198 $s10 = $s10->addInt32($s20->mulInt(654183, 20));3199 $s11 = $s11->subInt32($s20->mulInt(997805, 20));3200 $s12 = $s12->addInt32($s20->mulInt(136657, 18));3201 $s13 = $s13->subInt32($s20->mulInt(683901, 20));3202 3203 $s7 = $s7->addInt32($s19->mulInt(666643, 20));3204 $s8 = $s8->addInt32($s19->mulInt(470296, 19));3205 $s9 = $s9->addInt32($s19->mulInt(654183, 20));3206 $s10 = $s10->subInt32($s19->mulInt(997805, 20));3207 $s11 = $s11->addInt32($s19->mulInt(136657, 18));3208 $s12 = $s12->subInt32($s19->mulInt(683901, 20));3209 3210 $s6 = $s6->addInt32($s18->mulInt(666643, 20));3211 $s7 = $s7->addInt32($s18->mulInt(470296, 19));3212 $s8 = $s8->addInt32($s18->mulInt(654183, 20));3213 $s9 = $s9->subInt32($s18->mulInt(997805, 20));3214 $s10 = $s10->addInt32($s18->mulInt(136657, 18));3215 $s11 = $s11->subInt32($s18->mulInt(683901, 20));3216 3217 $carry6 = $s6->addInt(1 << 20)->shiftRight(21);3218 $s7 = $s7->addInt32($carry6);3219 $s6 = $s6->subInt32($carry6->shiftLeft(21));3220 3221 $carry8 = $s8->addInt(1 << 20)->shiftRight(21);3222 $s9 = $s9->addInt32($carry8);3223 $s8 = $s8->subInt32($carry8->shiftLeft(21));3224 3225 $carry10 = $s10->addInt(1 << 20)->shiftRight(21);3226 $s11 = $s11->addInt32($carry10);3227 $s10 = $s10->subInt32($carry10->shiftLeft(21));3228 3229 $carry12 = $s12->addInt(1 << 20)->shiftRight(21);3230 $s13 = $s13->addInt32($carry12);3231 $s12 = $s12->subInt32($carry12->shiftLeft(21));3232 3233 $carry14 = $s14->addInt(1 << 20)->shiftRight(21);3234 $s15 = $s15->addInt32($carry14);3235 $s14 = $s14->subInt32($carry14->shiftLeft(21));3236 3237 $carry16 = $s16->addInt(1 << 20)->shiftRight(21);3238 $s17 = $s17->addInt32($carry16);3239 $s16 = $s16->subInt32($carry16->shiftLeft(21));3240 3241 $carry7 = $s7->addInt(1 << 20)->shiftRight(21);3242 $s8 = $s8->addInt32($carry7);3243 $s7 = $s7->subInt32($carry7->shiftLeft(21));3244 3245 $carry9 = $s9->addInt(1 << 20)->shiftRight(21);3246 $s10 = $s10->addInt32($carry9);3247 $s9 = $s9->subInt32($carry9->shiftLeft(21));3248 3249 $carry11 = $s11->addInt(1 << 20)->shiftRight(21);3250 $s12 = $s12->addInt32($carry11);3251 $s11 = $s11->subInt32($carry11->shiftLeft(21));3252 3253 $carry13 = $s13->addInt(1 << 20)->shiftRight(21);3254 $s14 = $s14->addInt32($carry13);3255 $s13 = $s13->subInt32($carry13->shiftLeft(21));3256 3257 $carry15 = $s15->addInt(1 << 20)->shiftRight(21);3258 $s16 = $s16->addInt32($carry15);3259 $s15 = $s15->subInt32($carry15->shiftLeft(21));3260 3261 $s5 = $s5->addInt32($s17->mulInt(666643, 20));3262 $s6 = $s6->addInt32($s17->mulInt(470296, 19));3263 $s7 = $s7->addInt32($s17->mulInt(654183, 20));3264 $s8 = $s8->subInt32($s17->mulInt(997805, 20));3265 $s9 = $s9->addInt32($s17->mulInt(136657, 18));3266 $s10 = $s10->subInt32($s17->mulInt(683901, 20));3267 3268 $s4 = $s4->addInt32($s16->mulInt(666643, 20));3269 $s5 = $s5->addInt32($s16->mulInt(470296, 19));3270 $s6 = $s6->addInt32($s16->mulInt(654183, 20));3271 $s7 = $s7->subInt32($s16->mulInt(997805, 20));3272 $s8 = $s8->addInt32($s16->mulInt(136657, 18));3273 $s9 = $s9->subInt32($s16->mulInt(683901, 20));3274 3275 $s3 = $s3->addInt32($s15->mulInt(666643, 20));3276 $s4 = $s4->addInt32($s15->mulInt(470296, 19));3277 $s5 = $s5->addInt32($s15->mulInt(654183, 20));3278 $s6 = $s6->subInt32($s15->mulInt(997805, 20));3279 $s7 = $s7->addInt32($s15->mulInt(136657, 18));3280 $s8 = $s8->subInt32($s15->mulInt(683901, 20));3281 3282 $s2 = $s2->addInt32($s14->mulInt(666643, 20));3283 $s3 = $s3->addInt32($s14->mulInt(470296, 19));3284 $s4 = $s4->addInt32($s14->mulInt(654183, 20));3285 $s5 = $s5->subInt32($s14->mulInt(997805, 20));3286 $s6 = $s6->addInt32($s14->mulInt(136657, 18));3287 $s7 = $s7->subInt32($s14->mulInt(683901, 20));3288 3289 $s1 = $s1->addInt32($s13->mulInt(666643, 20));3290 $s2 = $s2->addInt32($s13->mulInt(470296, 19));3291 $s3 = $s3->addInt32($s13->mulInt(654183, 20));3292 $s4 = $s4->subInt32($s13->mulInt(997805, 20));3293 $s5 = $s5->addInt32($s13->mulInt(136657, 18));3294 $s6 = $s6->subInt32($s13->mulInt(683901, 20));3295 3296 $s0 = $s0->addInt32($s12->mulInt(666643, 20));3297 $s1 = $s1->addInt32($s12->mulInt(470296, 19));3298 $s2 = $s2->addInt32($s12->mulInt(654183, 20));3299 $s3 = $s3->subInt32($s12->mulInt(997805, 20));3300 $s4 = $s4->addInt32($s12->mulInt(136657, 18));3301 $s5 = $s5->subInt32($s12->mulInt(683901, 20));3302 $s12 = new ParagonIE_Sodium_Core32_Int32();3303 3304 $carry0 = $s0->addInt(1 << 20)->shiftRight(21);3305 $s1 = $s1->addInt32($carry0);3306 $s0 = $s0->subInt32($carry0->shiftLeft(21));3307 $carry2 = $s2->addInt(1 << 20)->shiftRight(21);3308 $s3 = $s3->addInt32($carry2);3309 $s2 = $s2->subInt32($carry2->shiftLeft(21));3310 $carry4 = $s4->addInt(1 << 20)->shiftRight(21);3311 $s5 = $s5->addInt32($carry4);3312 $s4 = $s4->subInt32($carry4->shiftLeft(21));3313 $carry6 = $s6->addInt(1 << 20)->shiftRight(21);3314 $s7 = $s7->addInt32($carry6);3315 $s6 = $s6->subInt32($carry6->shiftLeft(21));3316 $carry8 = $s8->addInt(1 << 20)->shiftRight(21);3317 $s9 = $s9->addInt32($carry8);3318 $s8 = $s8->subInt32($carry8->shiftLeft(21));3319 $carry10 = $s10->addInt(1 << 20)->shiftRight(21);3320 $s11 = $s11->addInt32($carry10);3321 $s10 = $s10->subInt32($carry10->shiftLeft(21));3322 $carry1 = $s1->addInt(1 << 20)->shiftRight(21);3323 $s2 = $s2->addInt32($carry1);3324 $s1 = $s1->subInt32($carry1->shiftLeft(21));3325 $carry3 = $s3->addInt(1 << 20)->shiftRight(21);3326 $s4 = $s4->addInt32($carry3);3327 $s3 = $s3->subInt32($carry3->shiftLeft(21));3328 $carry5 = $s5->addInt(1 << 20)->shiftRight(21);3329 $s6 = $s6->addInt32($carry5);3330 $s5 = $s5->subInt32($carry5->shiftLeft(21));3331 $carry7 = $s7->addInt(1 << 20)->shiftRight(21);3332 $s8 = $s8->addInt32($carry7);3333 $s7 = $s7->subInt32($carry7->shiftLeft(21));3334 $carry9 = $s9->addInt(1 << 20)->shiftRight(21);3335 $s10 = $s10->addInt32($carry9);3336 $s9 = $s9->subInt32($carry9->shiftLeft(21));3337 $carry11 = $s11->addInt(1 << 20)->shiftRight(21);3338 $s12 = $s12->addInt32($carry11);3339 $s11 = $s11->subInt32($carry11->shiftLeft(21));3340 3341 $s0 = $s0->addInt32($s12->mulInt(666643, 20));3342 $s1 = $s1->addInt32($s12->mulInt(470296, 19));3343 $s2 = $s2->addInt32($s12->mulInt(654183, 20));3344 $s3 = $s3->subInt32($s12->mulInt(997805, 20));3345 $s4 = $s4->addInt32($s12->mulInt(136657, 18));3346 $s5 = $s5->subInt32($s12->mulInt(683901, 20));3347 $s12 = new ParagonIE_Sodium_Core32_Int32();3348 3349 $carry0 = $s0->shiftRight(21);3350 $s1 = $s1->addInt32($carry0);3351 $s0 = $s0->subInt32($carry0->shiftLeft(21));3352 $carry1 = $s1->shiftRight(21);3353 $s2 = $s2->addInt32($carry1);3354 $s1 = $s1->subInt32($carry1->shiftLeft(21));3355 $carry2 = $s2->shiftRight(21);3356 $s3 = $s3->addInt32($carry2);3357 $s2 = $s2->subInt32($carry2->shiftLeft(21));3358 $carry3 = $s3->shiftRight(21);3359 $s4 = $s4->addInt32($carry3);3360 $s3 = $s3->subInt32($carry3->shiftLeft(21));3361 $carry4 = $s4->shiftRight(21);3362 $s5 = $s5->addInt32($carry4);3363 $s4 = $s4->subInt32($carry4->shiftLeft(21));3364 $carry5 = $s5->shiftRight(21);3365 $s6 = $s6->addInt32($carry5);3366 $s5 = $s5->subInt32($carry5->shiftLeft(21));3367 $carry6 = $s6->shiftRight(21);3368 $s7 = $s7->addInt32($carry6);3369 $s6 = $s6->subInt32($carry6->shiftLeft(21));3370 $carry7 = $s7->shiftRight(21);3371 $s8 = $s8->addInt32($carry7);3372 $s7 = $s7->subInt32($carry7->shiftLeft(21));3373 $carry8 = $s8->shiftRight(21);3374 $s9 = $s9->addInt32($carry8);3375 $s8 = $s8->subInt32($carry8->shiftLeft(21));3376 $carry9 = $s9->shiftRight(21);3377 $s10 = $s10->addInt32($carry9);3378 $s9 = $s9->subInt32($carry9->shiftLeft(21));3379 $carry10 = $s10->shiftRight(21);3380 $s11 = $s11->addInt32($carry10);3381 $s10 = $s10->subInt32($carry10->shiftLeft(21));3382 $carry11 = $s11->shiftRight(21);3383 $s12 = $s12->addInt32($carry11);3384 $s11 = $s11->subInt32($carry11->shiftLeft(21));3385 3386 $s0 = $s0->addInt32($s12->mulInt(666643, 20));3387 $s1 = $s1->addInt32($s12->mulInt(470296, 19));3388 $s2 = $s2->addInt32($s12->mulInt(654183, 20));3389 $s3 = $s3->subInt32($s12->mulInt(997805, 20));3390 $s4 = $s4->addInt32($s12->mulInt(136657, 18));3391 $s5 = $s5->subInt32($s12->mulInt(683901, 20));3392 3393 $carry0 = $s0->shiftRight(21);3394 $s1 = $s1->addInt32($carry0);3395 $s0 = $s0->subInt32($carry0->shiftLeft(21));3396 $carry1 = $s1->shiftRight(21);3397 $s2 = $s2->addInt32($carry1);3398 $s1 = $s1->subInt32($carry1->shiftLeft(21));3399 $carry2 = $s2->shiftRight(21);3400 $s3 = $s3->addInt32($carry2);3401 $s2 = $s2->subInt32($carry2->shiftLeft(21));3402 $carry3 = $s3->shiftRight(21);3403 $s4 = $s4->addInt32($carry3);3404 $s3 = $s3->subInt32($carry3->shiftLeft(21));3405 $carry4 = $s4->shiftRight(21);3406 $s5 = $s5->addInt32($carry4);3407 $s4 = $s4->subInt32($carry4->shiftLeft(21));3408 $carry5 = $s5->shiftRight(21);3409 $s6 = $s6->addInt32($carry5);3410 $s5 = $s5->subInt32($carry5->shiftLeft(21));3411 $carry6 = $s6->shiftRight(21);3412 $s7 = $s7->addInt32($carry6);3413 $s6 = $s6->subInt32($carry6->shiftLeft(21));3414 $carry7 = $s7->shiftRight(21);3415 $s8 = $s8->addInt32($carry7);3416 $s7 = $s7->subInt32($carry7->shiftLeft(21));3417 $carry8 = $s8->shiftRight(21);3418 $s9 = $s9->addInt32($carry8);3419 $s8 = $s8->subInt32($carry8->shiftLeft(21));3420 $carry9 = $s9->shiftRight(21);3421 $s10 = $s10->addInt32($carry9);3422 $s9 = $s9->subInt32($carry9->shiftLeft(21));3423 $carry10 = $s10->shiftRight(21);3424 $s11 = $s11->addInt32($carry10);3425 $s10 = $s10->subInt32($carry10->shiftLeft(21));3426 3427 $S0 = $s0->toInt();3428 $S1 = $s1->toInt();3429 $S2 = $s2->toInt();3430 $S3 = $s3->toInt();3431 $S4 = $s4->toInt();3432 $S5 = $s5->toInt();3433 $S6 = $s6->toInt();3434 $S7 = $s7->toInt();3435 $S8 = $s8->toInt();3436 $S9 = $s9->toInt();3437 $S10 = $s10->toInt();3438 $S11 = $s11->toInt();3439 3440 /**3441 * @var array<int, int>3442 */3443 $arr = array(3444 (int) ($S0 >> 0),3445 (int) ($S0 >> 8),3446 (int) (($S0 >> 16) | ($S1 << 5)),3447 (int) ($S1 >> 3),3448 (int) ($S1 >> 11),3449 (int) (($S1 >> 19) | ($S2 << 2)),3450 (int) ($S2 >> 6),3451 (int) (($S2 >> 14) | ($S3 << 7)),3452 (int) ($S3 >> 1),3453 (int) ($S3 >> 9),3454 (int) (($S3 >> 17) | ($S4 << 4)),3455 (int) ($S4 >> 4),3456 (int) ($S4 >> 12),3457 (int) (($S4 >> 20) | ($S5 << 1)),3458 (int) ($S5 >> 7),3459 (int) (($S5 >> 15) | ($S6 << 6)),3460 (int) ($S6 >> 2),3461 (int) ($S6 >> 10),3462 (int) (($S6 >> 18) | ($S7 << 3)),3463 (int) ($S7 >> 5),3464 (int) ($S7 >> 13),3465 (int) ($S8 >> 0),3466 (int) ($S8 >> 8),3467 (int) (($S8 >> 16) | ($S9 << 5)),3468 (int) ($S9 >> 3),3469 (int) ($S9 >> 11),3470 (int) (($S9 >> 19) | ($S10 << 2)),3471 (int) ($S10 >> 6),3472 (int) (($S10 >> 14) | ($S11 << 7)),3473 (int) ($S11 >> 1),3474 (int) ($S11 >> 9),3475 (int) $S11 >> 173476 );3477 return self::intArrayToString($arr);3478 }3479 3480 /**3481 3134 * multiply by the order of the main subgroup l = 2^252+27742317777372353535851937790883648493 3482 3135 * -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Curve25519/Fe.php
r1853488 r1946575 23 23 24 24 /** 25 * ParagonIE_Sodium_Core32_Curve25519_Fe constructor.26 * @param int $size27 */28 public function __construct($size = 10)29 {30 $this->size = 10;31 }32 33 /**34 25 * @internal You should not use this directly from another application 35 26 * … … 50 41 $array = array_values($array); 51 42 52 $obj = new ParagonIE_Sodium_Core32_Curve25519_Fe( $count);43 $obj = new ParagonIE_Sodium_Core32_Curve25519_Fe(); 53 44 if ($save_indexes) { 54 45 for ($i = 0; $i < $count; ++$i) { … … 90 81 } 91 82 92 $obj = new ParagonIE_Sodium_Core32_Curve25519_Fe( $count);83 $obj = new ParagonIE_Sodium_Core32_Curve25519_Fe(); 93 84 if ($save_indexes) { 94 85 for ($i = 0; $i < $count; ++$i) { … … 190 181 (int) ($this->container[9]->toInt()) 191 182 ); 192 193 /*194 $c = array(195 ParagonIE_Sodium_Core_Util::bin2hex($this->container[0]->toReverseString()),196 ParagonIE_Sodium_Core_Util::bin2hex($this->container[1]->toReverseString()),197 ParagonIE_Sodium_Core_Util::bin2hex($this->container[2]->toReverseString()),198 ParagonIE_Sodium_Core_Util::bin2hex($this->container[3]->toReverseString()),199 ParagonIE_Sodium_Core_Util::bin2hex($this->container[4]->toReverseString()),200 ParagonIE_Sodium_Core_Util::bin2hex($this->container[5]->toReverseString()),201 ParagonIE_Sodium_Core_Util::bin2hex($this->container[6]->toReverseString()),202 ParagonIE_Sodium_Core_Util::bin2hex($this->container[7]->toReverseString()),203 ParagonIE_Sodium_Core_Util::bin2hex($this->container[8]->toReverseString()),204 ParagonIE_Sodium_Core_Util::bin2hex($this->container[9]->toReverseString())205 );206 $c = array(207 json_encode($this->container[0]->limbs),208 json_encode($this->container[1]->limbs),209 json_encode($this->container[2]->limbs),210 json_encode($this->container[3]->limbs),211 json_encode($this->container[4]->limbs),212 json_encode($this->container[5]->limbs),213 json_encode($this->container[6]->limbs),214 json_encode($this->container[7]->limbs),215 json_encode($this->container[8]->limbs),216 json_encode($this->container[9]->limbs)217 );218 */219 183 return array(implode(', ', $c)); 220 184 } -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Ed25519.php
r1853488 r1946575 17 17 * 18 18 * @return string (96 bytes) 19 * @throws Exception 19 20 * @throws SodiumException 20 21 * @throws TypeError -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Int32.php
r1853488 r1946575 16 16 * 1 is the lower 16 bits 17 17 */ 18 public $limbs ;18 public $limbs = array(0, 0); 19 19 20 20 /** … … 51 51 public function addInt32(ParagonIE_Sodium_Core32_Int32 $addend) 52 52 { 53 $return = new ParagonIE_Sodium_Core32_Int32(); 54 $return->unsignedInt = $this->unsignedInt; 55 56 /** @var int $tmp */ 57 $tmp = $this->limbs[1] + $addend->limbs[1]; 58 /** @var int $carry */ 59 $carry = $tmp >> 16; 60 $return->limbs[1] = (int) ($tmp & 0xffff); 61 62 /** @var int $tmp */ 63 $tmp = $this->limbs[0] + $addend->limbs[0] + $carry; 64 $return->limbs[0] = (int) ($tmp & 0xffff); 65 /** @var int overflow */ 66 $return->overflow = $this->overflow + $addend->overflow + ($tmp >> 16); 67 53 $i0 = $this->limbs[0]; 54 $i1 = $this->limbs[1]; 55 $j0 = $addend->limbs[0]; 56 $j1 = $addend->limbs[1]; 57 58 $r1 = $i1 + ($j1 & 0xffff); 59 $carry = $r1 >> 16; 60 61 $r0 = $i0 + ($j0 & 0xffff) + $carry; 62 $carry = $r0 >> 16; 63 64 $r0 &= 0xffff; 65 $r1 &= 0xffff; 66 67 $return = new ParagonIE_Sodium_Core32_Int32( 68 array($r0, $r1) 69 ); 70 $return->overflow = $carry; 71 $return->unsignedInt = $this->unsignedInt; 68 72 return $return; 69 73 } … … 80 84 { 81 85 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 82 83 $return = new ParagonIE_Sodium_Core32_Int32(); 84 $return->unsignedInt = $this->unsignedInt; 85 86 /** @var int $tmp */ 87 $tmp = ($this->limbs[1] & 0xffff) + ($int & 0xffff); 88 /** @var int $carry */ 89 $carry = $tmp >> 16; 90 $return->limbs[1] = (int) ($tmp & 0xffff); 91 92 /** @var int $tmp */ 93 $tmp = $this->limbs[0] + (($int >> 16) & 0xffff) + $carry; 94 $return->limbs[0] = (int) ($tmp & 0xffff); 95 /** @var int overflow */ 96 $return->overflow = $this->overflow + ($tmp >> 16); 86 /** @var int $int */ 87 $int = (int) $int; 88 89 $int = (int) $int; 90 91 $i0 = $this->limbs[0]; 92 $i1 = $this->limbs[1]; 93 94 $r1 = $i1 + ($int & 0xffff); 95 $carry = $r1 >> 16; 96 97 $r0 = $i0 + (($int >> 16) & 0xffff) + $carry; 98 $carry = $r0 >> 16; 99 $r0 &= 0xffff; 100 $r1 &= 0xffff; 101 $return = new ParagonIE_Sodium_Core32_Int32( 102 array($r0, $r1) 103 ); 104 $return->overflow = $carry; 105 $return->unsignedInt = $this->unsignedInt; 97 106 return $return; 98 107 } … … 153 162 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 154 163 ParagonIE_Sodium_Core32_Util::declareScalarType($size, 'int', 2); 164 /** @var int $int */ 165 $int = (int) $int; 166 /** @var int $size */ 167 $size = (int) $size; 168 155 169 if (!$size) { 156 170 $size = 31; … … 162 176 $return->unsignedInt = $this->unsignedInt; 163 177 178 // Initialize: 179 $ret0 = 0; 180 $ret1 = 0; 181 $a0 = $a->limbs[0]; 182 $a1 = $a->limbs[1]; 183 184 /** @var int $size */ 185 /** @var int $i */ 164 186 for ($i = $size; $i >= 0; --$i) { 165 187 $m = (int) (-($int & 1)); 166 $return = $return->addInt32($a->mask($m)); 167 $a = $a->shiftLeft(1); 188 $x0 = $a0 & $m; 189 $x1 = $a1 & $m; 190 191 $ret1 += $x1; 192 $c = $ret1 >> 16; 193 194 $ret0 += $x0 + $c; 195 196 $ret0 &= 0xffff; 197 $ret1 &= 0xffff; 198 199 $a1 = ($a1 << 1); 200 $x1 = $a1 >> 16; 201 $a0 = ($a0 << 1) | $x1; 202 $a0 &= 0xffff; 203 $a1 &= 0xffff; 168 204 $int >>= 1; 169 205 } 206 $return->limbs[0] = $ret0; 207 $return->limbs[1] = $ret1; 170 208 return $return; 171 209 } … … 191 229 $return->unsignedInt = $this->unsignedInt; 192 230 231 // Initialize: 232 $ret0 = 0; 233 $ret1 = 0; 234 $a0 = $a->limbs[0]; 235 $a1 = $a->limbs[1]; 236 $b0 = $b->limbs[0]; 237 $b1 = $b->limbs[1]; 238 239 /** @var int $size */ 193 240 /** @var int $i */ 194 241 for ($i = $size; $i >= 0; --$i) { 195 $m = (int) (-($b->limbs[1] & 1)); 196 $return = $return->addInt32($a->mask($m)); 197 $a = $a->shiftLeft(1); 198 $b = $b->shiftRight(1); 199 } 242 $m = (int) (-($b1 & 1)); 243 $x0 = $a0 & $m; 244 $x1 = $a1 & $m; 245 246 $ret1 += $x1; 247 $c = $ret1 >> 16; 248 249 $ret0 += $x0 + $c; 250 251 $ret0 &= 0xffff; 252 $ret1 &= 0xffff; 253 254 $a1 = ($a1 << 1); 255 $x1 = $a1 >> 16; 256 $a0 = ($a0 << 1) | $x1; 257 $a0 &= 0xffff; 258 $a1 &= 0xffff; 259 260 $x0 = ($b0 & 1) << 16; 261 $b0 = ($b0 >> 1); 262 $b1 = (($b1 | $x0) >> 1); 263 264 $b0 &= 0xffff; 265 $b1 &= 0xffff; 266 267 } 268 $return->limbs[0] = $ret0; 269 $return->limbs[1] = $ret1; 270 200 271 return $return; 201 272 } … … 248 319 { 249 320 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 321 /** @var int $c */ 322 $c = (int) $c; 250 323 251 324 $return = new ParagonIE_Sodium_Core32_Int32(); … … 277 350 $limbs[$i] = (int) ( 278 351 ( 279 ( $myLimbs[$j]<< $sub_shift)352 ((int) ($myLimbs[$j]) << $sub_shift) 280 353 | 281 ( $myLimbs[$k]>> (16 - $sub_shift))354 ((int) ($myLimbs[$k]) >> (16 - $sub_shift)) 282 355 ) & 0xffff 283 356 ); … … 299 372 { 300 373 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 374 /** @var int $c */ 375 $c = (int) $c; 301 376 302 377 $return = new ParagonIE_Sodium_Core32_Int32(); … … 329 404 $limbs[$i] = (int) ( 330 405 ( 331 ( $myLimbs[$j]>> (int) ($sub_shift))406 ((int) ($myLimbs[$j]) >> (int) ($sub_shift)) 332 407 | 333 ( $myLimbs[$k]<< (16 - (int) ($sub_shift)))408 ((int) ($myLimbs[$k]) << (16 - (int) ($sub_shift))) 334 409 ) & 0xffff 335 410 ); … … 358 433 { 359 434 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 435 /** @var int $c */ 436 $c = (int) $c; 437 360 438 $return = new ParagonIE_Sodium_Core32_Int32(); 361 439 $return->unsignedInt = $this->unsignedInt; … … 393 471 { 394 472 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 473 /** @var int $c */ 474 $c = (int) $c; 475 395 476 $return = new ParagonIE_Sodium_Core32_Int32(); 396 477 $return->unsignedInt = $this->unsignedInt; … … 436 517 { 437 518 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 519 /** @var int $int */ 520 $int = (int) $int; 438 521 439 522 $return = new ParagonIE_Sodium_Core32_Int32(); … … 501 584 { 502 585 ParagonIE_Sodium_Core32_Util::declareScalarType($signed, 'int', 1);; 586 /** @var int $signed */ 587 $signed = (int) $signed; 503 588 504 589 return new ParagonIE_Sodium_Core32_Int32( -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Int64.php
r1853488 r1946575 13 13 * @var array<int, int> - four 16-bit integers 14 14 */ 15 public $limbs ;15 public $limbs = array(0, 0, 0, 0); 16 16 17 17 /** … … 50 50 public function addInt64(ParagonIE_Sodium_Core32_Int64 $addend) 51 51 { 52 $return = new ParagonIE_Sodium_Core32_Int64(); 53 $return->unsignedInt = $this->unsignedInt; 54 /** @var int $carry */ 55 $carry = 0; 56 for ($i = 3; $i >= 0; --$i) { 57 /** @var int $tmp */ 58 $tmp = $this->limbs[$i] + $addend->limbs[$i] + $carry; 59 /** @var int $carry */ 60 $carry = $tmp >> 16; 61 $return->limbs[$i] = (int) ($tmp & 0xffff); 62 } 52 $i0 = $this->limbs[0]; 53 $i1 = $this->limbs[1]; 54 $i2 = $this->limbs[2]; 55 $i3 = $this->limbs[3]; 56 $j0 = $addend->limbs[0]; 57 $j1 = $addend->limbs[1]; 58 $j2 = $addend->limbs[2]; 59 $j3 = $addend->limbs[3]; 60 61 $r3 = $i3 + ($j3 & 0xffff); 62 $carry = $r3 >> 16; 63 64 $r2 = $i2 + ($j2 & 0xffff) + $carry; 65 $carry = $r2 >> 16; 66 67 $r1 = $i1 + ($j1 & 0xffff) + $carry; 68 $carry = $r1 >> 16; 69 70 $r0 = $i0 + ($j0 & 0xffff) + $carry; 71 $carry = $r0 >> 16; 72 73 $r0 &= 0xffff; 74 $r1 &= 0xffff; 75 $r2 &= 0xffff; 76 $r3 &= 0xffff; 77 78 $return = new ParagonIE_Sodium_Core32_Int64( 79 array($r0, $r1, $r2, $r3) 80 ); 63 81 $return->overflow = $carry; 82 $return->unsignedInt = $this->unsignedInt; 64 83 return $return; 65 84 } … … 70 89 * @param int $int 71 90 * @return ParagonIE_Sodium_Core32_Int64 91 * @throws SodiumException 72 92 * @throws TypeError 73 93 */ … … 75 95 { 76 96 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 77 78 $return = new ParagonIE_Sodium_Core32_Int64(); 79 $return->unsignedInt = $this->unsignedInt; 80 /** @var int $carry */ 81 $carry = 0; 82 for ($i = 3; $i >= 0; --$i) { 83 /** @var int $step */ 84 $step = (3 - $i) << 4; // 0, 16, 32, 48 85 if ($i < 2) { 86 /** @var int $toAdd */ 87 $toAdd = 0; 88 } else { 89 /** @var int $toAdd */ 90 $toAdd = (($int >> $step) & 0xffff); 91 } 92 /** @var int $tmp */ 93 $tmp = $this->limbs[$i] + $toAdd + $carry; 94 95 /** @var int $carry */ 96 $carry = $tmp >> 16; 97 $return->limbs[$i] = (int) ($tmp & 0xffff); 98 } 99 /** @var int overflow */ 97 /** @var int $int */ 98 $int = (int) $int; 99 100 $i0 = $this->limbs[0]; 101 $i1 = $this->limbs[1]; 102 $i2 = $this->limbs[2]; 103 $i3 = $this->limbs[3]; 104 105 $r3 = $i3 + ($int & 0xffff); 106 $carry = $r3 >> 16; 107 108 $r2 = $i2 + (($int >> 16) & 0xffff) + $carry; 109 $carry = $r2 >> 16; 110 111 $r1 = $i1 + $carry; 112 $carry = $r1 >> 16; 113 114 $r0 = $i0 + $carry; 115 $carry = $r0 >> 16; 116 117 $r0 &= 0xffff; 118 $r1 &= 0xffff; 119 $r2 &= 0xffff; 120 $r3 &= 0xffff; 121 $return = new ParagonIE_Sodium_Core32_Int64( 122 array($r0, $r1, $r2, $r3) 123 ); 100 124 $return->overflow = $carry; 125 $return->unsignedInt = $this->unsignedInt; 101 126 return $return; 102 127 } … … 183 208 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 184 209 ParagonIE_Sodium_Core32_Util::declareScalarType($size, 'int', 2); 210 /** @var int $int */ 211 $int = (int) $int; 212 /** @var int $size */ 213 $size = (int) $size; 214 185 215 if (!$size) { 186 216 $size = 63; … … 191 221 $return->unsignedInt = $this->unsignedInt; 192 222 223 // Initialize: 224 $ret0 = 0; 225 $ret1 = 0; 226 $ret2 = 0; 227 $ret3 = 0; 228 $a0 = $a->limbs[0]; 229 $a1 = $a->limbs[1]; 230 $a2 = $a->limbs[2]; 231 $a3 = $a->limbs[3]; 232 233 /** @var int $size */ 234 /** @var int $i */ 193 235 for ($i = $size; $i >= 0; --$i) { 194 $return = $return->addInt64( 195 $a->mask64( 196 (int) (-($int & 1)), 197 (int) (-($int & 1)) 198 ) 199 ); 200 $a = $a->shiftLeft(1); 236 $mask = -($int & 1); 237 $x0 = $a0 & $mask; 238 $x1 = $a1 & $mask; 239 $x2 = $a2 & $mask; 240 $x3 = $a3 & $mask; 241 242 $ret3 += $x3; 243 $c = $ret3 >> 16; 244 245 $ret2 += $x2 + $c; 246 $c = $ret2 >> 16; 247 248 $ret1 += $x1 + $c; 249 $c = $ret1 >> 16; 250 251 $ret0 += $x0 + $c; 252 253 $ret0 &= 0xffff; 254 $ret1 &= 0xffff; 255 $ret2 &= 0xffff; 256 $ret3 &= 0xffff; 257 258 $a3 = $a3 << 1; 259 $x3 = $a3 >> 16; 260 $a2 = ($a2 << 1) | $x3; 261 $x2 = $a2 >> 16; 262 $a1 = ($a1 << 1) | $x2; 263 $x1 = $a1 >> 16; 264 $a0 = ($a0 << 1) | $x1; 265 $a0 &= 0xffff; 266 $a1 &= 0xffff; 267 $a2 &= 0xffff; 268 $a3 &= 0xffff; 269 201 270 $int >>= 1; 271 $return->limbs[0] = $ret0; 272 $return->limbs[1] = $ret1; 273 $return->limbs[2] = $ret2; 274 $return->limbs[3] = $ret3; 202 275 } 203 276 return $return; … … 264 337 $return->unsignedInt = $this->unsignedInt; 265 338 266 /** @var int $size $i */ 339 // Initialize: 340 $ret0 = 0; 341 $ret1 = 0; 342 $ret2 = 0; 343 $ret3 = 0; 344 $a0 = $a->limbs[0]; 345 $a1 = $a->limbs[1]; 346 $a2 = $a->limbs[2]; 347 $a3 = $a->limbs[3]; 348 $b0 = $b->limbs[0]; 349 $b1 = $b->limbs[1]; 350 $b2 = $b->limbs[2]; 351 $b3 = $b->limbs[3]; 352 353 /** @var int $size */ 267 354 /** @var int $i */ 268 for ($i = $size; $i >= 0; --$i) { 269 $return = $return->addInt64( 270 $a->mask64( 271 (int) (-($b->limbs[3] & 1)), 272 (int) (-($b->limbs[3] & 1)) 273 ) 274 ); 275 $a = $a->shiftLeft(1); 276 $b = $b->shiftRight(1); 277 } 355 for ($i = (int) $size; $i >= 0; --$i) { 356 $mask = -($b3 & 1); 357 $x0 = $a0 & $mask; 358 $x1 = $a1 & $mask; 359 $x2 = $a2 & $mask; 360 $x3 = $a3 & $mask; 361 362 $ret3 += $x3; 363 $c = $ret3 >> 16; 364 365 $ret2 += $x2 + $c; 366 $c = $ret2 >> 16; 367 368 $ret1 += $x1 + $c; 369 $c = $ret1 >> 16; 370 371 $ret0 += $x0 + $c; 372 373 $ret0 &= 0xffff; 374 $ret1 &= 0xffff; 375 $ret2 &= 0xffff; 376 $ret3 &= 0xffff; 377 378 $a3 = $a3 << 1; 379 $x3 = $a3 >> 16; 380 $a2 = ($a2 << 1) | $x3; 381 $x2 = $a2 >> 16; 382 $a1 = ($a1 << 1) | $x2; 383 $x1 = $a1 >> 16; 384 $a0 = ($a0 << 1) | $x1; 385 $a0 &= 0xffff; 386 $a1 &= 0xffff; 387 $a2 &= 0xffff; 388 $a3 &= 0xffff; 389 390 $x0 = ($b0 & 1) << 16; 391 $x1 = ($b1 & 1) << 16; 392 $x2 = ($b2 & 1) << 16; 393 394 $b0 = ($b0 >> 1); 395 $b1 = (($b1 | $x0) >> 1); 396 $b2 = (($b2 | $x1) >> 1); 397 $b3 = (($b3 | $x2) >> 1); 398 399 $b0 &= 0xffff; 400 $b1 &= 0xffff; 401 $b2 &= 0xffff; 402 $b3 &= 0xffff; 403 404 } 405 $return->limbs[0] = $ret0; 406 $return->limbs[1] = $ret1; 407 $return->limbs[2] = $ret2; 408 $return->limbs[3] = $ret3; 409 278 410 return $return; 279 411 } … … 301 433 * @param int $c 302 434 * @return ParagonIE_Sodium_Core32_Int64 435 * @throws SodiumException 303 436 * @throws TypeError 304 437 * @psalm-suppress MixedArrayAccess … … 307 440 { 308 441 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 442 /** @var int $c */ 443 $c = (int) $c; 309 444 310 445 $return = new ParagonIE_Sodium_Core32_Int64(); … … 333 468 $limbs[$i] = (int) ( 334 469 ( 335 ( $myLimbs[$j]<< $sub_shift)470 ((int) ($myLimbs[$j]) << $sub_shift) 336 471 | 337 ( $myLimbs[$k]>> (16 - $sub_shift))472 ((int) ($myLimbs[$k]) >> (16 - $sub_shift)) 338 473 ) & 0xffff 339 474 ); … … 348 483 * @param int $c 349 484 * @return ParagonIE_Sodium_Core32_Int64 485 * @throws SodiumException 350 486 * @throws TypeError 351 487 * @psalm-suppress MixedArrayAccess … … 354 490 { 355 491 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 492 /** @var int $c */ 493 $c = (int) $c; 356 494 357 495 /** @var ParagonIE_Sodium_Core32_Int64 $return */ … … 382 520 $limbs[$i] = (int) ( 383 521 ( 384 ( $myLimbs[$j]>> (int) ($sub_shift))522 ((int) ($myLimbs[$j]) >> (int) ($sub_shift)) 385 523 | 386 ( $myLimbs[$k]<< (16 - (int) ($sub_shift)))524 ((int) ($myLimbs[$k]) << (16 - (int) ($sub_shift))) 387 525 ) & 0xffff 388 526 ); … … 400 538 { 401 539 ParagonIE_Sodium_Core32_Util::declareScalarType($c, 'int', 1); 540 /** @var int $c */ 541 $c = (int) $c; 542 402 543 $return = new ParagonIE_Sodium_Core32_Int64(); 403 544 $return->unsignedInt = $this->unsignedInt; 404 545 $c &= 63; 405 /** @var int $c */406 546 407 547 if ($c >= 16) { … … 511 651 * @param int $int 512 652 * @return ParagonIE_Sodium_Core32_Int64 653 * @throws SodiumException 513 654 * @throws TypeError 514 655 */ … … 516 657 { 517 658 ParagonIE_Sodium_Core32_Util::declareScalarType($int, 'int', 1); 659 $int = (int) $int; 518 660 519 661 $return = new ParagonIE_Sodium_Core32_Int64(); … … 577 719 * @param int $high 578 720 * @return self 721 * @throws SodiumException 579 722 * @throws TypeError 580 723 */ … … 584 727 ParagonIE_Sodium_Core32_Util::declareScalarType($high, 'int', 2); 585 728 729 $high = (int) $high; 730 $low = (int) $low; 586 731 return new ParagonIE_Sodium_Core32_Int64( 587 732 array( … … 595 740 596 741 /** 742 * @param int $low 743 * @return self 744 * @throws SodiumException 745 * @throws TypeError 746 */ 747 public static function fromInt($low) 748 { 749 ParagonIE_Sodium_Core32_Util::declareScalarType($low, 'int', 1); 750 $low = (int) $low; 751 752 return new ParagonIE_Sodium_Core32_Int64( 753 array( 754 0, 755 0, 756 (int) (($low >> 16) & 0xffff), 757 (int) ($low & 0xffff) 758 ) 759 ); 760 } 761 762 /** 763 * @return int 764 */ 765 public function toInt() 766 { 767 return (int) ( 768 (($this->limbs[2] & 0xffff) << 16) 769 | 770 ($this->limbs[3] & 0xffff) 771 ); 772 } 773 774 /** 597 775 * @param string $string 598 776 * @return self 777 * @throws SodiumException 599 778 * @throws TypeError 600 779 */ … … 624 803 * @param string $string 625 804 * @return self 805 * @throws SodiumException 626 806 * @throws TypeError 627 807 */ -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/Poly1305/State.php
r1853488 r1946575 216 216 $r4 = $this->r[4]->toInt64(); 217 217 218 $s1 = $r1->toInt64()->mulInt(5 );219 $s2 = $r2->toInt64()->mulInt(5 );220 $s3 = $r3->toInt64()->mulInt(5 );221 $s4 = $r4->toInt64()->mulInt(5 );218 $s1 = $r1->toInt64()->mulInt(5, 3); 219 $s2 = $r2->toInt64()->mulInt(5, 3); 220 $s3 = $r3->toInt64()->mulInt(5, 3); 221 $s4 = $r4->toInt64()->mulInt(5, 3); 222 222 223 223 $h0 = $this->h[0]; … … 227 227 $h4 = $this->h[4]; 228 228 229 while ($bytes >= ParagonIE_Sodium_Core _Poly1305::BLOCK_SIZE) {229 while ($bytes >= ParagonIE_Sodium_Core32_Poly1305::BLOCK_SIZE) { 230 230 /* h += m[i] */ 231 231 $h0 = $h0->addInt32( 232 232 ParagonIE_Sodium_Core32_Int32::fromReverseString(self::substr($message, 0, 4)) 233 233 ->mask(0x3ffffff) 234 ) ;234 )->toInt64(); 235 235 $h1 = $h1->addInt32( 236 236 ParagonIE_Sodium_Core32_Int32::fromReverseString(self::substr($message, 3, 4)) 237 237 ->shiftRight(2) 238 238 ->mask(0x3ffffff) 239 ) ;239 )->toInt64(); 240 240 $h2 = $h2->addInt32( 241 241 ParagonIE_Sodium_Core32_Int32::fromReverseString(self::substr($message, 6, 4)) 242 242 ->shiftRight(4) 243 243 ->mask(0x3ffffff) 244 ) ;244 )->toInt64(); 245 245 $h3 = $h3->addInt32( 246 246 ParagonIE_Sodium_Core32_Int32::fromReverseString(self::substr($message, 9, 4)) 247 247 ->shiftRight(6) 248 248 ->mask(0x3ffffff) 249 ) ;249 )->toInt64(); 250 250 $h4 = $h4->addInt32( 251 251 ParagonIE_Sodium_Core32_Int32::fromReverseString(self::substr($message, 12, 4)) 252 252 ->shiftRight(8) 253 253 ->orInt32($hibit) 254 ) ;254 )->toInt64(); 255 255 256 256 /* h *= r */ 257 257 $d0 = $zero 258 ->addInt64($h0-> toInt64()->mulInt64($r0))259 ->addInt64($ h1->toInt64()->mulInt64($s4))260 ->addInt64($ h2->toInt64()->mulInt64($s3))261 ->addInt64($ h3->toInt64()->mulInt64($s2))262 ->addInt64($ h4->toInt64()->mulInt64($s1));258 ->addInt64($h0->mulInt64($r0, 25)) 259 ->addInt64($s4->mulInt64($h1, 26)) 260 ->addInt64($s3->mulInt64($h2, 26)) 261 ->addInt64($s2->mulInt64($h3, 26)) 262 ->addInt64($s1->mulInt64($h4, 26)); 263 263 264 264 $d1 = $zero 265 ->addInt64($h0-> toInt64()->mulInt64($r1))266 ->addInt64($h1-> toInt64()->mulInt64($r0))267 ->addInt64($ h2->toInt64()->mulInt64($s4))268 ->addInt64($ h3->toInt64()->mulInt64($s3))269 ->addInt64($ h4->toInt64()->mulInt64($s2));265 ->addInt64($h0->mulInt64($r1, 25)) 266 ->addInt64($h1->mulInt64($r0, 25)) 267 ->addInt64($s4->mulInt64($h2, 26)) 268 ->addInt64($s3->mulInt64($h3, 26)) 269 ->addInt64($s2->mulInt64($h4, 26)); 270 270 271 271 $d2 = $zero 272 ->addInt64($h0-> toInt64()->mulInt64($r2))273 ->addInt64($h1-> toInt64()->mulInt64($r1))274 ->addInt64($h2-> toInt64()->mulInt64($r0))275 ->addInt64($ h3->toInt64()->mulInt64($s4))276 ->addInt64($ h4->toInt64()->mulInt64($s3));272 ->addInt64($h0->mulInt64($r2, 25)) 273 ->addInt64($h1->mulInt64($r1, 25)) 274 ->addInt64($h2->mulInt64($r0, 25)) 275 ->addInt64($s4->mulInt64($h3, 26)) 276 ->addInt64($s3->mulInt64($h4, 26)); 277 277 278 278 $d3 = $zero 279 ->addInt64($h0-> toInt64()->mulInt64($r3))280 ->addInt64($h1-> toInt64()->mulInt64($r2))281 ->addInt64($h2-> toInt64()->mulInt64($r1))282 ->addInt64($h3-> toInt64()->mulInt64($r0))283 ->addInt64($ h4->toInt64()->mulInt64($s4));279 ->addInt64($h0->mulInt64($r3, 25)) 280 ->addInt64($h1->mulInt64($r2, 25)) 281 ->addInt64($h2->mulInt64($r1, 25)) 282 ->addInt64($h3->mulInt64($r0, 25)) 283 ->addInt64($s4->mulInt64($h4, 26)); 284 284 285 285 $d4 = $zero 286 ->addInt64($h0-> toInt64()->mulInt64($r4))287 ->addInt64($h1-> toInt64()->mulInt64($r3))288 ->addInt64($h2-> toInt64()->mulInt64($r2))289 ->addInt64($h3-> toInt64()->mulInt64($r1))290 ->addInt64($h4-> toInt64()->mulInt64($r0));286 ->addInt64($h0->mulInt64($r4, 25)) 287 ->addInt64($h1->mulInt64($r3, 25)) 288 ->addInt64($h2->mulInt64($r2, 25)) 289 ->addInt64($h3->mulInt64($r1, 25)) 290 ->addInt64($h4->mulInt64($r0, 25)); 291 291 292 292 /* (partial) h %= p */ … … 389 389 $h4 = $h4->mask(0x3ffffff); # $h4 &= 0x3ffffff; 390 390 391 $h0 = $h0->addInt32($c->mulInt(5 )); # $h0 += self::mul($c, 5);391 $h0 = $h0->addInt32($c->mulInt(5, 3)); # $h0 += self::mul($c, 5); 392 392 $c = $h0->shiftRight(26); # $c = $h0 >> 26; 393 393 $h0 = $h0->mask(0x3ffffff); # $h0 &= 0x3ffffff; -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/SipHash.php
r1853488 r1946575 203 203 break; 204 204 } 205 // See docblock for why the 0th index gets the higher bits.206 205 207 206 # v3 ^= b; -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Core32/X25519.php
r1853488 r1946575 214 214 # b &= 1; 215 215 $b &= 1; 216 216 217 # swap ^= b; 217 218 $swap ^= $b; 219 218 220 # fe_cswap(x2,x3,swap); 219 221 self::fe_cswap($x2, $x3, $swap); 222 220 223 # fe_cswap(z2,z3,swap); 221 224 self::fe_cswap($z2, $z3, $swap); 225 222 226 # swap = b; 223 227 /** @var int $swap */ 224 228 $swap = $b; 229 225 230 # fe_sub(tmp0,x3,z3); 226 231 $tmp0 = self::fe_sub($x3, $z3); 232 227 233 # fe_sub(tmp1,x2,z2); 228 234 $tmp1 = self::fe_sub($x2, $z2); … … 338 344 if ( 339 345 !($A->Y instanceof ParagonIE_Sodium_Core32_Curve25519_Fe) 340 ||346 || 341 347 !($A->Z instanceof ParagonIE_Sodium_Core32_Curve25519_Fe) 342 348 ) { -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Crypto.php
r1853488 r1946575 554 554 * 555 555 * @return string 556 * @throws Exception 556 557 * @throws SodiumException 557 558 * @throws TypeError … … 606 607 { 607 608 if (ParagonIE_Sodium_Core_Util::strlen($keypair) !== 64) { 608 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.'); 609 throw new RangeException( 610 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.' 611 ); 609 612 } 610 613 return ParagonIE_Sodium_Core_Util::substr($keypair, 0, 32); … … 622 625 { 623 626 if (ParagonIE_Sodium_Core_Util::strlen($keypair) !== ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES) { 624 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.'); 627 throw new RangeException( 628 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.' 629 ); 625 630 } 626 631 return ParagonIE_Sodium_Core_Util::substr($keypair, 32, 32); … … 639 644 { 640 645 if (ParagonIE_Sodium_Core_Util::strlen($sKey) !== ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES) { 641 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES bytes long.'); 646 throw new RangeException( 647 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES bytes long.' 648 ); 642 649 } 643 650 return self::scalarmult_base($sKey); -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/Crypto32.php
r1853488 r1946575 553 553 * 554 554 * @return string 555 * @throws Exception 555 556 * @throws SodiumException 556 557 * @throws TypeError … … 605 606 { 606 607 if (ParagonIE_Sodium_Core32_Util::strlen($keypair) !== 64) { 607 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.'); 608 throw new RangeException( 609 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.' 610 ); 608 611 } 609 612 return ParagonIE_Sodium_Core32_Util::substr($keypair, 0, 32); … … 621 624 { 622 625 if (ParagonIE_Sodium_Core32_Util::strlen($keypair) !== ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES) { 623 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.'); 626 throw new RangeException( 627 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_KEYPAIRBYTES bytes long.' 628 ); 624 629 } 625 630 return ParagonIE_Sodium_Core32_Util::substr($keypair, 32, 32); … … 638 643 { 639 644 if (ParagonIE_Sodium_Core32_Util::strlen($sKey) !== ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES) { 640 throw new RangeException('Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES bytes long.'); 645 throw new RangeException( 646 'Must be ParagonIE_Sodium_Compat::CRYPTO_BOX_SECRETKEYBYTES bytes long.' 647 ); 641 648 } 642 649 return self::scalarmult_base($sKey); -
perfectdashboard/trunk/lib/src/vendor/paragonie/sodium_compat/src/File.php
r1853488 r1946575 762 762 protected static function box_encrypt($ifp, $ofp, $mlen, $nonce, $boxKeypair) 763 763 { 764 if (PHP_INT_SIZE === 4) { 765 return self::secretbox_encrypt( 766 $ifp, 767 $ofp, 768 $mlen, 769 $nonce, 770 ParagonIE_Sodium_Crypto32::box_beforenm( 771 ParagonIE_Sodium_Crypto32::box_secretkey($boxKeypair), 772 ParagonIE_Sodium_Crypto32::box_publickey($boxKeypair) 773 ) 774 ); 775 } 764 776 return self::secretbox_encrypt( 765 777 $ifp, … … 787 799 protected static function box_decrypt($ifp, $ofp, $mlen, $nonce, $boxKeypair) 788 800 { 801 if (PHP_INT_SIZE === 4) { 802 return self::secretbox_decrypt( 803 $ifp, 804 $ofp, 805 $mlen, 806 $nonce, 807 ParagonIE_Sodium_Crypto32::box_beforenm( 808 ParagonIE_Sodium_Crypto32::box_secretkey($boxKeypair), 809 ParagonIE_Sodium_Crypto32::box_publickey($boxKeypair) 810 ) 811 ); 812 } 789 813 return self::secretbox_decrypt( 790 814 $ifp, … … 1016 1040 * @throws TypeError 1017 1041 */ 1018 protected static function onetimeauth_verify(ParagonIE_Sodium_Core_Poly1305_State $state, $ifp, $tag = '', $mlen = 0) 1019 { 1042 protected static function onetimeauth_verify( 1043 ParagonIE_Sodium_Core_Poly1305_State $state, 1044 $ifp, 1045 $tag = '', 1046 $mlen = 0 1047 ) { 1020 1048 /** @var int $pos */ 1021 1049 $pos = ftell($ifp); … … 1058 1086 * PHP 7.2 changes from a resource to an object, 1059 1087 * which causes Psalm to complain about an error. 1088 * @psalm-suppress TypeCoercion 1089 * Ditto. 1060 1090 */ 1061 1091 public static function updateHashWithFile($hash, $fp, $size = 0) … … 1485 1515 * @throws TypeError 1486 1516 */ 1487 protected static function onetimeauth_verify_core32(ParagonIE_Sodium_Core32_Poly1305_State $state, $ifp, $tag = '', $mlen = 0) 1488 { 1517 protected static function onetimeauth_verify_core32( 1518 ParagonIE_Sodium_Core32_Poly1305_State $state, 1519 $ifp, 1520 $tag = '', 1521 $mlen = 0 1522 ) { 1489 1523 /** @var int $pos */ 1490 1524 $pos = ftell($ifp); -
perfectdashboard/trunk/perfectdashboard.php
r1932005 r1946575 4 4 * Plugin URI: https://perfectdashboard.com/?utm_source=backend&utm_medium=installer&utm_campaign=in&utm_term=WP 5 5 * Description: 6 * Version: 1. 19.06 * Version: 1.20.0 7 7 * Text Domain: autoupdater 8 8 * Author: Perfect Dashboard -
perfectdashboard/trunk/readme.txt
r1932005 r1946575 5 5 Requires at least: 3.0 6 6 Tested up to: 4.9.8 7 Stable tag: 1. 19.07 Stable tag: 1.20.0 8 8 License: GNU/GPL 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset
for help on using the changeset viewer.