!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/   drwxr-xr-x
Free 13.32 GB of 57.97 GB (22.98%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     MontgomeryMult.php (2.95 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * PHP Montgomery Modular Exponentiation Engine with interleaved multiplication
 *
 * PHP version 5 and 7
 *
 * @category  Math
 * @package   BigInteger
 * @author    Jim Wigginton <terrafrost@php.net>
 * @copyright 2017 Jim Wigginton
 * @license   http://www.opensource.org/licenses/mit-license.html  MIT License
 * @link      http://pear.php.net/package/Math_BigInteger
 */

namespace phpseclib3\Math\BigInteger\Engines\PHP\Reductions;

use 
phpseclib3\Math\BigInteger\Engines\PHP\Base;

/**
 * PHP Montgomery Modular Exponentiation Engine with interleaved multiplication
 *
 * @package PHP
 * @author  Jim Wigginton <terrafrost@php.net>
 * @access  public
 */
abstract class MontgomeryMult extends Montgomery
{
    
/**
     * Montgomery Multiply
     *
     * Interleaves the montgomery reduction and long multiplication algorithms together as described in
     * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=13 HAC 14.36}
     *
     * @see self::_prepMontgomery()
     * @see self::_montgomery()
     * @access private
     * @param array $x
     * @param array $y
     * @param array $m
     * @param string $class
     * @return array
     */
    
public static function multiplyReduce(array $x, array $y, array $m$class)
    {
        
// the following code, although not callable, can be run independently of the above code
        // although the above code performed better in my benchmarks the following could might
        // perform better under different circumstances. in lieu of deleting it it's just been
        // made uncallable

        
static $cache = [
            
self::VARIABLE => [],
            
self::DATA => []
        ];

        if ((
$key array_search($m$cache[self::VARIABLE])) === false) {
            
$key count($cache[self::VARIABLE]);
            
$cache[self::VARIABLE][] = $m;
            
$cache[self::DATA][] = self::modInverse67108864($m$class);
        }

        
$n max(count($x), count($y), count($m));
        
$x array_pad($x$n0);
        
$y array_pad($y$n0);
        
$m array_pad($m$n0);
        
$a = [self::VALUE => self::array_repeat(0$n 1)];
        for (
$i 0$i $n; ++$i) {
            
$temp $a[self::VALUE][0] + $x[$i] * $y[0];
            
$temp $temp $class::BASE_FULL * ($class::BASE === 26 intval($temp 0x4000000) : ($temp >> 31));
            
$temp $temp $cache[self::DATA][$key];
            
$temp $temp $class::BASE_FULL * ($class::BASE === 26 intval($temp 0x4000000) : ($temp >> 31));
            
$temp $class::addHelper($class::regularMultiply([$x[$i]], $y), false$class::regularMultiply([$temp], $m), false);
            
$a $class::addHelper($a[self::VALUE], false$temp[self::VALUE], false);
            
$a[self::VALUE] = array_slice($a[self::VALUE], 1);
        }
        if (
self::compareHelper($a[self::VALUE], false$mfalse) >= 0) {
            
$a $class::subtractHelper($a[self::VALUE], false$mfalse);
        }
        return 
$a[self::VALUE];
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0053 ]--