$var $data $data $data $digit $digit $element $format $length $element $part[0] $part[0] $result[] $result[] $result[] $result[] $result[] $result[] $result[] $format[$i] $digit $digit $element $i $part $result[] $result[] $temp $temp array $i $lower $lower < 0 ? ($lower & 0x7FFFFFFFF) + 0x80000000 : $lower $part $temp['num'] $temp['num'] $upper $result $parts pack('N', $temp['num'] + 1) pack('N', $temp['num'] + 1) unpack('Nupper/Nlower', self::shift($data, 8)) $digits $digits $parts pack('C', $element) pack('N', $element) pack('NN', $element / 4294967296, $element) pack('Na*', strlen($element), $element) pack('Na*', strlen($element), $element) pack('Na*', strlen($element), $element) $length $parts[$i - 1] $parts[$i - 1] $parts[$i - 1] $parts[$i] $temp $temp['num'] $temp['num'] toBytes $temp['num'] $temp['num'] string $element instanceof BigInteger $element instanceof FiniteField\Integer AES AES AES AES AES AES AES AES AES pack("N*", $r, $l) pack('L*', ...$cdata) pack('N*', $r ^ $p[0], $l ^ $p[1]) string string string $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] $sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] (self::safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF] $j $cdata[$j + 1] $cdata[$j] $l $l $p $p $r $r $sb_0 $sb_0 $sb_1 $sb_1 $sb_2 $sb_2 $sb_3 $sb_3 $p $sbox0 $sbox1 $sbox2 $sbox3 $sha2pass $sha2pass $sha2salt $sha2salt $p[$i + 1] $p[$i - 1] $p[$i - 1] $p[$i] $p[$i] $p[$i] $p[0] $p[0] $p[16] $p[17] $p[1] $p[1] $sb_0[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_3[$l & 0xff] $sb_3[$r & 0xff] $this->bctx['sb'][0] $this->bctx['sb'][0] $this->bctx['sb'][1] $this->bctx['sb'][1] $this->bctx['sb'][2] $this->bctx['sb'][2] $this->bctx['sb'][3] $this->bctx['sb'][3] $sb_0[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_3[$l & 0xff] $sb_3[$r & 0xff] $data $l $l $l $l $p $p $p $r $r $r $r $sb_0 $sb_0 $sb_1 $sb_1 $sb_2 $sb_2 $sb_3 $sb_3 $data $l $l $l $l $l $l $l $p[$i + 1] $p[$i - 1] $p[$i] $p[$i] $p[0] $p[16] $p[17] $p[1] $r $r $r $r $r $r $r $sb_0[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] self::$parray[$i] unpack('C*', $this->key) unpack('N*', $data = $this->encryptBlock($data)) unpack('N*', $data = $this->encryptBlock($data)) unpack('N*', $sha2pass) unpack('N*', $sha2salt) unpack('N*', 'OxychromaticBlowfishSwatDynamite') pack('N', $count++) $in[1] $in[1] $in[2] $in[2] $this->openssl_translate_mode() $data[0] $data[1] $data[2] $data[3] $in[1] $in[1] $in[2] $in[2] $key[0] $key[0] $key[10] $key[10] $key[11] $key[11] $key[12] $key[12] $key[13] $key[13] $key[14] $key[14] $key[15] $key[15] $key[1] $key[1] $key[2] $key[2] $key[3] $key[3] $key[4] $key[4] $key[5] $key[5] $key[6] $key[6] $key[7] $key[7] $key[8] $key[8] $key[9] $key[9] $p[0] $p[0] $p[0] $p[0] $p[10] $p[10] $p[10] $p[10] $p[11] $p[11] $p[11] $p[11] $p[12] $p[12] $p[12] $p[12] $p[13] $p[13] $p[13] $p[13] $p[14] $p[14] $p[14] $p[14] $p[15] $p[15] $p[15] $p[15] $p[16] $p[16] $p[16] $p[16] $p[17] $p[17] $p[17] $p[17] $p[1] $p[1] $p[1] $p[1] $p[2] $p[2] $p[2] $p[2] $p[3] $p[3] $p[3] $p[3] $p[4] $p[4] $p[4] $p[4] $p[5] $p[5] $p[5] $p[5] $p[6] $p[6] $p[6] $p[6] $p[7] $p[7] $p[7] $p[7] $p[8] $p[8] $p[8] $p[8] $p[9] $p[9] $p[9] $p[9] $sbox0[254] $sbox0[254] $sbox0[255] $sbox0[255] $sbox1[254] $sbox1[254] $sbox1[255] $sbox1[255] $sbox2[254] $sbox2[254] $sbox2[255] $sbox2[255] self::$sbox2[0] $this->bctx['p'] $this->bctx['p'] $this->bctx['p'] $this->bctx['sb'] $this->bctx['sb'] setupInlineCrypt $bctx $kl Blowfish Blowfish Blowfish Blowfish Blowfish Blowfish Blowfish Blowfish Blowfish $this->key === false $this->nonce === false $this->oldtag === false salsa20 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x12 $x13 $x14 $x15 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x4 $x5 $x6 $x7 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $z0 $z1 $z10 $z11 $z12 $z13 $z14 $z15 $z2 $z3 $z4 $z5 $z6 $z7 $z8 $z9 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x0 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x1 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x10 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x11 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x2 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x3 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x8 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $x9 $z12 $z13 $z14 $z15 $z4 $z5 $z6 $z7 $ciphertext $ciphertext $ciphertext $plaintext false false false $x0 $x1 $x10 $x11 $x12 $x13 $x14 $x15 $x2 $x3 $x4 $x5 $x6 $x7 $x8 $x9 ChaCha20 ChaCha20 ChaCha20 ChaCha20 ChaCha20 ChaCha20 ChaCha20 ChaCha20 $this->usePoly1305 && !isset($this->poly1305Key) $this->usePoly1305 && !isset($this->poly1305Key) isset($this->poly1305Key) is_string($nonce) $this->format $type string validatePlugin $name $rolen $this->q $this->q $this->x $type $vlen - $qlen -$rolen self::$invisiblePlugins[static::ALGORITHM] $components['comment'] $components['secret'] $components['secret'] self::$plugins[static::ALGORITHM]['Keys'] self::$plugins[static::ALGORITHM]['Keys'] $components['format'] $components['format'] $components['secret'] $components['secret'] self::$invisiblePlugins[static::ALGORITHM][] self::$plugins[static::ALGORITHM][$format] self::$plugins[static::ALGORITHM][$format] self::$plugins[static::ALGORITHM]['Keys'] self::$invisiblePlugins[static::ALGORITHM] self::$invisiblePlugins[static::ALGORITHM] self::$invisiblePlugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] self::$plugins[static::ALGORITHM] $comment $components $components $components['format'] $components['format'] $components['secret'] $components['secret'] $format $format $new $new $qlen $qlen $rolen $type AsymmetricKey array static $format::load($key, $password) $format::load($key, $password) getLength getLengthInBytes getLengthInBytes $qlen static::ALGORITHM static::ALGORITHM $new $new $new self::$plugins[static::ALGORITHM]['Keys'] $key $key $format $format computek getComment getSupportedKeyFormats loadParameters loadParametersFormat loadPrivateKey loadPrivateKeyFormat loadPublicKey loadPublicKeyFormat array $format isset(self::$zero) static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::ALGORITHM static::onLoad($components) static::onLoad($components) $this->q $this->q $this->q $this->q $this->x $name json_encode(['keys' => [$key + $options]]) string $key->keys $key->keys[0] $key \stdClass $key->keys $key->kty $key $key->keys[0] $key $salt 32 32 $checkint $checkint $comment $kdfoptions $paddedKey $publicKey $rounds $rounds $rounds $salt $type $type static::$types static::$types $comment $paddedKey $rounds decrypt $asciiType $ciphername $kdfname $rounds $checkint $key $password $parts[0] setBinaryOutput is_string($password) $key $key static::$types static::$types requireAny requireDER requirePEM !is_string($password) self::getEncryptionMode($matches[1]) self::getEncryptionMode($matches[1]) self::getEncryptionMode($matches[2]) $mode int $encryptionAlgorithm $encryptionAlgorithm $key $password $matches[1] $matches[1] $matches[1] $matches[1] $matches[2] $matches[2] $decoded !== false $ciphertext === false $hash $salt $params $params $algorithm $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decrypted['encryptionAlgorithm']['parameters'] $decrypted['encryptionAlgorithm']['parameters'] $decrypted['encryptionAlgorithm']['parameters'] $encryptionAlgorithm $encryptionScheme $encryptionScheme['algorithm'] $encryptionScheme['parameters'] $iterationCount $kdf['parameters']->element $key $key $key $key $keyDerivationFunc['parameters'] $prf $prf['algorithm'] $private['publicKey'] $private['publicKey'][0] $public['publicKey'] $public['publicKey'][0] $r['encryptionAlgorithm']['parameters']->element $temp['length'] $temp['length'] $temp['start'] $temp['start'] $temp[0] $temp[0] $temp[0] $temp[0] $temp[0] static::OID_NAME static::OID_NAME static::OID_NAME static::OID_VALUE $decoded[0]['content'] $decoded[0]['content'] $decrypted['encryptedData'] $decrypted['encryptedData'] $decrypted['encryptionAlgorithm']['algorithm'] $decrypted['encryptionAlgorithm']['parameters'] $decrypted['encryptionAlgorithm']['parameters'] $decrypted['encryptionAlgorithm']['parameters'] $encryptionScheme['algorithm'] $encryptionScheme['algorithm'] $encryptionScheme['parameters'] $encryptionScheme['parameters'] $kdf['algorithm'] $kdf['parameters'] $keyDerivationFunc['algorithm'] $keyDerivationFunc['algorithm'] $keyDerivationFunc['parameters'] $prf['algorithm'] $prf['algorithm'] $private['privateKeyAlgorithm']['algorithm'] $private['privateKeyAlgorithm']['algorithm'] $private['privateKeyAlgorithm']['algorithm'] $private['privateKeyAlgorithm']['algorithm'] $private['publicKey'][0] $private['publicKey'][0] $public['publicKey'][0] $public['publicKeyAlgorithm']['algorithm'] $public['publicKeyAlgorithm']['algorithm'] $public['publicKeyAlgorithm']['algorithm'] $public['publicKeyAlgorithm']['algorithm'] $r['encryptionAlgorithm']['algorithm'] $r['encryptionAlgorithm']['parameters'] $temp['length'] $temp['length'] $temp['start'] $temp['start'] $kdf['parameters'] $meta['meta'] $meta['meta'] $meta['meta'] $r['encryptionAlgorithm']['parameters'] [static::OID_NAME => static::OID_VALUE] $algorithm $encryptionAlgorithm $encryptionScheme $iterationCount $kdf $key $key $key['privateKeyAlgorithm']['parameters'] $key['publicKeyAlgorithm']['parameters'] $meta['meta']['algorithm'] $meta['meta']['cipher'] $meta['meta']['keyDerivationFunc'] $meta['meta']['prf'] $prf $temp $temp array array decrypt decrypt setIV setIV setKeyLength setPassword setPassword toString toString toString toString $meta $private['privateKeyAlgorithm']['algorithm'] $private['privateKeyAlgorithm']['algorithm'] $public['publicKeyAlgorithm']['algorithm'] $public['publicKeyAlgorithm']['algorithm'] static::OID_NAME static::OID_NAME $kdf['parameters']->element $r['encryptionAlgorithm']['parameters']->element $private + $meta $r['encryptionAlgorithm'] $key $params $temp $temp ASN1::asn1map($temp[0], Maps\PBEParameter::MAP) ASN1::asn1map($temp[0], Maps\RC2CBCParameter::MAP) $r['encryptionAlgorithm']['parameters']['keyDerivationFunc'] $r['encryptionAlgorithm']['parameters']['keyDerivationFunc'] $key $kdf['parameters']->element $kdf['algorithm'] $kdf['parameters'] $r['encryptionAlgorithm']['parameters']['keyDerivationFunc'] $kdf['parameters']->element $r['encryptionAlgorithm']['parameters'] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $matches[1] $matches[1] $temp[0] $temp[0] $temp[0] $temp[0] $temp[0] $decrypted['encryptionAlgorithm'] $private['privateKeyAlgorithm'] $private['privateKeyAlgorithm'] $private['privateKeyAlgorithm'] $private['privateKeyAlgorithm'] $public['publicKey'] $public['publicKey'] $public['publicKey'] $public['publicKeyAlgorithm'] $public['publicKeyAlgorithm'] $public['publicKeyAlgorithm'] $public['publicKeyAlgorithm'] $r['encryptionAlgorithm'] $r['encryptionAlgorithm'] $r['encryptionAlgorithm'] $r['encryptionAlgorithm']['parameters']['keyDerivationFunc'] $iv $salt setIterationCount $decoded !== false !empty($password) && is_string($password) is_string($password) Strings::is_stringable($key) static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_NAME static::OID_VALUE static::OID_VALUE $r['encryptionAlgorithm']['parameters'] static::$childOIDsLoaded $comment $hash->hash($source) $hash->hash($source) $hashkey $hashkey $hashkey $key $key[$offset + $privateLength] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $length $offset $password $password $private $private $private $public $symiv $symkey array_slice($key, $offset, $privateLength) array_slice($key, 4, $publicLength) static::$types static::$types $key[$offset + $privateLength] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] static::$types[0] $components['comment'] $components['private'] $components['public'] $key[$offset + $privateLength] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $key[$offset++] $comment $components $components $components['private'] $mac $offset $offset $offset $offset $offset $offset $offset $private $private $version array|false decrypt disablePadding disablePadding encrypt hash hash hash setIV setIV setKey setKey $components $hashkey $key $offset $offset $offset $offset $offset $offset $offset $publicLength $source static::$types[0] $components $components $key $key $lines $lines $password $password $temp unpack('Nlength', Strings::shift($public, 4)) $password $key[0] $key[1] $key[2] $key[3] $lines[0] $lines[count($lines) - 1] preg_replace('#Argon2-Memory: (\d+)#', '$1', $key[$offset++]) preg_replace('#Argon2-Parallelism: (\d+)#', '$1', $key[$offset++]) preg_replace('#Argon2-Passes: (\d+)#', '$1', $key[$offset++]) preg_replace('#Argon2-Salt: ([0-9a-f]+)#', '$1', $key[$offset++]) preg_replace('#Comment: (.+)#', '$1', $key[2]) preg_replace('#Encryption: (.+)#', '$1', $key[1]) preg_replace('#Key-Derivation: (.*)#', '$1', $key[$offset++]) preg_replace('#Private-Lines: (\d+)#', '$1', $key[$offset++]) preg_replace('#Private-MAC: (.+)#', '$1', $key[$offset + $privateLength]) preg_replace('#Public-Lines: (\d+)#', '$1', $key[3]) $key[1] $key[2] $key[3] $match[1] $match[2] $match[2] $values['comment'] $hash $hash $symiv $symiv $symkey $symkey setVersion static::PUBLIC_HANDLER static::$types static::$types $mac compact('r', 's') string $sig['r'] $sig['r'] $sig['s'] $sig['s'] load save !is_array($sig) !isset($sig['r']) || !isset($sig['s']) $message getPublicKey sign $algorithm $message $signature getFingerprint verify verify StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher StreamCipher !$this->h !$this->h $this->iv === false $this->key === false $this->newtag === false $this->nonce === false $this->oldtag === false is_int($x) $ciphertext $ciphertext $ciphertext $result openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING) openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING) $func_args[0] $salt $xor[0] $xor[0] $salt string $inline('decrypt', $ciphertext) $inline('encrypt', $plaintext) $length >> 3 PHP_INT_SIZE == 4 && PHP_VERSION_ID >= 80100 ? intval($x) : $x int setupKey $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $ciphertext $dkLen $dkLen $dkLen $dkLen $dkLen >> 1 $dkLen >> 1 $i $i $i $i $i $i $i $key $key $key $key $keylen $keylen $keylen + $this->block_size $len $len $one $orig_pos $orig_pos $orig_pos $orig_pos $overflow $overflow $plaintext $reverseMap[$engine] $this->openssl_options $this->openssl_options -$overflow -$overflow -$overflow -$overflow -$overflow -$overflow -$overflow - $this->block_size $reverseMap[$engine] $bindedClosure $ciphertext $decrypt_block $dkLen $encrypt_block $i $i $i $i $init_crypt $init_decrypt $init_encrypt $key_length $keylen $len $len $len $len $len $len $max $max $max $max $orig_pos $orig_pos $orig_pos $orig_pos $overflow $overflow $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $size $this->preferredEngine int string string $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $decrypt_block $decrypt_block $decrypt_block $dkLen $dkLen $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $encrypt_block $init_decrypt $init_decrypt $init_decrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $init_encrypt $key_length $keylen $len $len $len $len $max $max $max $max $overflow $overflow $pos $pos $pos $pos $pos $pos $pos $pos $this->key_length $xor[0] $xor[0] -$overflow $inline('decrypt', $ciphertext) $inline('encrypt', $plaintext) $plaintext $this->key_length << 3 $this->paddable ? $this->unpad($plaintext) : $plaintext $x $ciphertext $ciphertext $ciphertext $ciphertext $ciphertext $encryptIV $encrypted $iv $result openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv) openssl_decrypt(substr($ciphertext, 0, -$overflow), $this->cipher_name_openssl, $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv) openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $encryptIV) openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $encryptIV) openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv) pack('N', $i++) pack('N', 8 * strlen($str)) false false false false false false false false false $count $count $count $dkLen $dkLen $dkLen $dkLen $keylen $keylen $rounds $salt $salt $reverseMap[$engine] $salt $salt $salt $salt null $func_args[0] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['pos'] $buffer['pos'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $cipher_code['decrypt_block'] $cipher_code['encrypt_block'] $this->debuffer['pos'] $this->enbuffer['pos'] $key $key $key $key $plaintext $plaintext $plaintext enablePadding getMode safe_intval_inline $cipher_code bool $cipher_name_openssl $cipher_name_openssl_ecb $debuffer $decryptIV $enbuffer $encryptIV $engine $h $inline_crypt $poly1305Key $preferredEngine is_string($engine) is_string($this->key) strlen($password) $this->usePoly1305 && !isset($this->poly1305Key) $this->usePoly1305 && !isset($this->poly1305Key) isset($this->poly1305Key) isset($this->poly1305Key) isset($this->preferredEngine) isset(self::$gcmField) isset(self::$poly1305Field) return $ciphertext; '' Callback setupInlineCrypt $this->key_length $this->key_length $this->key_length $this->key_length $this->openssl_options $this->openssl_options new static('ctr') new static('ctr') new static('ecb') $ciphertext $ciphertext $i $i $size getFingerprint $type $key === false 8 $block $key $k[$c][++$ki] $k[$c][++$ki] $keys[++$ki] $keys[++$ki] $pc1map[ $l & 0xFF] $pc1map[ $r & 0xFF] $pc1map[($l >> 8) & 0xFF] $pc1map[($l >> 16) & 0xFF] $pc1map[($l >> 24) & 0xFF] $pc1map[($r >> 8) & 0xFF] $pc1map[($r >> 16) & 0xFF] $pc1map[($r >> 24) & 0xFF] $pc2mapc1[ $c >> 24 ] $pc2mapc2[($c >> 16) & 0xFF] $pc2mapc3[($c >> 8) & 0xFF] $pc2mapc4[ $c & 0xFF] $pc2mapd1[ $d >> 24 ] $pc2mapd2[($d >> 16) & 0xFF] $pc2mapd3[($d >> 8) & 0xFF] $pc2mapd4[ $d & 0xFF] $sbox1[($b1 >> 24) & 0x3F] $sbox2[($b2 >> 24) & 0x3F] $sbox3[($b1 >> 16) & 0x3F] $sbox4[($b2 >> 16) & 0x3F] $sbox5[($b1 >> 8) & 0x3F] $sbox6[($b2 >> 8) & 0x3F] $sbox7[ $b1 & 0x3F] $sbox8[ $b2 & 0x3F] $shifts[$i] $shifts[$i] $shuffleinvip[ $l & 0xFF] $shuffleinvip[ $r & 0xFF] $shuffleinvip[($l >> 8) & 0xFF] $shuffleinvip[($l >> 16) & 0xFF] $shuffleinvip[($l >> 24) & 0xFF] $shuffleinvip[($r >> 8) & 0xFF] $shuffleinvip[($r >> 16) & 0xFF] $shuffleinvip[($r >> 24) & 0xFF] $shuffleip[ $l & 0xFF] $shuffleip[ $r & 0xFF] $shuffleip[($l >> 8) & 0xFF] $shuffleip[($l >> 16) & 0xFF] $shuffleip[($l >> 24) & 0xFF] $shuffleip[($r >> 8) & 0xFF] $shuffleip[($r >> 16) & 0xFF] $shuffleip[($r >> 24) & 0xFF] $shuffleinvip[] $shuffleip[] $pc1map[ $l & 0xFF] $pc1map[ $r & 0xFF] $pc1map[($l >> 8) & 0xFF] $pc1map[($l >> 16) & 0xFF] $pc1map[($l >> 24) & 0xFF] $pc1map[($r >> 8) & 0xFF] $pc1map[($r >> 16) & 0xFF] $pc1map[($r >> 24) & 0xFF] $pc2mapc1[ $c >> 24 ] $pc2mapc2[($c >> 16) & 0xFF] $pc2mapc3[($c >> 8) & 0xFF] $pc2mapc4[ $c & 0xFF] $pc2mapd1[ $d >> 24 ] $pc2mapd2[($d >> 16) & 0xFF] $pc2mapd3[($d >> 8) & 0xFF] $pc2mapd4[ $d & 0xFF] $sbox1[($b1 >> 24) & 0x3F] $sbox2[($b2 >> 24) & 0x3F] $sbox3[($b1 >> 16) & 0x3F] $sbox4[($b2 >> 16) & 0x3F] $sbox5[($b1 >> 8) & 0x3F] $sbox6[($b2 >> 8) & 0x3F] $sbox7[ $b1 & 0x3F] $sbox8[ $b2 & 0x3F] $shuffleinvip[ $l & 0xFF] $shuffleinvip[ $r & 0xFF] $shuffleinvip[($l >> 8) & 0xFF] $shuffleinvip[($l >> 16) & 0xFF] $shuffleinvip[($l >> 24) & 0xFF] $shuffleinvip[($r >> 8) & 0xFF] $shuffleinvip[($r >> 16) & 0xFF] $shuffleinvip[($r >> 24) & 0xFF] $shuffleip[ $l & 0xFF] $shuffleip[ $r & 0xFF] $shuffleip[($l >> 8) & 0xFF] $shuffleip[($l >> 16) & 0xFF] $shuffleip[($l >> 24) & 0xFF] $shuffleip[($r >> 8) & 0xFF] $shuffleip[($r >> 16) & 0xFF] $shuffleip[($r >> 24) & 0xFF] self::$shuffle[$pc1map[ $l & 0xFF]] self::$shuffle[$pc1map[ $r & 0xFF]] self::$shuffle[$pc1map[($l >> 8) & 0xFF]] self::$shuffle[$pc1map[($l >> 16) & 0xFF]] self::$shuffle[$pc1map[($l >> 24) & 0xFF]] self::$shuffle[$pc1map[($r >> 8) & 0xFF]] self::$shuffle[$pc1map[($r >> 16) & 0xFF]] self::$shuffle[$pc1map[($r >> 24) & 0xFF]] self::$shuffle[self::$invipmap[$i]] self::$shuffle[self::$ipmap[$i]] $b1 $b2 $block $c $c $c $cp $d $d $d $dp $key $keys $keys[$des_round][self::DECRYPT][$ki ] $keys[$des_round][self::DECRYPT][$ki - 1] $keys[$des_round][self::ENCRYPT][ ] $keys[$des_round][self::ENCRYPT][ ] $l $l $l $l $l $r $r $r $r $r $shuffleinvip[] $shuffleip[] $t $t $val1 $val2 string $b1 $b1 $b1 $b1 $b2 $b2 $b2 $b2 $c $c $c $c $c $c $c $cp $cp $cp $cp $d $d $d $d $d $d $d $dp $dp $dp $dp $k[$c][++$ki] $k[$c][++$ki] $key['c'] $key['c'] $key['d'] $l $l $l $l $l $l $l $l $l $l $l $l $pc2mapc1[ $c >> 24 ] $pc2mapd1[ $d >> 24 ] $r $r $r $r $r $r $r $r $r $r $r $r $r $r $r $r $sbox1[($b1 >> 24) & 0x3F] ^ $sbox2[($b2 >> 24) & 0x3F] $sbox2[($b2 >> 24) & 0x3F] $shuffleinvip[ $l & 0xFF] $shuffleinvip[ $r & 0xFF] $shuffleinvip[($l >> 8) & 0xFF] $shuffleinvip[($l >> 16) & 0xFF] $shuffleinvip[($l >> 24) & 0xFF] $shuffleinvip[($r >> 8) & 0xFF] $shuffleinvip[($r >> 16) & 0xFF] $shuffleinvip[($r >> 24) & 0xFF] $shuffleip[ $l & 0xFF] $shuffleip[ $r & 0xFF] $shuffleip[($l >> 8) & 0xFF] $shuffleip[($l >> 16) & 0xFF] $shuffleip[($l >> 24) & 0xFF] $shuffleip[($r >> 8) & 0xFF] $shuffleip[($r >> 16) & 0xFF] $shuffleip[($r >> 24) & 0xFF] ( $cp & intval(0xFF000000)) | (($cp << 8) & 0x00FF0000) ($cp << 8) & intval(0xFF000000) ($key['d'] >> 4) & 0x0FFFFFF0 ($r >> 3) & 0x1FFFFFFF ($r >> 31) & 0x00000001 (($cp << 8) & intval(0xFF000000)) | (($cp << 16) & 0x00FF0000) (($r >> 3) & 0x1FFFFFFF) ^ ($r << 29) (($r >> 31) & 0x00000001) ^ ($r << 1) self::$shuffle[$pc1map[ $l & 0xFF]] self::$shuffle[$pc1map[ $r & 0xFF]] self::$shuffle[$pc1map[($l >> 8) & 0xFF]] self::$shuffle[$pc1map[($l >> 16) & 0xFF]] self::$shuffle[$pc1map[($l >> 24) & 0xFF]] self::$shuffle[$pc1map[($r >> 8) & 0xFF]] self::$shuffle[$pc1map[($r >> 16) & 0xFF]] self::$shuffle[$pc1map[($r >> 24) & 0xFF]] $key['c'] $key['d'] $t['l'] $t['l'] $t['l'] $t['r'] $t['r'] $t['r'] $this->openssl_translate_mode() $crypt_block[self::DECRYPT] $crypt_block[self::ENCRYPT] $keys[0] $keys[0] $keys[1] $keys[2] $this->keys[self::DECRYPT] $this->keys[self::ENCRYPT] $key['c'] $key['d'] $t['l'] $t['l'] $t['l'] $t['r'] $t['r'] $t['r'] $this->kl['des_rounds'] setupInlineCrypt $key_length $openssl_mode_names $keys $kl DES DES DES DES DES DES DES DES DES $args[0] $args computeSecret $key $key $new->base $new->prime $new->privateKey $new->publicKey $type $type::saveParameters($this->prime, $this->base) $args[0] $args[0] $args[0] $args[1] $components['base'] $components['prime'] onLoad $new->privateKey $decoded[0] $key $decoded[0] PKCS1 $privateKey $publicKey $decoded[0] $key[$type . 'Algorithm']['parameters']->element $key[$type] $decoded[0]['content'] $decoded[0]['content'] $key[$type . 'Algorithm']['parameters'] $components[$type] $key[$type . 'Algorithm']['parameters']->element $password $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $key[$type . 'Algorithm'] $key[$type] PKCS8 $type string $type::saveParameters($this->prime, $this->base, $options) $type::saveParameters($this->prime, $this->base, $options) Parameters Parameters Parameters Parameters DH::loadFormat('PKCS8', $key) $key $key $type $type string $type::savePrivateKey($this->prime, $this->base, $this->privateKey, $this->publicKey, $this->password, $options) $type::savePublicKey($this->prime, $this->base, $this->publicKey) $type::savePrivateKey($this->prime, $this->base, $this->privateKey, $this->publicKey, $this->password, $options) DH\PublicKey $privateKey $publicKey PrivateKey PrivateKey PrivateKey isset($this->publicKey) isset($this->publicKey) $type string $type::savePublicKey($this->prime, $this->base, $this->publicKey, $options) $type::savePublicKey($this->prime, $this->base, $this->publicKey, $options) PublicKey PublicKey PublicKey PublicKey count($args) == 1 && $args[0] instanceof Parameters count($args) == 2 && is_int($args[0]) is_int($args[0]) is_int($args[1]) getParameters $args[0] $args[1] $key $key $new->g $new->p $new->q $new->sigFormat $new->x $new->y $this->sigFormat $type DSA\PrivateKey $type::saveParameters($this->p, $this->q, $this->g) $params->g $params->hash $params->p $params->q $params->shortFormat $args[0] $args[0] $args[1] $components['g'] $components['p'] $components['q'] self::$engines['OpenSSL'] getEngine getLength getSignatureFormat onLoad $g $p $q $y DSA withSignatureFormat withSignatureFormat $g $g $p $p $q $q $x $y $y $parsed['paddedKey'] $parsed['paddedKey'] $parsed['publicKey'] $comment $comment $comment $password $parsed['comment'] $parsed['publicKey'] $parsed['type'] $parsed[type] OpenSSH $y $decoded[0] $decoded[0] $decoded[0] $key $decoded[0] PKCS1 $x $y $decoded[0] $decoded[0] $key[$type . 'Algorithm']['parameters']->element $key[$type] $key[$type . 'Algorithm']['parameters'] $components['meta'] $key[$type . 'Algorithm']['parameters']->element $password $decoded[0] $decoded[0] $key[$type . 'Algorithm'] $key[$type] $components[$var] instanceof BigInteger PKCS8 $g $g $p $p $q $q $x $y $y $components['public'] $private $public $password PuTTY compact('p', 'q', 'g', 'y') compact('p', 'q', 'g', 'y', 'x') string string $key['g'] $key['p'] $key['q'] Raw $key $components array $components['g'] $components['p'] $components['q'] $components['y'] $temp->item(0)->nodeValue $temp->item(0)->nodeValue $components $components $components $components Strings::is_stringable($key) XML $components array|bool $decoded[0] $components $decoded[0] is_string($sig) Raw false string load $blob $blob $result === false is_string($sig) SSH2 $type string $type::saveParameters($this->p, $this->q, $this->g, $options) $type::saveParameters($this->p, $this->q, $this->g, $options) Parameters Parameters Parameters Parameters Parameters $format::save($r, $s) getPublicKey $key $key $type $type string string $format::save($r, $s) $type::savePrivateKey($this->p, $this->q, $this->g, $this->y, $this->x, $this->password, $options) $type::savePublicKey($this->p, $this->q, $this->g, $this->y) $format::save($r, $s) $format::save($r, $s) $type::savePrivateKey($this->p, $this->q, $this->g, $this->y, $this->x, $this->password, $options) ASN1Signature::load($signature) self::$engines['OpenSSL'] $r $s $x PrivateKey PrivateKey PrivateKey PrivateKey PrivateKey isset($this->y) isset($this->y) withSignatureFormat $format::load($signature) $message $message $params $params $r $r $s $sig $u2 $w self::$one $u2 $params $sig $type $w [, $u2] string $type::savePublicKey($this->p, $this->q, $this->g, $this->y, $options) between between divide modInverse multiply $type::savePublicKey($this->p, $this->q, $this->g, $this->y, $options) PublicKey PublicKey PublicKey PublicKey PublicKey $decoded $privatekey $privatekey->withHash($curve::HASH) getParameters $components['curve']::HASH $curve->getBasePoint() $curve::HASH $dA $dA->toBytes() $decoded[0] $key $params $this->QA[0]->toBytes(true) $arr['dA'] $arr['secret'] $arr $dA $dA $key $new->QA $new->curve $new->curve $new->dA $new->secret $new->sigFormat $params $privatekey->QA $privatekey->dA $privatekey->dA $privatekey->secret $this->curveName $this->sigFormat $type string string|array $type::saveParameters($this->curve) createRandomMultiplier getBasePoint multiplyPoint new $curve() toBytes toBytes toBytes toBytes toString $this->QA[0]->toBytes(true) $this->QA[1]->toBytes(true) $decoded['namedCurve'] $this->curve->encodePoint($this->QA) PrivateKey $decoded $decoded[0] $decoded[0] null $decoded[0] $this->QA[0] $this->QA[0] $this->QA[1] $components['QA'] $components['curve'] $components['curve'] $components['secret'] self::$engines['OpenSSL'] self::$engines['libsodium'] self::$engines['libsodium'] getContext getEngine getLength getSignatureFormat onLoad $q $x $QA $context $curve $curveName $format $q $x $curve $this->curve instanceof Ed25519 && self::$engines['libsodium'] && !isset($this->context) is_string($context) $decoded encodePoint extractSecret withSignatureFormat $new->dA $new->secret $privatekey->curveName $namedCurves $this->convertToAffine($r) int[] object $factory $order $one $one $points[0] $points[1] $r $r[0] $scalars[0] $scalars[1] $zero $r $r[$d_i] $r[1 - $d_i] $temp[] array integer integer object object negate $alreadyInternal ? $r[0] : $this->convertToAffine($r[0]) $this->factory->getLength() $this->factory->getLengthInBytes() $this->factory->newInteger($x) $this->factory->randomInteger() $p $p $temp object[] object[] object[] $p[0] $p[1] $points[0] $points[1] $r[0] $r[0] $r[0] $r[1] $scalars[0] $scalars[1] createRandomMultiplier randomInteger setReduction isset($this->order) $this->factory $this->factory $this->factory $this->factory $this->factory Integer addPoint addPoint doublePoint $this->p array $this->a $this->b $a $b $factory $modulo $one $order $p $m $lhs $lhs $rhs $this->a $this->b $x2 $x3 $z $z $z2 FiniteField[] FiniteField[] boolean add add add divide equals multiply multiply multiply multiply multiply multiply multiply multiply multiply newInteger newInteger newInteger newInteger $lhs->equals($rhs) $p $p $p Integer[] Integer[] Integer Integer $factory pack('H*', $a) pack('H*', $b) pack('H*', $x) pack('H*', $y) addPoint derivePoint doublePoint verifyPoint isset($this->factory) isset($this->factory) isset($this->factory) FiniteField[] FiniteField[] $lambdas[0] $this->p $this->p[0] static::extendedGCD($lambda->toBigInteger(), $this->order) BigInteger[] $p $basis $beta $basis['a']->toHex(true) $basis['b']->toHex(true) $k $one $one $one $p $p['naf'] $rhs $two $two $p['naf'] $p['nafwidth'] $p[0] $p[0] $p[1] $p[1] $a2 $b2 $beta['nafwidth'] $inv $k $lhs $lhs $npoints[$pos] $nscalars[$pos] $nscalars[$pos] $p $rhs $rhs $rhs $s $temp $this->beta FiniteField[] FiniteField[] FiniteField[] boolean add add add compare divide equals equals multiply multiply multiply multiply multiply multiply multiply multiply multiply negate negate negate squareRoot subtract toBigInteger toHex toHex $lhs->equals($rhs) multiply $this->multiplyPoint($this->p, $lambdas[0])[0] $a0 $a0 $b0 $b0 isset($this->basis) isset($this->beta) $this->factory $this->factory FiniteField[] FiniteField[] FiniteField[] $basis $basis $this->p PrimeInteger[] array [clone $this->zero, clone $this->one] $a $a24 $factory $modulo $one $order $p $zero $x $x $x $z FiniteField[][] divide $p $p $p PrimeInteger[] PrimeInteger[] [$x->divide($z)] $factory $p[0] setBasePoint setCoefficients $a24 $modulo isset($this->factory) isset($this->factory) isset($this->factory) FiniteField[][] $x $jsf[0] $jsf[0][$j] $jsf[1][$j] new PrimeField($modulo) $jsf $this->convertToAffine($acc) $this->p array int[] int[] $this->a $this->b $a $a $b $b $eight $eight $factory $factory $four $four $modulo $modulo $one $one $order $order $p $p $three $three $two $two $m $m $naf[$a] $naf[$b] $p $point $points[$a] $points[$a] $points[$b] $points[$b] $points[$i] $points[0] $scalars[$a] $scalars[$b] $wnd[$j][(-$z - 1) >> 1] $points[$i]['nafwidth'] $points[0]['nafwidth'] $wnd[$j][($z - 1) >> 1] $b $bn $jsf[0][] $jsf[1][] $k1 $k1 $k2 $k2 $lhs $m14 $m14 $m14 $m24 $m24 $m24 $m8 $m8 $m8 $m8 $m8 $m8 $naf[$a] $naf[$b] $p $point $rhs $temp $temp $temp $temp $temp $temp[$j] $this->a $this->b $u1 $u2 $wndWidth[] $yp $z $z $z $z2 FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] boolean list<array> add add add add bitwise_rightShift bitwise_rightShift compare compare divide equals getNAF getNAF isOdd multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply negate newInteger newInteger newInteger newInteger squareRoot testBit testBit testBit testBit testBit testBit testBit testBit testBit testBit $k1->testBit(0) $k1->testBit(0) $k1->testBit(1) $k1->testBit(1) $k1->testBit(2) $k2->testBit(0) $k2->testBit(0) $k2->testBit(1) $k2->testBit(1) $k2->testBit(2) $m14 $m14 $m14 $m24 $m24 $m24 $m8 $m8 $m8 $m8 $u1 $u2 $z $lhs->equals($rhs) $point['naf'] $p $p $p PrimeInteger[] PrimeInteger[] PrimeInteger PrimeInteger $factory $dbl $jsf[0] $points[0] derivePoint doublePointHelper jacobianAddPoint jacobianAddPointMixedX jacobianAddPointMixedXY jacobianDoublePoint jacobianDoublePointMixed verifyPoint $p $p $q $eight $four isset($this->factory) isset($this->factory) isset($this->factory) $this->factory $this->factory $this->factory $this->factory FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] FiniteField[] PrimeFields toBigInteger toBigInteger $p new PrimeField($modulo) $this->a $this->d $a $d $modulo $one $p $two $zero $x $y $lhs $rhs $this->a $this->d $x2 $y2 $z $z boolean add add divide equals multiply multiply multiply multiply multiply multiply multiply $lhs->equals($rhs) $p PrimeInteger[] PrimeInteger PrimeInteger getA getD isset($this->factory) isset($this->factory) isset($this->factory) $this->factory $this->factory $this->factory $this->factory [$this->factory->newInteger(new BigInteger(9))] newInteger newInteger Curve25519 Curve25519 Curve25519 Curve25519 Curve25519 Curve25519 $this->factory $this->factory [$this->factory->newInteger(new BigInteger(5))] newInteger newInteger Curve448 Curve448 Curve448 Curve448 Curve448 Curve448 $this->factory $this->factory clone $this->zero $y $y[0] $y[0] $y[0] $temp $u $v $x $x $x $x2 $y $y $y2 $y[0] $y[0] BigInteger FiniteField[] FiniteField[] Integer[] add divide equals equals equals isOdd isOdd multiply multiply multiply multiply multiply negate pow pow subtract subtract subtract toBytes $y[0] $y[0] $this->extractSecret(Random::string(32))['dA'] [$x, $y] object[] $this->extractSecret(Random::string(32))['dA'] addPoint doublePoint recoverX Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 $this->factory FiniteField[] FiniteField[] Integer[] clone $this->zero [clone $this->zero, clone $this->one, clone $this->one] $u $v $x $x $x2 $y $y2 BigInteger FiniteField[] FiniteField[] divide equals equals isOdd isOdd multiply multiply multiply negate pow subtract subtract subtract toBytes $y->toBytes() $this->extractSecret(Random::string(57))['dA'] $p $p Integer[] [$x, $y] object[] $this->extractSecret(Random::string(57))['dA'] addPoint doublePoint encodePoint recoverX Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 $this->factory FiniteField[] FiniteField[] brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 nistb233 nistb409 nistk163 nistk233 nistk283 nistk409 nistp192 nistp224 nistp256 nistp384 nistp521 nistt571 prime192v1 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime256v1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 $this->beta newInteger secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 $this->factory $this->factory secp160k1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 $this->beta newInteger secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 $this->factory $this->factory secp192k1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 $this->beta newInteger secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 $this->factory $this->factory secp224k1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 $this->beta newInteger __construct secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 $this->factory $this->factory secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571r1 sect571r1 sect571r1 sect571r1 sect571r1 sect571r1 sect571r1 sect571r1 $class $point $point string|false new $class() $curve->getModulo() $data['curve']['a'] $data['curve']['a'] $data['curve']['b'] $data['curve']['b'] $data['fieldID']['parameters'] $data['fieldID']['parameters'] $data['order'] $data['order'] $m $modulo[0] $modulo[0] $modulo[1] $modulo[2] $params['parameters'] $params[0] $point $temp[0] $curveX $curveX $curveY $curveY $data['base'] $data['base'] $data['curve'] $data['curve'] $data['curve'] $data['curve'] $data['fieldID'] $data['fieldID'] $data['fieldID'] $data['fieldID'] $data['order'] $data['order'] $point[0] $point[1] $data $m $point $point $useNamedCurves $x $y [$curveX, $curveY] [$curveX, $curveY] BaseCurve|false object[] new $curve() toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toString toString toString toString toString $data['base'] $data['base'] $data['fieldID']['fieldType'] $params['namedCurve'] $params['namedCurve'] $x $x $y $y $params['basis'] $params['m'] $params['parameters'] $params['parameters'] $temp['k1'] $temp['k2'] $temp['k3'] $params['basis'] $params['m'] $params['parameters'] $params['parameters'] $temp['k1'] $temp['k2'] $temp['k3'] $m $params['parameters'] $params[0] $temp[0] $params['basis'] $params['m'] $params['parameters'] $params['parameters'] $params[0] $temp['k1'] $temp['k2'] $temp['k3'] $temp[0] $params $params $params $params $temp $temp $temp toString toString toString toString toString $modulo[0] $modulo[0] $modulo[1] $modulo[2] $params[0] $temp[0] $params['basis'] $params['m'] $params['parameters'] $params['parameters'] $temp['k1'] $temp['k2'] $temp['k3'] setImplicitCurve !$order $order $params $params $params $params $temp $temp $temp derivePoint getA getA getB getB getBasePoint getBasePoint getBasePoint getModulo getModulo recoverX verifyPoint self::$implicitCurve self::$implicitCurve $len new $curve() $curve->encodePoint($publicKey) $key->crv $key->d $key->d $key->x $key->x $key->y $publicKey[0]->toBytes() $publicKey[1]->toBytes() $arr array convertInteger convertInteger rangeCheck verifyPoint $arr $key->crv $key->crv compact('curve', 'QA') + $arr $key['d'] $publicKey[0] $publicKey[1] encodePoint extractSecret toBytes toBytes JWK $publicKey[0]->toBytes() $publicKey[0] !empty($password) && is_string($password) is_string($password) toBytes MontgomeryPrivate $publicKey[0]->toBytes() $publicKey[0] toBytes MontgomeryPublic $curve $privateKey new $curveName() string|false $key $paddedKey $parsed['publicKey'] $parsed['publicKey'] $parsed['publicKey'] $privateKey $comment $key['comment'] $oid $paddedKey string $comment $comment $curveName $publicKey $alias rangeCheck $password $password $publicKey[0] $publicKey[0] $publicKey[1] $publicKey[1] $parsed['comment'] $parsed['publicKey'] $parsed['publicKey'] $parsed['publicKey'] $parsed['type'] $parsed['type'] $parsed[type] savePrivateKey $curve instanceof Ed25519 toBytes toBytes toBytes toBytes $components['curve']->getBasePoint() $components['curve']->getBasePoint() $decoded[0] $decoded[0] $decoded[0] $decoded[0] $ecPrivate['parameters'] $ecPrivate['privateKey'] $ecPrivate['publicKey'] $ecPrivate['publicKey'] $key['parameters'] $key['privateKey'] $components['curve'] $components['curve'] $ecParams $key self::encodeParameters($curve) getBasePoint multiplyPoint rangeCheck $decoded $decoded $key $password $decoded[0] $decoded[0] $decoded[0] $matches[0] $matches[0] $publicKey[0] $publicKey[1] $ecPrivate['privateKey'] $key['privateKey'] saveParameters savePrivateKey getBasePoint getBasePoint toBytes toBytes $ecPrivate $components['curve']->getBasePoint() $components['dA'] $curve->encodePoint($publicKey) $decoded[0] $decoded[0] $key[$type . 'Algorithm']['parameters']->element $key['privateKey'] $key['privateKey'] $key['privateKey'] $key['privateKey'] $key['publicKey'] $key['publicKey'] $key[$type . 'Algorithm']['algorithm'] $key[$type . 'Algorithm']['parameters'] $key['privateKeyAlgorithm']['algorithm'] $key['publicKeyAlgorithm']['algorithm'] $components['dA'] $components['secret'] $key['publicKey'] $key[$type . 'Algorithm']['parameters']->element $components['curve'] self::encodeParameters($curve, false, $options) self::encodeParameters($curve, false, $options) rangeCheck $params $key['privateKey'] $key['privateKey'] $key['privateKey'] $password $password $key['privateKey'] $secret $key $components['curve'] $components['dA'] $decoded[0] $decoded[0] $publicKey[0] $publicKey[0] $publicKey[1] $publicKey[1] $arr['dA'] $arr['secret'] $key[$type . 'Algorithm'] $key[$type . 'Algorithm'] $key['privateKey'] $key['privateKey'] $key['privateKeyAlgorithm'] $key['publicKey'] $key['publicKeyAlgorithm'] savePrivateKey savePublicKey $key $key $key encodePoint getBasePoint toBytes toBytes toBytes toBytes $publicKey $components['type'] $length $length $private $private $private $arr['dA'] $arr['secret'] $arr $components['dA'] $components['secret'] $private rangeCheck $components['comment'] $components['public'] $components['type'] $length $length $password $secret $public[1] $public[1] $components['comment'] $components['curve'] $components['public'] $components['type'] $private savePrivateKey savePublicKey $types extractSecret $key $point $xml $result['namedCurve'] $result['specifiedCurve'] $result['specifiedCurve'] $result['namedCurve'] $result['specifiedCurve'] $result['specifiedCurve'] \DOMNodeList|string $publicKey[0] $publicKey[1] new $curve() BaseCurve|false string|false isolateNamespace $key $key $oid $p $p $temp['base'] $temp['curve']['a'] $temp['curve']['b'] $temp['fieldID']['parameters']->toBytes() $temp['order'] $x->item(0)->getAttribute('Value') $y->item(0)->getAttribute('Value') $temp['base'] $temp['curve'] $temp['curve'] $temp['fieldID'] $temp['fieldID'] $temp['fieldID'] $temp['fieldID'] $temp['fieldID'] $temp['fieldID'] $temp['order'] $x $y self::$curveOIDs[$result['namedCurve']] $a $b $key $key $oid $temp $temp $temp $temp [$x, $y] new $curve() toBytes $a $b $temp['fieldID']['fieldType'] $temp['fieldID']['fieldType'] $temp['fieldID']['parameters'] $x $y self::$curveOIDs[$result['namedCurve']] BaseCurve|false $decode ? self::decodeValue($result->item(0)->textContent) : $result->item(0)->textContent $curve $curve self::encodeXMLParameters($curve, $pre, $options) self::encodeXMLParameters($curve, $pre, $options) $a $a $b $b $order $order $x $y item item item item item item item $base $pubkey $namedCurve->length $params->length $params->length $result->length $result->length $x->length $y->length self::query($xpath, 'ecdsakeyvalue')->length $result->item(0)->textContent $result->item(0)->textContent $oid $result->item(0)->textContent $result->item(0)->textContent $result->item(0)->textContent $result->item(0)->textContent getAttribute getAttribute getAttribute hasAttribute hasAttribute lookupPrefix $publicKey[0] $publicKey[0] $publicKey[1] $publicKey[1] disableRFC4050Syntax load savePublicKey setNamespace getA getAttribute getAttribute getAttribute getB getBasePoint hasAttribute hasAttribute removeAttributeNS toBytes toBytes verifyPoint $p $p $curve->multiplyPoint($curve->getBasePoint(), $components['dA']) $components['dA'] $private $components['dA'] $components['secret'] $components['dA'] $arr['dA'] $arr['secret'] savePrivateKey savePublicKey $password !empty($password) && is_string($password) is_string($password) isset($public) false false $components array $decoded[0] $components $decoded[0] is_string($sig) Raw false $r $s string load $blob $result[0] $result[1] $result === false $result === false is_string($sig) SSH2 $type string $type::saveParameters($this->curve, $options) $type::saveParameters($this->curve, $options) Parameters Parameters Parameters Parameters Parameters Parameters $dA $this->dA $this->dA $format === false $format::save($r, $s) $format::save($r, $s, $this->getCurve()) getPublicKey sign $curve::HASH $curve::SIZE $curve::SIZE $dA->multiply($r) $key $point[0]->toBytes(true) $this->curve->getBasePoint() $this->dA->toBytes() $r $A $R $key $key $key $type $type $x [, $r] string string $format::save($r, $s) $format::save($r, $s, $this->getCurve()) $type::savePrivateKey($this->dA, $this->curve, $this->QA, $this->secret, $this->password, $options) $type::savePublicKey($this->curve, $this->QA) divide equals multiply toBigInteger toBytes toBytes toBytes toBytes withContext $A $R $R $R $point[0]->toBytes(true) $point[1]->toBytes(true) $this->curve->encodePoint($point) $type::savePrivateKey($this->dA, $this->curve, $this->QA, $this->secret, $this->password, $options) $this->getCurve() $this->getCurve() $point[0] $point[0] $point[1] self::$engines['OpenSSL'] self::$engines['libsodium'] self::$engines['libsodium'] $r $r $s $s $dA $secret PrivateKey PrivateKey PrivateKey PrivateKey PrivateKey PrivateKey !isset($this->context) $this->context $this->curve instanceof Ed25519 && self::$engines['libsodium'] && !isset($this->context) '' 'SigEd25519 no Ed25519 collisions' . "\0" . chr(strlen($this->context)) . $this->context $curve::HASH $curve::SIZE $curve::SIZE encodePoint encodePoint encodePoint getBasePoint withSignatureFormat $y $format === false toBigInteger $format::load($signature) $Ln $curve::HASH $curve::SIZE $curve::SIZE $curve::SIZE $message $message $order $params $params $r $rhs $s $sig $signature $signature $u2 $w $u2 $x1 $A $Ln $n_1 $params $rhs $sig $type $w $x1 [, $u2] [, $x1] bool string $type::savePublicKey($this->curve, $this->QA, $options) between between divide divide equals equals equals getLength modInverse multiply subtract $A $curve::SIZE $order->getLength() $type::savePublicKey($this->curve, $this->QA, $options) $x1->equals($r) $lhs[0] $lhs[1] $rhs[0] $rhs[1] self::$engines['libsodium'] PublicKey PublicKey PublicKey PublicKey PublicKey PublicKey !isset($this->context) $this->context $this->curve instanceof Ed25519 && self::$engines['libsodium'] && !isset($this->context) '' 'SigEd25519 no Ed25519 collisions' . "\0" . chr(strlen($this->context)) . $this->context $curve::HASH $curve::SIZE $curve::SIZE $curve::SIZE $curve::SIZE addPoint encodePoint getBasePoint !is_string($this->key) $this->key === false hash($algo, $text, true) is_array($algo) is_array($this->algo) is_string($this->key) is_string($this->nonce) $initial[$i] $k[$i] $matches[2] string string $hash = strtolower($hash) $this->hashParam string $x function ($x) { $length $factory128 $factory36 $factory64 $marker128 $marker64 $maxwordrange128 $maxwordrange64 $offset128 $offset64 $algo($temp, ...array_values($this->parameters)) $algo($text, ...array_values($this->parameters)) $b $index $length $m $output $parity[0] $parity[1] $parity[2] $parity[3] $parity[4] $pi $pi $rotationOffsets[$j][$i] $rotationOffsets[$j][$i] $s[$j][$i] $s[$j][$i] $x $y->toBytes() self::$maxwordrange128 self::$maxwordrange64 self::$maxwordrange64 unpack('C', $index)[1] * $taglen $k[$i] $rotationOffsets[$j] $rotationOffsets[$j] $roundConstants[$round] $roundConstants[$round] $roundConstants[$round] $s[$i][$j++] $s[$i][$j++] $s[$i][$j] $s[$i][$j] $s[$i][$j] $s[$i][$j][1] $s[$j][$i] $s[$j][$i] $s[$x][$y++] $s[$x][$y] $s[$x][$y][1] $s[0][$i] $s[0][$i] $s[0][$i] $s[0][0] $s[0][0] $s[0][0][1] $s[1][$i] $s[1][$i] $s[1][$i] $s[2][$i] $s[2][$i] $s[2][$i] $s[3][$i] $s[3][$i] $s[3][$i] $s[4][$i] $s[4][$i] $s[4][$i] $st[$i][0] $st[$i][0] $st[$i][0][1] $st[$i][1] $st[$i][1] $st[$i][1][1] $st[$i][2] $st[$i][2] $st[$i][2][1] $st[$i][3] $st[$i][3] $st[$i][3][1] $st[$i][4] $st[$i][4] $st[$i][4][1] $s[$i][$j] $s[$i][$j] $s[$i][$j] $s[$i][0] $s[$i][1] $s[$i][2] $s[$i][3] $s[$i][4] $s[$x][$y++] $s[$x][$y] $s[$x][$y] $s[0][0] $s[0][0] $s[0][0] $st[(2 * $i + 3 * $j) % 5][$j] $st[(2 * $i + 3 * $j) % 5][$j] $a $a $b $b $c $c $ch $d $d $e $e $f $f $factory $factory $factory $g $g $h $h $k $k_i $m $m $m_i $maj $maj $marker $marker $offset $offset $output $parity[] $pi $pi $s0 $s0 $s1 $s1 $s[$i][$j] $s[$i][$j][0] $s[$i][$j][1] $s[$x][$y++] $s[$x][$y][0] $s[$x][$y][1] $s[0][0] $s[0][0][0] $s[0][0][1] $subpi $t1 $t1 $t1 $t1 $t2 $this->computedKey $y $y $y $y $y $y clone $a clone $b clone $c clone $e clone $f clone $g clone $hash[0] clone $hash[1] clone $hash[2] clone $hash[3] clone $hash[4] clone $hash[5] clone $hash[6] clone $hash[7] $algo($output, ...array_values($this->parameters)) $algo($temp, ...array_values($this->parameters)) $algo($text, ...array_values($this->parameters)) call_user_func($this->algo, $this->key) string add add add add add add add add add add add add add add add add add add add bitwise_and bitwise_and bitwise_and bitwise_and bitwise_and bitwise_not bitwise_rightRotate bitwise_rightRotate bitwise_rightRotate bitwise_rightRotate bitwise_rightRotate bitwise_rightRotate bitwise_xor bitwise_xor bitwise_xor bitwise_xor bitwise_xor bitwise_xor bitwise_xor compare multiply multiply multiply multiply newInteger newInteger newInteger newInteger newInteger newInteger subtract toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes $hash[0]->toBytes() $hash[2]->toBytes() $hash[3]->toBytes() $hash[4]->toBytes() $hash[5]->toBytes() $hash[6]->toBytes() $hash[7]->toBytes() $hi $hi $lo $lo $parity[0] $parity[0][0] $parity[0][1] $parity[1] $parity[1][0] $parity[1][1] $parity[2] $parity[2][0] $parity[2][1] $parity[3] $parity[3][0] $parity[3][1] $parity[4] $parity[4][0] $parity[4][1] $s[$i][$j] $s[$i][$j][0] $s[$i][$j][1] $s[$x][$y++] $s[$x][$y][0] $s[$x][$y][1] $s[0][$i] $s[0][$i][0] $s[0][$i][1] $s[0][0] $s[0][0][0] $s[0][0][1] $st[$i][0] $st[$i][0][0] $st[$i][0][1] $st[$i][1] $st[$i][1][0] $st[$i][1][1] $st[$i][2] $st[$i][2][0] $st[$i][2][1] $st[$i][3] $st[$i][3][0] $st[$i][3][1] $st[$i][4] $st[$i][4][0] $st[$i][4][1] unpack('C', $index)[1] ~$st[$i][0] ~$st[$i][0][0] ~$st[$i][0][1] ~$st[$i][1] ~$st[$i][1][0] ~$st[$i][1][1] ~$st[$i][2] ~$st[$i][2][0] ~$st[$i][2][1] ~$st[$i][3] ~$st[$i][3][0] ~$st[$i][3][1] ~$st[$i][4] ~$st[$i][4][0] ~$st[$i][4][1] $y->toBytes() $m[$i] $m[$i] $m[$i] $m[$i] $m[$i] ?? '' pack('N4', 0, $index, 0, 1) $m_i $p $p $pi pack('N4', 0, 0, 0, $length << 3) pack('P', $s[$i][$j++]) pack('V2', $s[$i][$j][1], $s[$i][$j++][0]) false false false false $pi[$i + 1] $pi[$i] unpack('C', $index)[1] ~$st[$i][0] ~$st[$i][1] ~$st[$i][2] ~$st[$i][3] ~$st[$i][4] $hash $matches[2] >> 3 $hash[0] $hash[0] $hash[1] $hash[1] $hash[2] $hash[2] $hash[3] $hash[3] $hash[4] $hash[4] $hash[5] $hash[5] $hash[6] $hash[6] $hash[7] $hash[7] $matches[1] $matches[2] $parity[1] $parity[1] $parity[2] $parity[2] $parity[3] $parity[3] $parity[4] $parity[4] $rotated[0][0] $rotated[0][1] $rotated[1] $rotated[1][1] $rotated[2] $rotated[2][1] $rotated[3] $rotated[3][1] $rotated[4] $rotated[4][1] $s[0] $s[0] $s[1] $s[1] $s[2] $s[2] $s[3] $s[3] $s[4] $s[4] $st[$i][0] $st[$i][0] $st[$i][0][1] $st[$i][1] $st[$i][1] $st[$i][1][1] $st[$i][2] $st[$i][2] $st[$i][2][1] $st[$i][3] $st[$i][3] $st[$i][3][1] $st[$i][4] $st[$i][4] $st[$i][4][1] unpack('C', $index)[1] $index $algo $blockSize $c $hashParam $ipad $length $opad $pad $recomputeAESKey hash($this->algo, $this->key, true) is_string($this->key) $b sha3_32 sha3_64 sha512 $c $c $k $n $n $num_ints $key AsymmetricKey $key loadParameters loadPublicKey pack('vvvv', $r0, $r1, $r2, $r3) pack('vvvv', $r0, $r1, $r2, $r3) string string $length >> 3 $l $keys[$r0 & 0x3F] $keys[$r0 & 0x3F] $keys[$r1 & 0x3F] $keys[$r1 & 0x3F] $keys[$r2 & 0x3F] $keys[$r2 & 0x3F] $keys[$r3 & 0x3F] $keys[$r3 & 0x3F] $pitable[$l[$i + 1] ^ $l[$i + $t8]] $pitable[$l[$i - 1] + $l[$i - $t]] $pitable[$l[$i] & $tm] self::$invpitable[$l[0]] self::$pitable[$l['a']] $l[$i] $l[$i] $l[$i] $l[0] $r0 $r0 $r0 $r0 $r0 $r0 $r1 $r1 $r1 $r1 $r1 $r1 $r2 $r2 $r2 $r2 $r2 $r2 $r3 $r3 $r3 $r3 $r3 $r3 $keys[$j++] $keys[$j++] $keys[$j++] $keys[$j++] $keys[--$j] $keys[--$j] $keys[--$j] $keys[--$j] $l[$i + 1] $l[$i - 1] $l[$i] $l['b'] $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r0 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r1 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r2 $r3 $r3 $r3 $r3 $r3 $r3 $r3 $r3 $r3 $r3 $r3 $r3 ($r0 + $keys[$j++] + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF ($r0 ^ $r1) & $r2 ($r0 ^ $r1) & $r2 ($r1 + $keys[$j++] + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF ($r1 ^ $r2) & $r3 ($r1 ^ $r2) & $r3 ($r2 + $keys[$j++] + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF ($r2 ^ $r3) & $r0 ($r2 ^ $r3) & $r0 ($r3 + $keys[$j++] + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF ($r3 ^ $r0) & $r1 ($r3 ^ $r0) & $r1 self::$pitable[$l['a']] $l $this->key unpack('C*', $key) unpack('v*', $in) unpack('v*', $in) pack(...$l) $l['a'] $l['b'] $this->openssl_translate_mode() $l[0] $l['a'] $l['b'] setupInlineCrypt $key_length $current_key_length $key $keys $orig_key RC2 RC2 RC2 RC2 RC2 RC2 RC2 RC2 RC2 isset($this->key) $limit === 0 $limit === 0 $limit === 0 $limit === 0 $limit === 64 $limit === 64 $limit === 64 $limit === 64 $keyStream[($ksj + $ksi) & 255] $keyStream[$i] $keyStream[$j] $keyStream[($ksj + $ksi) & 255] $stream[0] $stream[0] $stream[1] $stream[1] $stream[2] $stream[2] $keyStream[$i] $keyStream[$j] $keyStream[$i] $keyStream[$i] $keyStream[$j] $keyStream[$j] $keyStream[($ksj + $ksi) & 255] $i $i $i $j $j $j $keyStream $keyStream $keyStream[$i] $keyStream[$j] $ksi $ksj $stream $i $j $ksj $key_length $key $stream RC4 RC4 RC4 RC4 RC4 RC4 RC4 RC4 RC4 RSA::load($privatekeystr) $bits $components['MGFHash'] $components['hash'] $components['saltLength'] $e $lcm['bottom'] $n $primes[$i] $primes[$i] $primes[1] $regSize $temp $temp self::$one self::$one $lcm['bottom'] $lcm['bottom'] $lcm['top'] $lcm['top'] $primes[$i] $primes[1] $primes[2] $temp $coefficients[$i] $coefficients[2] $exponents[$i] $lcm['bottom'] $lcm['top'] $primes[$i] $primes[$i] $coefficients[$i] $exponents[$i] $primes[$i] $primes[$i] $primes[$i] $primes[$i] $coefficients[2] $i $i $key->coefficients $key->exponent $key->exponent $key->exponents $key->k $key->modulus $key->primes $key->privateExponent $key->publicExponent $lcm['bottom'] $lcm['top'] $prime $privatekey->coefficients $privatekey->exponents $privatekey->k $privatekey->primes $temp $temp [$temp] divide gcd getLengthInBytes modInverse multiply subtract subtract $bits $i $t PrivateKey $primes[$i] $primes[$i] $primes[1] $rsa $c gcd modInverse subtract $primes[1] $primes[2] $components['coefficients'] $components['exponents'] $components['format'] $components['isPublicKey'] $components['modulus'] $components['primes'] $components['publicExponent'] self::$engines['OpenSSL'] self::$engines['OpenSSL'] $t disableBlinding enableBlinding getEngine getLabel getMGFHash onLoad setExponent setOpenSSLConfigPath $exponent $k $modulus $publicExponent RSA !isset($this->modulus) $this->modulus->getLength() $key->coefficients $key->exponents $key->primes $key->privateExponent $i0 $coefficients[2]->toBytes() $exponents[1]->toBytes() $exponents[2]->toBytes() $key->$var $primes[1]->toBytes() $primes[2]->toBytes() $components['coefficients'] $components['exponents'] $components['exponents'] $components['primes'] $components['primes'] $components['coefficients'] $components['exponents'] $components['exponents'] $components['modulus'] $components['primes'] $components['primes'] $components['privateExponent'] $components['publicExponent'] array toBytes toBytes toBytes toBytes toBytes $components $components $components + ['isPublicKey' => false] $components + ['isPublicKey' => true] $coefficients[2] $exponents[1] $exponents[2] $primes[1] $primes[2] $components $components $components $components $components $components $components $components JWK $coefficients[2]->toBytes() $exponents[1]->toBytes() $exponents[2]->toBytes() $key $key $primes[1]->toBytes() $primes[2]->toBytes() $components['isPublicKey'] $components['privateExponent'] $components[$components['isPublicKey'] ? 'publicExponent' : 'privateExponent'] $components['coefficients'] $components['exponents'] $components['exponents'] $components['isPublicKey'] $components['isPublicKey'] $components['modulus'] $components['primes'] $components['primes'] $components['privateExponent'] $components['publicExponent'] $components['publicExponent'] array toBytes toBytes toBytes toBytes toBytes $components $components unpack('Vmagic/Vbitlen/a4pubexp', Strings::shift($key, 12)) unpack('atype/aversion/vreserved/Valgo', Strings::shift($key, 8)) $key $key pack('VVa*', self::RSA1, 8 * strlen($n), $e) pack('VVa*', self::RSA2, 8 * strlen($n), $e) $bitlen / 16 $bitlen / 16 $bitlen / 16 $bitlen / 16 $bitlen / 16 $bitlen / 8 $bitlen / 8 $coefficients[2] $exponents[1] $exponents[2] $primes[1] $primes[2] !empty($password) && is_string($password) is_string($password) is_string($key) MSBLOB $d $e $e $n $n $coefficients[2] $parsed['paddedKey'] $parsed['paddedKey'] $parsed['publicKey'] $primes[1] $primes[2] $comment $exponents[] $temp $temp modInverse modInverse subtract subtract $comment $password $coefficients[2] $primes[1] $primes[2] $parsed['comment'] $parsed['publicKey'] $parsed['type'] $parsed[type] savePrivateKey $types string|false string|false $decoded[0] $decoded[0] $primeInfo['coefficient'] $primeInfo['exponent'] $primeInfo['prime'] $components['coefficients'][] $components['exponents'][] $components['primes'][] $components['coefficients'][] $components['exponents'][] $components['primes'][] $primeInfo $password $key $password $coefficients[2] $decoded[0] $exponents[1] $exponents[2] $primes[1] $primes[2] $key['coefficient'] $key['exponent1'] $key['exponent2'] $key['modulus'] $key['otherPrimeInfos'] $key['prime1'] $key['prime2'] $key['privateExponent'] $key['publicExponent'] $key['version'] $key[$type . 'Key'] $result['meta'] $password savePrivateKey $options $childOIDsLoaded $params['hashAlgorithm'] $params['maskGenAlgorithm'] new ASN1\Element(ASN1::encodeDER($params, Maps\RSASSA_PSS_params::MAP)) string $decoded[0] $decoded[0] $key[$type . 'Key'] $key[$type . 'KeyAlgorithm']['parameters'] $options['saltLength'] $params['hashAlgorithm']['algorithm'] $params['maskGenAlgorithm']['parameters'] $params['maskGenAlgorithm']['parameters']['algorithm'] $key[$type . 'KeyAlgorithm']['parameters'] $params['hashAlgorithm']['algorithm'] $params['maskGenAlgorithm']['parameters'] $params['hashAlgorithm']['algorithm'] $result['meta'] toString $options['MGFHash'] $options['hash'] $params['hashAlgorithm'] $params['maskGenAlgorithm'] $params['hashAlgorithm'] $params['maskGenAlgorithm'] $params['hashAlgorithm'] $params['maskGenAlgorithm'] toString $decoded[0] $decoded[0] $params['hashAlgorithm']['algorithm'] $params['maskGenAlgorithm']['parameters']['algorithm'] $password $decoded[0] $decoded[0] $params['hashAlgorithm'] $params['maskGenAlgorithm'] $params['hashAlgorithm'] $params $params $params $params $decoded[0] $decoded[0] toString $key[$type . 'Key'] $key[$type . 'KeyAlgorithm'] $params['hashAlgorithm'] $params['maskGenAlgorithm'] savePrivateKey savePublicKey $childOIDsLoaded $decoded === false $decoded === false $params $params $params $params $params $params $params $d $e $e $n $n $coefficients[2] $primes[1] $primes[2] $components['public'] $exponents[] $temp $temp modInverse modInverse subtract subtract $private $public $password $coefficients[2] $primes[1] $primes[2] savePrivateKey savePublicKey $types $result === false $result === false fn ($var) => clone $var fn ($var) => clone $var fn ($var) => clone $var $components['primes'][1] $components['primes'][1] $components['primes'][2] $components['primes'][2] $components['coefficients'] $components['exponents'] $components['modulus'] $components['primes'] $components['privateExponent'] $components['publicExponent'] $exponents[] $temp $temp clone $var clone $var clone $var modInverse modInverse modInverse subtract subtract !empty($password) && is_string($password) is_string($password) Raw $key $coefficients[2]->toBytes() $exponents[1]->toBytes() $exponents[2]->toBytes() $primes[1]->toBytes() $primes[2]->toBytes() toBytes toBytes toBytes toBytes toBytes $temp->item(0)->nodeValue $temp->item(0)->nodeValue $coefficients[2] $exponents[1] $exponents[2] $primes[1] $primes[2] !empty($password) && is_string($password) is_string($password) XML empty($this->publicExponent) !$hashesMatch $m[$i] === "\0" $m[$i] === "\1" $this->rsassa_pkcs1_v1_5_sign($message) $this->rsassa_pss_sign($message) string $key $r $r->multiply($h) $smallest->subtract(self::$one) $this->coefficients[$i] $this->coefficients[$i] $this->coefficients[2] $this->coefficients[2] $this->exponents[$i] $this->exponents[$i] $this->exponents[1] $this->exponents[2] $this->primes[$i - 1] $this->primes[$i] $this->primes[$i] $this->primes[$i] $this->primes[$i] $this->primes[$i] $this->primes[$i] $this->primes[$i] $this->primes[1] $this->primes[1] $this->primes[1] $this->primes[2] $this->primes[2] $this->primes[2] $key $r $r $r $smallest $smallest $type $type string $type::savePrivateKey($this->modulus, $this->publicExponent, $this->exponent, $this->primes, $this->exponents, $this->coefficients, $this->password, $options) $type::savePublicKey($this->modulus, $this->exponent, $options) $type::savePublicKey($this->modulus, $this->publicExponent) compare equals equals equals multiply multiply subtract $type::savePrivateKey($this->modulus, $this->publicExponent, $this->exponent, $this->primes, $this->exponents, $this->coefficients, $this->password, $options) $type::savePublicKey($this->modulus, $this->exponent, $options) strpos($em, chr(0), 2) $m $m $s $s $temp $this->coefficients[2] $this->coefficients[2] $this->coefficients[2] $this->exponents[1] $this->exponents[1] $this->exponents[2] $this->primes[1] $this->primes[1] $this->primes[1] $this->primes[2] $this->primes[2] $coefficients $exponents $primes $privateExponent PrivateKey PrivateKey PrivateKey PrivateKey PrivateKey $y false false false false $this->rsassa_pss_verify($message, $signature) hash_equals($h, $h2) bool string $decoded[0] $em2 $hash $decoded['digestAlgorithm']['algorithm'] $decoded[0]['length'] $oids[$decoded['digestAlgorithm']['algorithm']] $em2 $hash $type string $type::savePublicKey($this->modulus, $this->publicExponent, $options) $type::savePublicKey($this->modulus, $this->publicExponent, $options) $c $c $m2 $m2 $m2 $temp $decoded['digest'] $decoded['digestAlgorithm'] $decoded['digest'] $decoded['digestAlgorithm'] $decoded['digest'] $decoded['digestAlgorithm'] $r1 $r2 PublicKey PublicKey PublicKey PublicKey PublicKey $em === false $em === false $em === false $decoded $decoded $decoded $decoded $pkcs15_compat $length 1 $arr $_SESSION['count'] $_SESSION['count'] $_SESSION['count'] $_SESSION['seed'] $_SESSION['count'] $i $r $v encrypt encrypt encrypt $_SESSION['count'] $i $r $r $old_session_id isset($_COOKIE) isset($_GET) isset($_POST) isset($_SERVER) '' '' '' '' $this->oldtag === false $this->oldtag === false pack('N*', ...$temp) pack('N*', ...$temp) string string string 0x000000FF 0x000000FF 0x000000FF 0x000000FF 8 16 24 $col $temp $temp $this->w[$row][$j] $dt0[$dw >> 24 & 0x000000FF] $dt0[$state[$i] >> 24 & 0x000000FF] $dt1[$dw >> 16 & 0x000000FF] $dt1[$state[$j] >> 16 & 0x000000FF] $dt2[$dw >> 8 & 0x000000FF] $dt2[$state[$k] >> 8 & 0x000000FF] $dt3[$dw & 0x000000FF] $dt3[$state[$l] & 0x000000FF] $invtables[0] $invtables[1] $invtables[2] $invtables[3] $invtables[4] $isbox[$word & 0x000000FF] $isbox[$word >> 8 & 0x000000FF] $isbox[$word >> 16 & 0x000000FF] $isbox[$word >> 24 & 0x000000FF] $rcon[$i / $this->Nk] $sbox[$state[$i] & 0x000000FF] $sbox[$state[$i] >> 8 & 0x000000FF] $sbox[$state[$i] >> 16 & 0x000000FF] $sbox[$state[$i] >> 24 & 0x000000FF] $sbox[$word & 0x000000FF] $sbox[$word >> 8 & 0x000000FF] $sbox[$word >> 16 & 0x000000FF] $sbox[$word >> 24 & 0x000000FF] $t0[$state[$i] >> 24 & 0x000000FF] $t1[$state[$j] >> 16 & 0x000000FF] $t2[$state[$k] >> 8 & 0x000000FF] $t3[$state[$l] & 0x000000FF] $tables[0] $tables[1] $tables[2] $tables[3] $tables[4] $dt0[] $dt1[] $dt2[] $t0[] $t1[] $t2[] $dt0[$state[$i] >> 24 & 0x000000FF] $dt1[$state[$j] >> 16 & 0x000000FF] $dt2[$state[$k] >> 8 & 0x000000FF] $dt3[$state[$l] & 0x000000FF] $isbox[$word & 0x000000FF] $isbox[$word >> 8 & 0x000000FF] $isbox[$word >> 16 & 0x000000FF] $isbox[$word >> 24 & 0x000000FF] $sbox[$state[$i] & 0x000000FF] $sbox[$state[$i] >> 8 & 0x000000FF] $sbox[$state[$i] >> 16 & 0x000000FF] $sbox[$state[$i] >> 24 & 0x000000FF] $state[$j] $state[$j] $state[$j] $state[$j] $state[$k] $state[$k] $state[$k] $state[$k] $state[$l] $state[$l] $state[$l] $state[$l] $t0[$state[$i] >> 24 & 0x000000FF] $t1[$state[$j] >> 16 & 0x000000FF] $t2[$state[$k] >> 8 & 0x000000FF] $t3[$state[$l] & 0x000000FF] $dt0 $dt1 $dt2 $dt3 $dw[] $isbox $j $j $j $j $j $j $j $j $k $k $k $k $k $k $k $k $l $l $l $l $l $l $l $l $sbox $state[$i] $state[] $state[] $t0 $t1 $t2 $t3 $temp $temp $temp $temp[$i] $temp[$i] $temp[$i] $temp[$i] $temp[$j] $w[$i] $w[] $wc $word $word $word array array array $Nb + $i - $c[1] $Nb + $i - $c[1] $Nb + $i - $c[2] $Nb + $i - $c[2] $Nb + $i - $c[3] $Nb + $i - $c[3] $c[1] $c[1] $c[1] $c[1] $c[1] $c[1] $c[2] $c[2] $c[2] $c[2] $c[2] $c[2] $c[3] $c[3] $c[3] $c[3] $c[3] $c[3] $dt0[$dw >> 24 & 0x000000FF] $dt0[$state[$i] >> 24 & 0x000000FF] $dw[$i] $dw[$i] $dw[++$wc] $dw[++$wc] $i + $c[1] $i + $c[1] $i + $c[2] $i + $c[2] $i + $c[3] $i + $c[3] $isbox[$word & 0x000000FF] $isbox[$word >> 8 & 0x000000FF] $isbox[$word >> 16 & 0x000000FF] $isbox[$word >> 24 & 0x000000FF] $j $j $j $j $k $k $k $k $l $l $l $l $rcon[$i / $this->Nk] $sbox[$state[$i] & 0x000000FF] $sbox[$state[$i] >> 8 & 0x000000FF] $sbox[$state[$i] >> 16 & 0x000000FF] $sbox[$state[$i] >> 24 & 0x000000FF] $sbox[$word & 0x000000FF] $sbox[$word >> 8 & 0x000000FF] $sbox[$word >> 16 & 0x000000FF] $sbox[$word >> 24 & 0x000000FF] $state[$i] $state[$i] $state[$i] $state[$i] $state[$i] $state[$i] $state[$i] $state[$i] $state[$j] $state[$j] $state[$j] $state[$j] $state[$k] $state[$k] $state[$k] $state[$k] $state[$l] $state[$l] $state[$l] $state[$l] $t0[$state[$i] >> 24 & 0x000000FF] $temp $temp $w[$i - $this->Nk] $w[$i] $w[++$wc] $w[++$wc] $word $word $word $word $word $word ($Nb + $i - $c[1]) % $Nb ($Nb + $i - $c[1]) % $Nb ($Nb + $i - $c[2]) % $Nb ($Nb + $i - $c[2]) % $Nb ($Nb + $i - $c[3]) % $Nb ($Nb + $i - $c[3]) % $Nb ($i + $c[1]) % $Nb ($i + $c[1]) % $Nb ($i + $c[2]) % $Nb ($i + $c[2]) % $Nb ($i + $c[3]) % $Nb ($i + $c[3]) % $Nb ($temp << 8) & intval(0xFFFFFF00) $tables $tables unpack('N*words', $this->key) $words $words false false $this->openssl_translate_mode() $w $c[1] $c[1] $c[1] $c[1] $c[1] $c[1] $c[1] $c[1] $c[2] $c[2] $c[2] $c[2] $c[2] $c[2] $c[2] $c[2] $c[3] $c[3] $c[3] $c[3] $c[3] $c[3] $c[3] $c[3] $invtables[0] $invtables[1] $invtables[2] $invtables[3] $invtables[4] $tables[0] $tables[1] $tables[2] $tables[3] $tables[4] $this->w[0] $this->kl['block_size'] $this->kl['key_length'] $dt0 $dt1 $dt2 $t0 $t1 $t2 setBlockLength setupInlineCrypt $Nr $c $dw $kl $w Rijndael Rijndael Rijndael Rijndael Rijndael Rijndael Rijndael Rijndael Rijndael (int)0xFF000000 (int)0xFF000000 is_string($this->iv) $this->key === false $this->key === false $this->nonce === false $this->nonce === false $this->oldtag === false string salsa20 $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $key $temp $z[10] $z[11] $z[12] $z[13] $z[14] $z[15] $z[16] $z[1] $z[2] $z[3] $z[4] $z[5] $z[6] $z[7] $z[8] $z[9] $block $block $block $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $temp $x[$i] $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $x[$i] static::salsa20($this->p1 . pack('V', $buffer['counter']++) . $this->p2) static::salsa20($this->p1 . pack('V', $buffer['counter']++) . $this->p2) static::salsa20($this->p1 . pack('V', $i++) . $this->p2) $encrypted $this->p1 $this->p1 $this->p1 $this->p1 $this->p2 $this->p2 $this->p2 $this->p2 $this->p2 $this->p2 $this->p2 pack('V', $buffer['counter']) pack('V', $buffer['counter']) pack('V', $buffer['counter']++) pack('V', $buffer['counter']++) pack('V', $buffer['counter']++) pack('V', $i++) pack('V', $this->counter) pack('V', strlen($text)) pack('V', strlen($this->aad)) false false $x[$i] $z[$i] $z[10] $z[11] $z[12] $z[13] $z[14] $z[15] $z[16] $z[1] $z[2] $z[3] $z[4] $z[5] $z[6] $z[7] $z[8] $z[9] $x[$i] $z[10] $z[11] $z[12] $z[13] $z[14] $z[15] $z[16] $z[1] $z[2] $z[3] $z[4] $z[5] $z[6] $z[7] $z[8] $z[9] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $buffer['counter'] $debuffer $enbuffer Salsa20 Salsa20 Salsa20 Salsa20 Salsa20 Salsa20 Salsa20 (int) $x $this->usePoly1305 && !isset($this->poly1305Key) isset($this->poly1305Key) isset($this->poly1305Key) $key 24 string decrypt decrypt decrypt disableContinuousBuffer disableContinuousBuffer disableContinuousBuffer enableContinuousBuffer enableContinuousBuffer enableContinuousBuffer encrypt encrypt encrypt setIV setIV setIV setKey setKey setKey setPreferredEngine setPreferredEngine setPreferredEngine setupKey setupKey setupKey $mode $this->des[0] $this->des[0] $this->des[0] $this->des[0] $this->des[0] $this->des[0] $this->des[0] $this->des[0] $this->des[1] $this->des[1] $this->des[1] $this->des[1] $this->des[1] $this->des[1] $this->des[1] $this->des[1] $this->des[2] $this->des[2] $this->des[2] $this->des[2] $this->des[2] $this->des[2] $this->des[2] $this->des[2] $des $mode_3cbc TripleDES TripleDES TripleDES TripleDES TripleDES TripleDES TripleDES TripleDES TripleDES string string $le_longs[1] $le_longs[1] $le_longs[1] $le_longs[2] $le_longs[2] $le_longs[2] $le_longs[3] $le_longs[3] $le_longs[3] $le_longs[4] $le_longs[4] $le_longs[4] $le_longs[5] $le_longs[5] $le_longs[6] $le_longs[6] $le_longs[7] $le_longs[8] $S0[ $R0 & 0xff] $S0[ $R2 & 0xff] $S0[$R0 & 0xff] $S0[$R1 >> 24 & 0xff] $S0[$R2 & 0xff] $S0[$R3 >> 24 & 0xff] $S0[($R1 >> 24) & 0xff] $S0[($R3 >> 24) & 0xff] $S1[ $R1 & 0xff] $S1[ $R3 & 0xff] $S1[$R0 >> 8 & 0xff] $S1[$R1 & 0xff] $S1[$R2 >> 8 & 0xff] $S1[$R3 & 0xff] $S1[($R0 >> 8) & 0xff] $S1[($R2 >> 8) & 0xff] $S2[$R0 >> 16 & 0xff] $S2[$R1 >> 8 & 0xff] $S2[$R2 >> 16 & 0xff] $S2[$R3 >> 8 & 0xff] $S2[($R0 >> 16) & 0xff] $S2[($R1 >> 8) & 0xff] $S2[($R2 >> 16) & 0xff] $S2[($R3 >> 8) & 0xff] $S3[$R0 >> 24 & 0xff] $S3[$R1 >> 16 & 0xff] $S3[$R2 >> 24 & 0xff] $S3[$R3 >> 16 & 0xff] $S3[($R0 >> 24) & 0xff] $S3[($R1 >> 16) & 0xff] $S3[($R2 >> 24) & 0xff] $S3[($R3 >> 16) & 0xff] $m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$i] ^ $s4] ^ $s0] $m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]] $m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$q1[$i] ^ $s8] ^ $s4] ^ $s0] $m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]] $m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] ^ $s0] $m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]] $m1[$q0[$q1[$i] ^ $key[10]] ^ $key[2]] $m1[$q0[$q1[$i] ^ $s5] ^ $s1] $m1[$q0[$q1[$j] ^ $key[14]] ^ $key[6]] $m1[$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] ^ $key[2]] $m1[$q0[$q1[$q1[$i] ^ $s9] ^ $s5] ^ $s1] $m1[$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] ^ $key[6]] $m1[$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] ^ $key[2]] $m1[$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] ^ $s1] $m1[$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] ^ $key[6]] $m2[$q1[$q0[$i] ^ $key[11]] ^ $key[3]] $m2[$q1[$q0[$i] ^ $s6] ^ $s2] $m2[$q1[$q0[$j] ^ $key[15]] ^ $key[7]] $m2[$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] ^ $key[3]] $m2[$q1[$q0[$q0[$i] ^ $sa] ^ $s6] ^ $s2] $m2[$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] ^ $key[7]] $m2[$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] ^ $key[3]] $m2[$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] ^ $s2] $m2[$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] ^ $key[7]] $m3[$q1[$q1[$i] ^ $key[12]] ^ $key[4]] $m3[$q1[$q1[$i] ^ $s7] ^ $s3] $m3[$q1[$q1[$j] ^ $key[16]] ^ $key[8]] $m3[$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] ^ $key[4]] $m3[$q1[$q1[$q0[$i] ^ $sb] ^ $s7] ^ $s3] $m3[$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] ^ $key[8]] $m3[$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] ^ $key[4]] $m3[$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] ^ $s3] $m3[$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] ^ $key[8]] $q0[$q0[$i] ^ $key[ 9]] $q0[$q0[$i] ^ $key[19]] $q0[$q0[$i] ^ $key[27]] $q0[$q0[$i] ^ $s4] $q0[$q0[$i] ^ $sa] $q0[$q0[$i] ^ $se] $q0[$q0[$j] ^ $key[13]] $q0[$q0[$j] ^ $key[23]] $q0[$q0[$j] ^ $key[31]] $q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] $q0[$q0[$q0[$i] ^ $se] ^ $sa] $q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] $q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] $q0[$q0[$q1[$i] ^ $s8] ^ $s4] $q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] $q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] $q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] $q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] $q0[$q1[$i] ^ $key[10]] $q0[$q1[$i] ^ $key[17]] $q0[$q1[$i] ^ $key[28]] $q0[$q1[$i] ^ $s5] $q0[$q1[$i] ^ $s8] $q0[$q1[$i] ^ $sf] $q0[$q1[$j] ^ $key[14]] $q0[$q1[$j] ^ $key[21]] $q0[$q1[$j] ^ $key[32]] $q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] $q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] $q0[$q1[$q1[$i] ^ $s9] ^ $s5] $q0[$q1[$q1[$i] ^ $sc] ^ $s8] $q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] $q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] $q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] $q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] $q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] $q1[$q0[$i] ^ $key[11]] $q1[$q0[$i] ^ $key[20]] $q1[$q0[$i] ^ $key[26]] $q1[$q0[$i] ^ $s6] $q1[$q0[$i] ^ $sb] $q1[$q0[$i] ^ $sd] $q1[$q0[$j] ^ $key[15]] $q1[$q0[$j] ^ $key[24]] $q1[$q0[$j] ^ $key[30]] $q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] $q1[$q0[$q0[$i] ^ $sa] ^ $s6] $q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] $q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] $q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] $q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] $q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] $q1[$q0[$q1[$i] ^ $sf] ^ $sb] $q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] $q1[$q1[$i] ^ $key[12]] $q1[$q1[$i] ^ $key[18]] $q1[$q1[$i] ^ $key[25]] $q1[$q1[$i] ^ $s7] $q1[$q1[$i] ^ $s9] $q1[$q1[$i] ^ $sc] $q1[$q1[$j] ^ $key[16]] $q1[$q1[$j] ^ $key[22]] $q1[$q1[$j] ^ $key[29]] $q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] $q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] $q1[$q1[$q0[$i] ^ $sb] ^ $s7] $q1[$q1[$q0[$i] ^ $sd] ^ $s9] $q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] $q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] $q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] $q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] $q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] $A $A $A $A $A $A $A $A $A $B $B $B $B $B $B $K[] $K[] $K[] $K[] $K[] $K[] $R0 $R0 $R0 $R0 $R0 $R1 $R1 $R1 $R1 $R1 $R2 $R2 $R2 $R2 $R2 $R3 $R3 $R3 $R3 $R3 $S0[$i] $S0[$i] $S0[$i] $S1[$i] $S1[$i] $S1[$i] $S2[$i] $S2[$i] $S2[$i] $S3[$i] $S3[$i] $S3[$i] $t0 $t0 $t0 $t0 $t1 $t1 $t1 $t1 $A $A $A $A $A $A $A $A $A $A $A $A $B $B $B $B $B $B $K[++$ki] $K[++$ki] $K[++$ki] $K[++$ki] $K[--$ki] $K[--$ki] $K[--$ki] $K[--$ki] $K[0] $K[0] $K[0] $K[0] $K[1] $K[1] $K[1] $K[1] $K[2] $K[2] $K[2] $K[2] $K[3] $K[3] $K[3] $K[3] $K[4] $K[4] $K[4] $K[4] $K[5] $K[5] $K[5] $K[5] $K[6] $K[6] $K[6] $K[6] $K[7] $K[7] $K[7] $K[7] $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R0 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R1 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R2 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $R3 $S0[ $R0 & 0xff] $S0[ $R2 & 0xff] $S0[$R0 & 0xff] $S0[$R1 >> 24 & 0xff] $S0[$R2 & 0xff] $S0[$R3 >> 24 & 0xff] $S0[($R1 >> 24) & 0xff] $S0[($R3 >> 24) & 0xff] $m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]] $m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]] $m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] $m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$i] $q0[$j] $q0[$j] $q0[$j] $q0[$j] $q0[$j] $q0[$j] $q0[$q0[$i] ^ $key[ 9]] $q0[$q0[$i] ^ $key[19]] $q0[$q0[$i] ^ $key[27]] $q0[$q0[$i] ^ $s4] $q0[$q0[$i] ^ $sa] $q0[$q0[$i] ^ $se] $q0[$q0[$j] ^ $key[13]] $q0[$q0[$j] ^ $key[23]] $q0[$q0[$j] ^ $key[31]] $q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] $q0[$q0[$q0[$i] ^ $se] ^ $sa] $q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] $q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] $q0[$q0[$q1[$i] ^ $s8] ^ $s4] $q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] $q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] $q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] $q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] $q0[$q1[$i] ^ $key[10]] $q0[$q1[$i] ^ $key[17]] $q0[$q1[$i] ^ $key[28]] $q0[$q1[$i] ^ $s5] $q0[$q1[$i] ^ $s8] $q0[$q1[$i] ^ $sf] $q0[$q1[$j] ^ $key[14]] $q0[$q1[$j] ^ $key[21]] $q0[$q1[$j] ^ $key[32]] $q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] $q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] $q0[$q1[$q1[$i] ^ $s9] ^ $s5] $q0[$q1[$q1[$i] ^ $sc] ^ $s8] $q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] $q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] $q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] $q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] $q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$i] $q1[$j] $q1[$j] $q1[$j] $q1[$j] $q1[$j] $q1[$j] $q1[$q0[$i] ^ $key[11]] $q1[$q0[$i] ^ $key[20]] $q1[$q0[$i] ^ $key[26]] $q1[$q0[$i] ^ $s6] $q1[$q0[$i] ^ $sb] $q1[$q0[$i] ^ $sd] $q1[$q0[$j] ^ $key[15]] $q1[$q0[$j] ^ $key[24]] $q1[$q0[$j] ^ $key[30]] $q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] $q1[$q0[$q0[$i] ^ $sa] ^ $s6] $q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] $q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] $q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] $q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] $q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] $q1[$q0[$q1[$i] ^ $sf] ^ $sb] $q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] $q1[$q1[$i] ^ $key[12]] $q1[$q1[$i] ^ $key[18]] $q1[$q1[$i] ^ $key[25]] $q1[$q1[$i] ^ $s7] $q1[$q1[$i] ^ $s9] $q1[$q1[$i] ^ $sc] $q1[$q1[$j] ^ $key[16]] $q1[$q1[$j] ^ $key[22]] $q1[$q1[$j] ^ $key[29]] $q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] $q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] $q1[$q1[$q0[$i] ^ $sb] ^ $s7] $q1[$q1[$q0[$i] ^ $sd] ^ $s9] $q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] $q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] $q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] $q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] $q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] $t0 $t0 $t0 $t0 $t0 $t0 $t0 $t0 $t1 $t1 $t1 $t1 ($R1 >> 31) & 1 ($R3 >> 31) & 1 (($R1 >> 31) & 1) | ($R1 << 1) (($R3 >> 31) & 1) | ($R3 << 1) $in[1] $in[1] $in[2] $in[2] $in[3] $in[3] $in[4] $in[4] $key[ 9] $key[ 9] $key[ 9] $key[10] $key[10] $key[10] $key[11] $key[11] $key[11] $key[12] $key[12] $key[12] $key[13] $key[13] $key[13] $key[14] $key[14] $key[14] $key[15] $key[15] $key[15] $key[16] $key[16] $key[16] $key[17] $key[17] $key[18] $key[18] $key[19] $key[19] $key[1] $key[1] $key[1] $key[20] $key[20] $key[21] $key[21] $key[22] $key[22] $key[23] $key[23] $key[24] $key[24] $key[25] $key[26] $key[27] $key[28] $key[29] $key[2] $key[2] $key[2] $key[30] $key[31] $key[32] $key[3] $key[3] $key[3] $key[4] $key[4] $key[4] $key[5] $key[5] $key[5] $key[6] $key[6] $key[6] $key[7] $key[7] $key[7] $key[8] $key[8] $key[8] $le_longs[1] $le_longs[1] $le_longs[1] $le_longs[2] $le_longs[2] $le_longs[2] $le_longs[3] $le_longs[3] $le_longs[3] $le_longs[4] $le_longs[4] $le_longs[4] $le_longs[5] $le_longs[5] $le_longs[6] $le_longs[6] $le_longs[7] $le_longs[8] $K[0] $K[0] $K[0] $K[1] $K[1] $K[1] $K[2] $K[2] $K[2] $K[3] $K[3] $K[3] $K[4] $K[4] $K[4] $K[5] $K[5] $K[5] $K[6] $K[6] $K[6] $K[7] $K[7] $K[7] $in[1] $in[1] $in[2] $in[2] $in[3] $in[3] $in[4] $in[4] $key[ 9] $key[ 9] $key[ 9] $key[10] $key[10] $key[10] $key[11] $key[11] $key[11] $key[12] $key[12] $key[12] $key[13] $key[13] $key[13] $key[14] $key[14] $key[14] $key[15] $key[15] $key[15] $key[16] $key[16] $key[16] $key[17] $key[17] $key[18] $key[18] $key[19] $key[19] $key[1] $key[1] $key[1] $key[20] $key[20] $key[21] $key[21] $key[22] $key[22] $key[23] $key[23] $key[24] $key[24] $key[25] $key[26] $key[27] $key[28] $key[29] $key[2] $key[2] $key[2] $key[30] $key[31] $key[32] $key[3] $key[3] $key[3] $key[4] $key[4] $key[4] $key[5] $key[5] $key[5] $key[6] $key[6] $key[6] $key[7] $key[7] $key[7] $key[8] $key[8] $key[8] $le_longs[1] $le_longs[1] $le_longs[1] $le_longs[2] $le_longs[2] $le_longs[2] $le_longs[3] $le_longs[3] $le_longs[3] $le_longs[4] $le_longs[4] $le_longs[4] $le_longs[5] $le_longs[5] $le_longs[6] $le_longs[6] $le_longs[7] $le_longs[8] self::$m3[0] setupInlineCrypt $key_length $kl Twofish Twofish Twofish Twofish Twofish Twofish Twofish Twofish Twofish $this->base_attr_cell $match[1] $match[1] $match[2] $this->attrs[$this->y] $this->x $this->x $cur_attr $cur_attr $last_attr $last_attr $last_attr $this->attrs[$this->y] $this->history[$i][$j] ?? '' $this->attrs[$i][$j] $this->attrs[$i][$j] $this->history_attrs[$i][$j] $this->history_attrs[$i][$j] $this->attrs[$this->y][$this->x] $this->attrs[$this->y][$this->x] $back $cur_attr $cur_attr $front $last_attr $last_attr $temp $this->base_attr_cell $cur_attr->background $cur_attr->foreground $this->max_x - $this->x $this->max_x - ($this->x - 1) $this->x $this->x $this->x $this->x $this->x + 1 $match[2] - 1 $this->x $this->x $this->x $this->x $this->x $this->x $this->x += $match[1] $this->x -= $match[1] $match[1] $match[1] $match[1] $match[1] $match[1] $match[2] getHistory loadString ANSI $ansi $attr_row $attrs $history $history_attrs $max_history $max_x $max_y $old_x $old_y $screen $tokenization $x $y $this->screen $this->screen $this->screen $this->screen $this->screen $old_x $current['content'] === false $temp === false $temp === false $temp === false $temp false false false false false false false false false false false false pack('Ca*', 0x80 | strlen($temp), $temp) $source string string string string $source $source $source $source array|bool $child $child $child $child $child $child $child $content $content $content $content_pos $content_pos $content_pos $content_pos $content_pos $content_pos + $length $decoded $decoded $decoded $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'][$i] $decoded['content'][0] $decoded['length'] $decoded['start'] $decoded['type'] $eighty $encoded $encoded_pos $filters + $mapping $forty $intype $key $key $key $length + $start $mapping['mapping'] $mapping['mapping'] $mapping['mapping'] $mapping['mapping'] $mapping['mapping'] $mapping['mapping'] $mapping['mapping'] $mask $offset $oid $option $option $size + $offset + 1 $source $source $source $source $source $source[$key] $source[$key] $source[$typename] $start $start $start + $offset $tag $tag $tag $temp $temp $temp[$i]['content'] $temp[$i]['content'] $temp[0] $value $value $value $zero ($mapping['class'] << 6) | ($tag & 0x20) | $mapping['cast'] (self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant'] (self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant'] (self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant'] (self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant'] self::$encoded[$decoded['start']] $loc self::$location $child['cast'] $child['cast'] $child['class'] $child['class'] $child['constant'] $child['constant'] $child['default'] $child['default'] $child['type'] $child['type'] $child['type'] $child['type'] $current['content'] $current['content'] $current['start'] $current['start'] $current['start'] $decoded['constant'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'][$i] $decoded['content'][$i] $decoded['content'][0]['content'] $decoded['length'] $decoded['start'] $decoded['start'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $filters[$part] $mapping['mapping'][$i] $mapping['mapping'][$temp] $option['type'] $option['type'] $temp[$i]['content'] $temp[$i]['content'] $temp[$i]['type'] $temp[$last]['content'] $temp[$last]['type'] $temp['constant'] $temp['type'] $temp['type'] $temp['type'] $temp['type'] $temp[0] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $current['content'] $decoded['content'] $decoded['content'] $decoded['type'] $bits[$i] $filters[$part] $filters[$part] $map[$key] $map[$key] $map[$key] $map[$key] $map[$key] $map[$key] $source[$key] $special[$key] $special[$key] $special[$key] [$key => $value] self::$encoded[$decoded['start']] self::$oids[$decoded['content']] self::ANY_MAP[$intype] $bits[$i] $filters[$part] $candidate $candidate $child $child $child $child $child $child $child $child $childClass $childClass $class $constant $constant $constant $constant $content $content $content $content_pos $content_pos $content_pos $current $decoded $decoded['content'] $decoded['type'] $filters $i $i $intype $key $key $key $key $key $key $length $length $length $length $length $map[$key] $map[$key] $map[$key] $map[$key] $offset $offset $offset $oid $option $part $remainingLength $size $source $start $start $start $tag $tag $tag $tag $temp $temp $temp $tempClass $tempClass $value $value $value $value $value $value $values[] $special[$idx]($source) $special[$key]($candidate) $special[$key]($candidate) $special[$key]($value) array|bool array|bool|Element|string|null int string format toBytes toString $child['constant'] $child['constant'] $child['constant'] $child['constant'] $current $current $current $current $current['content'] $encoded_pos $filters $i $length $length $length $length $length $length $length $length + $start $mapping['class'] $mapping['class'] $mapping['class'] $mapping['min'] $offset $offset $offset $remainingLength $size $size $size + $offset $start $start $start $start $tag $tag $temp[$last]['content'][0] $temp['content'] $temp['length'] $temp['length'] $temp['length'] $temp['length'] $type $value $value ($mapping['class'] << 6) | ($tag & 0x20) ($mapping['class'] << 6) | (ord($temp[0]) & 0x20) ($mapping['class'] << 6) | 0x20 ($size + 1) & 7 $current + ['length' => $start - $current['start']] $decoded['content'] $decoded['content'] $decoded['content'] ? $decoded['content']->format(self::$format) : false $length $temp self::$oids[$decoded['content']] ?? $decoded['content'] self::$reverseOIDs[$name] ?? $name pack('N', $length) unpack('Nlength', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4)) format $source $source $source $source $temp $value bindec($byte) $decoded['content'] $length $temp[$i] $temp[$i] $temp[$i] $temp[$last] $temp[$last] $temp['content'] $temp['length'] $temp['length'] $temp['length'] $temp['type'] $source $value toBytes $part2 $temp $temp $temp $source subtract toBytes $decoded['content'][0] $decoded['content'][0] $matches[1] $matches[2] $child['default'] $child['type'] $child['type'] $decoded['constant'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['content'] $decoded['length'] $decoded['start'] $decoded['start'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $decoded['type'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['children'] $mapping['class'] $mapping['class'] $mapping['class'] $mapping['type'] $mapping['type'] $mapping['type'] $mapping['type'] $mapping['type'] $mapping['type'] $temp['content'] $temp['length'] $temp['length'] $temp['length'] $temp['type'] $temp['type'] $candidate $candidate $candidate $candidate $temp $temp decodeLength setTimeFormat Element CPSuri PBMAC1params Prime_p PrivateKeyInfo SubjectInfoAccessSyntax Trinomial !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !is_array($this->currentCert) !isset($this->currentCert) !isset($this->currentCert) !isset($this->currentCert) !isset($this->currentCert) $cert === false false false false false false inet_ntop($ip) new BigInteger($serial, $base) $j string string string string $x fn ($x) => '\x' . bin2hex($x[0]) $dn $domains $propValue $value $value $value $value $value getAttribute getChain getDNProp getExtension getExtensionHelper getIssuerDN getIssuerDNProp getMapping getPublicKey getRevoked getRevokedCertificateExtension getSubjectDN getSubjectDNProp loadCRL loadCSR loadSPKAC loadX509 sign signCRL signCSR signSPKAC translateDNProp $attribute['value'] $attribute['value'] $attribute['value'] $attributes[$key]['value'] $basicConstraints $ca $ca $ca $ca['tbsCertificate']['subject'] $ca['tbsCertificate']['subject'] $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'] $data $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0]['content'][0]['length'] $decoded[0]['content'][0]['length'] $decoded[0]['content'][0]['length'] $decoded[0]['content'][0]['length'] $decoded[0]['content'][0]['start'] $decoded[0]['content'][0]['start'] $decoded[0]['content'][0]['start'] $decoded[0]['content'][0]['start'] $dn $dn $dn $dn $dn $dn $dn $dn $dns[$i] $dns[$i] $id $id $id $id $ipAddress $ip[0] $ip[1] $key $key $key $key $key $key $key $keyUsage $map $map $map $map $map $map $map $map $map $notAfter $notBefore $prop $propName $rc['userCertificate'] $rclist $rdn $s $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'] $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'] $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey'] $subid $subid $subject->domains $subvalue $subvalue $this->currentCert['certificationRequestInfo']['subject'] $this->currentCert['certificationRequestInfo']['subject'] $this->currentCert['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm'] $this->currentCert['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'] $this->currentCert['publicKeyAndChallenge']['spki']['algorithm']['algorithm'] $this->currentCert['publicKeyAndChallenge']['spki']['subjectPublicKey'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['subject'] $this->currentCert['tbsCertificate']['subject'] $type $type $url $v $v $value $value $value $value $value $value $value[$j]['policyQualifiers'] $value[$j]['policyQualifiers'] $value[0] $values $values $values $values $values[$j] $values[$j] $x509 $x[0] is_string($key) ? $key : $key->__toString() $prop $attr['value'] $attr['value'] $attribute['type'] $attribute['type'] $attribute['type'] $attribute['type'] $attribute['value'] $attribute['value'] $attribute['value'] $attribute['value'] $attribute['value'] $attributes[$i]['type'] $attributes[$i]['type'] $attributes[$i]['value'] $attributes[$i]['value'] $attributes[$i]['value'] $attributes[$i]['value'] $attributes[$key]['value'] $attributes[$key]['value'] $ca['tbsCertificate'] $ca['tbsCertificate'] $ca['tbsCertificate'] $ca['tbsCertificate'] $ca['tbsCertificate'] $ca['tbsCertificate']['serialNumber'] $ca['tbsCertificate']['serialNumber'] $cert['tbsCertificate']['subject'] $cert['tbsCertificate']['subjectPublicKeyInfo'] $cert['tbsCertificate']['subjectPublicKeyInfo'] $crl['tbsCertList']['revokedCertificates'] $csr['certificationRequestInfo']['subject'] $csr['certificationRequestInfo']['subject'] $csr['certificationRequestInfo']['subjectPKInfo'] $csr['certificationRequestInfo']['subjectPKInfo'] $csr['certificationRequestInfo']['subjectPKInfo'] $currentCert['tbsCertificate']['issuer'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $dn[$i] $dn[$i] $dn[$i] $dn[$i] $dns[$i][$j] $dns[$i][$j] $dns[$i][$j] $dns[$i][$j] $extension['extnId'] $extensions[$i]['extnId'] $extensions[$i]['extnId'] $extensions[$i]['extnValue'] $extensions[$i]['extnValue'] $field[0] $field[0] $key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'] $key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] $keyinfo['algorithm'] $keyinfo['subjectPublicKey'] $notAfter['generalTime'] $notAfter['utcTime'] $notBefore['generalTime'] $notBefore['utcTime'] $opt['accessLocation'] $opt['accessMethod'] $rc['userCertificate'] $rc['userCertificate'] $rdn[$i] $root[$i] $signingCert['tbsCertificate'] $signingCert['tbsCertificate'] $signingCert['tbsCertificate'] $signingCert['tbsCertificate'] $spkac['publicKeyAndChallenge']['spki'] $spkac['publicKeyAndChallenge']['spki'] $spkac['publicKeyAndChallenge']['spki'] $tbsCertList['nextUpdate'] $tbsCertList['revokedCertificates'] $tbsCertList['version'] $this->currentCert['certificationRequestInfo']['subject'] $this->currentCert['certificationRequestInfo']['subject'] $this->currentCert['certificationRequestInfo']['subjectPKInfo'] $this->currentCert['certificationRequestInfo']['subjectPKInfo'] $this->currentCert['publicKeyAndChallenge']['spki'] $this->currentCert['publicKeyAndChallenge']['spki'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertList']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['subject'] $this->currentCert['tbsCertificate']['subject'] $this->currentCert['tbsCertificate']['subject'] $this->currentCert['tbsCertificate']['validity'] $this->currentCert['tbsCertificate']['validity'] $value[$j] $value[$j] $value[$j] $value[$j]['policyQualifiers'][$k] $value[$j]['policyQualifiers'][$k] $value['authorityCertSerialNumber'] $value['extnId'] $value['extnId'] $value['extnId'] $value['extnId'] $value['extnValue'] $value['type'] $value[0] $values[$j] $values[$j] $x509['tbsCertificate']['subject'] $x509['tbsCertificate']['subjectPublicKeyInfo'] $x[0] $attr['value'] $attributes[$key]['value'] $attributes[$key]['value'] $attributes[$last]['value'] $cert['tbsCertificate']['signature'] $cert['tbsCertificate']['subjectPublicKeyInfo'] $csr['certificationRequestInfo']['subjectPKInfo'] $csr['certificationRequestInfo']['subjectPKInfo'] $extensions[$key] $extensions[] $rclist[$i]['revocationDate'] $root[$i] $spkac['publicKeyAndChallenge']['spki'] $spkac['publicKeyAndChallenge']['spki'] $tbsCertList['issuer'] $tbsCertList['nextUpdate'] $tbsCertList['thisUpdate'] $tbsCertList['version'] $this->currentCert['certificationRequestInfo']['subject'] $this->currentCert['certificationRequestInfo']['subjectPKInfo'] $this->currentCert['publicKeyAndChallenge']['challenge'] $this->currentCert['publicKeyAndChallenge']['spki'] $this->currentCert['tbsCertList']['signature'] $this->currentCert['tbsCertificate']['issuer'] $this->currentCert['tbsCertificate']['serialNumber'] $this->currentCert['tbsCertificate']['signature'] $this->currentCert['tbsCertificate']['subject'] $this->currentCert['tbsCertificate']['subjectPublicKeyInfo'] $this->currentCert['tbsCertificate']['validity'] $this->currentCert['tbsCertificate']['validity'] $this->dn['rdnSequence'][] $value['authorityCertSerialNumber'] $values[$j] $values[$j] $values[$j] $x509['tbsCertificate']['subjectPublicKeyInfo'] $attributes[$last] $extensions[$key] $rdn[$i] $attr $attr $attribute $attribute $attribute $attribute $attributes[$key]['value'][$disposition] $attributes[$last]['value'][] $attrs[] $authorityKey $authorityKey $authorityKey $authorityKey $basicConstraints $ca $ca $ca $cert $cert $certificationRequestInfo $crlNumber $crlNumber $csrexts $currentKeyIdentifier $currentKeyIdentifier $data $dn $dn $dn $extension $extension $extension $extension $extensions[] $field $filters['tbsCertificate']['extensions'][] $i $i $id $id $id $id $ipAddress $issuerAltName $key $key $key $key $key $key $key $keyUsage $map $map $map $map $map $map $map $map $map $name $names $notAfter $notAfter $notBefore $notBefore $opt $prop $propName $propName $propName $publicKeyAndChallenge $rc $rc $rclist $rdn $result[$desc] $result['certificationRequestInfo'] $result['publicKeyAndChallenge'] $result['tbsCertList'] $result['tbsCertificate'] $result[] $result[] $root $root $root $s $subid $subid $subjectKeyID $subjectKeyID $subjectKeyID $subjectKeyID $subvalue $subvalue $subvalue $tbsCertList $tbsCertList $tbsCertificate $this->currentCert $this->currentCert $this->dn $this->dn $this->dn $this->dn $this->publicKey $this->publicKey $this->publicKey $this->publicKey $type $type $type $url $v $v $v $v $v $value $value $value $value $value $value $value $value $value $value $value $value $value $value $value $values $values $version ?array array|bool|string array|false array|false bool __toString add equals equals getPublicKey toBytes toString $issuer->privateKey->sign($this->signatureSubject) $issuer->privateKey->sign($this->signatureSubject) $this->privateKey->sign($this->signatureSubject) $this->privateKey->sign($this->signatureSubject) $value $dn $key->verify($signatureSubject, $signature) $root $root self::$extensions[$id] ?? null $i int|false $line $line $publicKey $rclist $rclist $rclist $rclist $results $this->saveCSR($this->currentCert) $this->saveSPKAC($this->currentCert) $this->saveX509($this->currentCert) base64_decode(preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'])) base64_decode(preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'])) base64_decode(preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey'])) pack('N', $hash) unpack('Vhash', $hash) inet_pton($ip[0]) inet_pton($ip[1]) false false false false false false false false false false false $cert $cert $cert $crl $csr $date $date $dn $raw $parts['host'] $parts['path'] $parts['scheme'] $results[$i + 1] $results[$i] $cert $cert $date $date $dn __toString toString toString $key->getCurve() $csr $cert $crl $csr $decoded[0]['content'][0]['start'] $path $spkac $temp $v $value $values[$j] $values[$j] preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']) preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']) preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']) preg_replace('#-.+-|[\r\n]#', '', $this->publicKey->toString($format)) preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm) preg_replace('#^ecdsa-with-#', '', strtolower($signatureAlgorithm)) preg_replace('#^id-dsa-with-#', '', strtolower($signatureAlgorithm)) preg_replace_callback('#[^\x20-\x7E]#', $callback, $value->element) $decoded[0] $decoded[0]['content'] $spkac['publicKeyAndChallenge'] $spkac['publicKeyAndChallenge'] $cert['signatureAlgorithm'] $spkac['publicKeyAndChallenge'] $result $desc $currentCert $currentCert $currentCert $currentCert $signatureSubject $signatureSubject $signatureSubject $signatureSubject $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->currentCert is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null null null null null null null $parts['host'] $parts['path'] $parts['scheme'] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $ip[0] $ip[1] $temp[1] $this->domains[0] $value __toString $ca['tbsCertificate'] $ca['tbsCertificate'] $crl['tbsCertList'] $csr['certificationRequestInfo'] $currentCert['tbsCertificate'] $dn['rdnSequence'] $dn['rdnSequence'] $dn['rdnSequence'] $spkac['publicKeyAndChallenge'] $spkac['publicKeyAndChallenge'] $spkac['publicKeyAndChallenge'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signature'] $this->currentCert['signatureAlgorithm'] $this->currentCert['signatureAlgorithm'] $this->currentCert['signatureAlgorithm'] $this->currentCert['signatureAlgorithm'] $this->dn['rdnSequence'] $x509['tbsCertificate'] $signingCert $signingCert $subjectPublicKey decodeIP decodeNameConstraintIP disableURLFetch enableURLFetch encodeIP getAttributes getChain getCurrentCert getIssuerDNProp getRevoked getRevokedCertificateExtensions getSubjectDN getSubjectDNProp listRevoked removeRevokedCertificateExtension setAttribute setIPAddress setKeyIdentifier setRevokedCertificateExtension setSerialNumber unrevoke bool bool bool bool bool bool $CAs $challenge $currentCert $currentKeyIdentifier $dn $endDate $privateKey $publicKey $serialNumber $signatureSubject $startDate !is_array($v) && isset($type) $encoded !== false $s !== false $v !== false $v !== false is_array($crl->currentCert) is_array($subject->currentCert) is_array($subject->currentCert) is_array($this->currentCert) is_array($this->currentCert) is_array($this->currentCert) isset($crl->currentCert) isset($crl->currentCert) && is_array($crl->currentCert) isset($issuer->currentKeyIdentifier) isset($issuer->currentKeyIdentifier) isset($key->privateKey) isset($key->publicKey) isset($subject->currentCert) isset($subject->currentCert) isset($subject->currentCert) && is_array($subject->currentCert) isset($subject->currentCert) && is_array($subject->currentCert) isset($subject->currentKeyIdentifier) isset($subject->publicKey) isset($this->currentCert) && is_array($this->currentCert) isset($this->currentCert) && is_array($this->currentCert) isset($this->currentCert) && is_array($this->currentCert) isset($this->currentCert) && is_array($this->currentCert) strtolower !isset($this->signatureSubject) $this->currentCert $this->currentCert $this->currentCert $this->currentCert $this->signatureSubject $this->signatureSubject $this->signatureSubject $this->signatureSubject isset($this->currentCert) isset($this->publicKey) null null null null null null null null $cert $crl $csr $root $root $root $root $spkac !is_array($cert) !is_array($crl) !is_array($csr) !is_array($spkac) $crl === false $csr === false $spkac === false 'md5' 'sha1' 'sha224' 'sha224' 'sha224' 'sha256' 'sha256' 'sha384' 'sha384' is_array($crl) is_array($csr) is_array($root) is_array($spkac) is_string($extnId) verify new static() $attr $extension $extension $count $key $key $subvalue $value $modexp $gcd $max $min $x $y $this->value $val $class::max(...$nums) $class::min(...$nums) $class::randomRange($min->value, $max->value) $class::randomRangePrime($min->value, $max->value) $func($x->value) $q $r $this->value->abs() $this->value->add($y->value) $this->value->bitwise_and($x->value) $this->value->bitwise_leftRotate($shift) $this->value->bitwise_leftShift($shift) $this->value->bitwise_not() $this->value->bitwise_or($x->value) $this->value->bitwise_rightRotate($shift) $this->value->bitwise_rightShift($shift) $this->value->bitwise_split($split) $this->value->bitwise_xor($x->value) $this->value->extendedGCD($n->value) $this->value->gcd($n->value) $this->value->modInverse($n->value) $this->value->modPow($e->value, $n->value) $this->value->multiply($x->value) $this->value->negate() $this->value->pow($n->value) $this->value->powMod($e->value, $n->value) $this->value->root($n) $this->value->subtract($y->value) $val $q $r $func [$q, $r] $func($x->value) bool bool bool bool bool bool int int int int int|bool string string string string $fqmain::isValidEngine() __debugInfo abs add between bitwise_and bitwise_leftRotate bitwise_leftShift bitwise_not bitwise_or bitwise_rightRotate bitwise_rightShift bitwise_split bitwise_xor compare createRecurringModuloFunction divide equals extendedGCD gcd getLength getLengthInBytes getPrecision isNegative isOdd isPrime modInverse modPow multiply negate pow powMod root setPrecision subtract testBit toBits toBytes toHex toString [$main, $modexp] $class::scan1divide($r->value) $this->value->between($min->value, $max->value) $this->value->compare($y->value) $this->value->equals($x->value) $this->value->getLength() $this->value->getLengthInBytes() $this->value->getPrecision() $this->value->isNegative() $this->value->isOdd() $this->value->isPrime($t) $this->value->testBit($x) $this->value->toBits($twos_compliment) $this->value->toBytes($twos_compliment) $this->value->toHex($twos_compliment) $this->value->toString() $modexp abs between bitwise_leftRotate bitwise_not bitwise_split extendedGCD getEngine jsonSerialize max min root $bits $hex $precision isset(self::$mainEngine) $class::max(...$nums) $class::min(...$nums) $class::randomRange($min->value, $max->value) $class::randomRangePrime($min->value, $max->value) $class::scan1divide($r->value) new self::$mainEngine($x, $base) new static("$x") new static($class::max(...$nums)) new static($class::min(...$nums)) new static($class::random($size)) new static($class::randomPrime($size)) new static($class::randomRange($min->value, $max->value)) new static($class::randomRangePrime($min->value, $max->value)) new static($func($x->value)) new static($gcd) new static($max) new static($min) new static($q) new static($r) new static($this->hex, -16) new static($this->value->abs()) new static($this->value->add($y->value)) new static($this->value->bitwise_and($x->value)) new static($this->value->bitwise_leftRotate($shift)) new static($this->value->bitwise_leftShift($shift)) new static($this->value->bitwise_not()) new static($this->value->bitwise_or($x->value)) new static($this->value->bitwise_rightRotate($shift)) new static($this->value->bitwise_rightShift($shift)) new static($this->value->bitwise_xor($x->value)) new static($this->value->gcd($n->value)) new static($this->value->modInverse($n->value)) new static($this->value->modPow($e->value, $n->value)) new static($this->value->multiply($x->value)) new static($this->value->negate()) new static($this->value->pow($n->value)) new static($this->value->powMod($e->value, $n->value)) new static($this->value->root($n)) new static($this->value->subtract($y->value)) new static($val) new static($x) new static($y) $this->powModOuter($e, $n) $this->powModOuter($e, $n) $current $current $current $n->value $r_value $result->bitmask->value $result->value $temp $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $u $v $v $v $x->value $y->value $y->value $y->value $y->value $y->value $y->value[0] == '-' ? substr($y->value, 1) : $y->value BCMath BCMath $temp->add(static::$one[static::class]) $this->bitwiseAndHelper($x) $this->bitwiseXorHelper($x) $this->bitwiseXorHelper($x) [$this->normalize($quotient), $this->normalize($remainder)] self::maxHelper($nums) self::minHelper($nums) self::randomRangeHelper($min, $max) $x $x $x $x + 1 BCMath $r_value[-1] $this->value[-1] $this->value[-1] $x $class::powModHelper($this, $e, $n, static::class) BCMath BCMath BCMath BCMath BCMath BCMath Engine array{gcd: static, x: static, y: static} array{static, static} $current $temp >> 16 $temp >> 8 $temp->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $x $y->value $current[0] $r_value[-1] $temp->value[0] $this->value[-1] $this->value[-1] $this->value[0] $this->value[0] $y->value[0] $current $current $current $current $n->value $r_value $result->bitmask->value $result->value $temp $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $u $v $v $x $x->value $y->value $y->value $y->value $y->value $y->value $y->value[0] == '-' ? substr($y->value, 1) : $y->value $remainder->value bcmod($this->value, bcpow('2', $x + 1, 0)) $remainder->value[0] $temp $temp bcmod($result->value, $result->bitmask->value) bcmod($this->value, $y->value) $current[0] $r_value[-1] $temp->value[0] $this->value[-1] $this->value[-1] $this->value[0] $this->value[0] $y->value[0] abs between bitwise_and bitwise_leftShift bitwise_or bitwise_rightShift bitwise_xor divide equals gcd isNegative make_odd max min modInverse modPow multiply negate pow powMod powModInner randomRange randomRangePrime scan1divide subtract testBit testSmallPrimes toBytes toString BCMath BCMath $this->bitmask $class::powModHelper($this, $e, $n, static::class) $current $r_value $temp->value $this->value $this->value $this->value $this->value $y->value new static($a) new static($b) new static($u) new static() new static() new static() $value $class $temp $x $x $x $y static::slidingWindow($x, $e, $n, $class) new $class() string string string static::reduce($x, $n) static::reduce(bcmul($x, $x), $n) static::reduce(bcmul($x, $y), $n) multiplyReduce prepareReduce squareReduce static::reduce($x, $n) static::reduce(bcmul($x, $x), $n) static::reduce(bcmul($x, $y), $n) $e->value $n->value $x->value bcpowmod($x->value, $e->value, $n->value) $e->value $n->value $x->value BuiltIn OpenSSL $lhs $lhs $lhs $lsd $m $m $m $msd $n $n $n $n $n $n $q $r1 $r2 $temp $temp $temp $temp $temp $x string string $cache[self::DATA][$key] $cache[self::DATA][$key] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $m $m $m $m1 $m_length + 1 $n $u -$cutoff -$cutoff -($m_length >> 1) - 1 $cache[self::DATA] $cache[self::DATA] $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::DATA][$key] $cache[self::DATA][$key] $cutoff $key $key $m_length $m_length $m_length -($m_length >> 1) bcmod($n, $m) bcmod($x, $n) $m1 $u reduce $key $lhs $lhs $m $m $m $custom_reduction $inline self::$custom_reduction self::$custom_reduction $inline($n) callable|void string $func $inline($n) EvalBarrett $fqengine $leading_ones | $temp $left & $right $left ^ $right $left | $right $max $min $temp $this->hex Random::string($size) Random::string(1) Strings::bits2bin($x) chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3) chr(1) . str_repeat("\0", $size) new static('-1') new static('-1') $x[0] $x[0] $x[0] static::$zero static::$zero $x $x $x $x $fqengine::generateCustomReduction($this, static::class) $min->isPrime() ? $min : false $x $bits $bits[0] $bytes $hex $left $left $left $mask $max->toBytes() $right $right $right $temp $temp[0] $temp[0] $this->toBytes($twos_compliment) $this->toBytes() $window_ranges $x $x[0] $bits[0] $g->divide(static::$two[static::class])[0] $max_multiple $max_multiple $og->subtract($g)->divide(static::$two[static::class])[0] $q $random $step->divide(static::$two[static::class])[0] $temp[0] $temp[0] $window_ranges[$i] $temp[0] $a $a $b $bits $bytes $c $comp $compare $compare $comparison $d $e $func $g $g $g $g $g $g $guess $hex $left $left $left $left $left $mask $mask $mask $mask $max $max $max $max_multiple $max_multiple $min $min $n $n $n_1 $n_2 $num $og $powers[$i2 + 1] $powers[1] $powers[2] $r $random $random $random $random_max $random_max $result $result $result $result $result $right $right $right $right $root $root $root $s $step $step $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp->value $this->value $this->value $this->value $u $v $vals[] $x $x $x $y $y [$max_multiple] [$max_multiple] [$q] [, $random] clone $n_1 Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine|string \Closure static|false static|false static|false $fqengine::isValidEngine() add add add add add add bitwise_and bitwise_and bitwise_leftShift bitwise_leftShift bitwise_or bitwise_rightShift compare compare compare compare compare compare compare divide divide divide divide divide equals equals equals equals equals equals equals equals equals isPrime modInverse modPow modPow multiply multiply multiply multiply multiply multiply pow pow pow powModInner subtract subtract subtract subtract subtract subtract subtract subtract toBytes toBytes toBytes static::ENGINE_DIR static::ENGINE_DIR $temp->value $temp->value $temp->value $max $min $nums[0] $nums[0] $random->add($min) $this->compare(static::$zero[static::class]) < 0 ? $this->normalize($n->subtract($x)) : $this->normalize($x) $this->normalize($n->subtract($temp)) $this->normalize($result) $this->normalize($root) $this->normalize($root) $this->normalize($temp->powModInner($e, $n)) $this->normalize(new static($leading_ones | $temp, 256)) $this->normalize(new static($left & $right, -256)) $this->normalize(new static($left ^ $right, -256)) $this->normalize(new static($left | $right, -256)) $this->normalize(new static($temp, 256)) $this->normalize(static::$zero[static::class]) $this->powModInner($e, $n) $this->toString() $x static::randomRange($min, $max) static::randomRangePrime($min, $max) Engine[] array_reverse($vals) array{gcd: Engine, x: Engine, y: Engine} strpos($msb, '0') subtract toBytes $t $x $x bindec($msb) $powers[bindec(substr($e_bits, $i, $j + 1))] $this->value $x $x $x[0] $x[0] $x preg_replace('#(?<!^)-.*|(?<=^|-)0*|[^-0-9].*#', '', (string) $x) $nums[0] $nums[0] $nums[0] $nums[0] add bitwise_and bitwise_rightShift compare equals equals equals multiply multiply multiply multiply pow subtract subtract $comp bitwise_not bitwise_rightRotate bitwise_split createRecurringModuloFunction getLength jsonSerialize root $n $size $size $reduce $hex $reduce $value static::$modexpEngine static::ENGINE_DIR static::ENGINE_DIR static::FAST_BITWISE static::FAST_BITWISE abs abs abs abs add add add add bitwise_leftShift bitwise_leftShift bitwise_rightShift compare compare compare compare compare compare compare compare compare compare compare compare divide divide equals equals equals extendedGCD initialize initialize initialize make_odd make_odd make_odd modInverse normalize normalize normalize normalize normalize normalize normalize normalize normalize normalize normalize normalize normalize normalize powModInner static::randomRange($min, $max) static::randomRange($min, $max) static::randomRange(static::$two[static::class], $n_2) static::randomRangePrime($min, $max) static::scan1divide($r) subtract subtract subtract subtract subtract subtract subtract subtract testSmallPrimes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toBytes toString new $class() new $class(1) new static($leading_ones | $temp, 256) new static($left & $right, -256) new static($left ^ $right, -256) new static($left | $right, -256) new static($mask, 256) new static($max, 256) new static($min, 256) new static($n) new static($temp, 256) new static($this->hex, -16) new static('-1') new static('-1') new static('2') new static() new static() new static() new static() new static(0) new static(1) new static(1) new static(1) new static(1) new static(1) new static(2) new static(Random::string($size), 256) new static(Random::string(1), 256) new static(Strings::bits2bin($x), 128 * $base) new static(chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3), 256) new static(chr(1) . str_repeat("\0", $size), 256) $root $min $x $this->powModOuter($e, $n) $this->powModOuter($e, $n) self::randomRangePrime($min, $x) GMP GMP GMP $this->value * $x->value $this->value ** $n->value $this->value + $y->value $this->value - $y->value $x->value % $temp GMP self::maxHelper($nums) self::minHelper($nums) self::randomRangeHelper($min, $max) $x $this->value ?? '0' $x $x GMP $class::powModHelper($this, $e, $n) GMP GMP GMP $temp $temp gmp_import($this->value) gmp_invert($this->value, $n->value) $n->value $n->value $n->value $r->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value ?? '0' $x->value $y->value $y->value $y->value $this->value $this->value $n->value $r->value $s $shift $shift $temp $this->value $this->value $this->value $this->value $this->value $this->value $x->value $x->value $x->value $y->value $y->value 1 -$result->value -$result->value -$this->value abs between bitwise_and bitwise_leftShift bitwise_or bitwise_rightShift bitwise_xor divide equals extendedGCD gcd isNegative isOdd make_odd max min modInverse modPow multiply negate pow powMod powModInner randomRange scan1divide subtract testBit toBytes toString GMP GMP $this->bitmask $this->value '0' $class::powModHelper($this, $e, $n) new static() $e->value $n->value $x->value DefaultEngine $x->toBytes() openssl_error_string() isValidEngine powModHelper toBytes new $class($result, 256) $result $result $value $x $prime $s $temp $temp->value $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp_value $temp_value $x $x $x $x / static::BASE $x->value $x_value $x_window[0] * static::BASE_FULL + $x_window[1] $xx[self::SIGN] $xx[self::VALUE] $xy[self::SIGN] $xy[self::VALUE] $y->value[0] $y_window[0] $z1[self::SIGN] $z1[self::SIGN] $z1[self::VALUE] $z1[self::VALUE] $z1[self::VALUE] $z1[self::VALUE] static::MAX10LEN static::MAX10LEN static::MAX10LEN strlen($x) + ((static::MAX10LEN - 1) * strlen($x)) % static::MAX10LEN $digit $this->value $value $value $value $x_value self::baseSquare($x) self::karatsuba($x_value, $y_value) self::karatsubaSquare($x) self::regularMultiply($x_value, $y_value) $mod $temp $x_value[$i - 1] $x_value[$i - 2] $x_value[$i] $bit $carry $carry $carry $carry $carry $carry $carry_mask $carry_shift $diff $digit $digit $digit[$j] $digit[] $digit[] $lhs $lhs $mask $mask $msb $msb $n $newbits $overflow $overflow $overflow $overflow $prime $product_value[$j] $product_value[$k] $quotient->value $quotient_value[$q_index] $quotient_value[$q_index] $quotient_value[$q_index] $quotient_value[$x_max - $y_max] $remaining $remaining $remaining $remaining $remaining $result->is_negative $result->value $rhs_value $s $shift $shift $shift $square_value[$i + $max_index + 1] $sum $sum $sum $sum $sum $sum $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp_value $tempmask $tempmask $tempoverflow $tempsplit $this->value $val[$i] $val[$i] $vals[] $value[$i] $value[$i] $value[$i] $value[$j] $x $x $x $x $x $x_value $x_value[$i] $x_value[$i] $x_value[$i] $x_value[$j] [$temp, $mod] static::$isValidEngine[static::class] PHP PHP array array add add compare compare compare divide equals multiply multiply multiply multiply multiply rshift subtract subtract subtract $bit $digit $digit[$j] $digit[$j] $mask $msb $msb $overflow $overflow $overflow $product_value[$k] $quotient_value[$q_index] $quotient_value[$q_index] $quotient_value[$x_max - $y_max] $remaining $remaining $remaining $remaining $remaining $shift $shift $square_value[$i2] $square_value[$k] $sum $sum $sum $sum $sum $sum $sum $sum $sum $sum $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $temp $tempmask $tempmask $tempoverflow $tempsplit $tempsplit $this->value[$digit] $this->value[$i] $this->value[$i] $this->value[$i] $this->value[0] $this->value[0] $val[$i] $val[$i] $val[$i] & $tempmask $value[$i] $value[$i] $value[$i] $value[$j] $x $x $x_value[$i] $x_value[$i] $x_value[$i] $x_value[$j] $x_value[$j] $x_value[$j] $x_value[$j] $x_window[0] * static::BASE_FULL ($x_value[$j] + $y_value[$j]) * static::BASE_FULL ($x_value[$j] - $y_value[$j]) * static::BASE_FULL ((static::MAX10LEN - 1) * strlen($x)) % static::MAX10LEN (static::MAX10LEN - 1) * strlen($x) 1 << $overflow 1 << $overflow 1 << $shift 1 << $tempoverflow 2 * $value[$j] static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::MAX10LEN ~$r_value[$i] ~$this->value[0] $lhs $lhs $mod->value $rhs->value $temp->value $temp->value $temp->value $x->value $x->value static::$isValidEngine $class::powModHelper($this, $e, $n, static::class) $temp $xx[self::VALUE] $xy[self::VALUE] array_reverse($vals) list<int> $this->value[$i] $this->value[0] $this->value[count($this->value)] $val[$i] $val[$i] list<static> static pack('N', $x) $r_value $result->bitmask->value $temp->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $val $val $val $val $value $value $value $x $x $x $x $x $x->value $y->value $y->value $y->value $y_value $y_value $r_value[$i] $result->bitmask->value[$i] $this->value[$i] $this->value[$i] $this->value[0] $this->value[0] $this->value[0] $val[$i] $val[$i] $value[0] $x[0] $y->value[0] $y->value[count($y->value) - 1] $y_value[$y_max - 1] $y_value[$y_max] $this->value[$i] $this->value[$i] $this->value[0] $this->value[count($this->value)] $val[$i] $val[$i] $val[] $x $x ~$r_value[$i] ~$this->value[0] $result->bitmask->value $arr[self::SIGN] $arr[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $this->value[0] $this->value[0] $this->value[0] $value[0] $x[0] $xx[self::SIGN] $xx[self::VALUE] $xx[self::VALUE] $xy[self::SIGN] $xy[self::VALUE] $xy[self::VALUE] $y->value[0] $y_value[0] $z1[self::SIGN] $z1[self::SIGN] $z1[self::VALUE] $z1[self::VALUE] $z1[self::VALUE] $z1[self::VALUE] compare divide equals multiply multiply multiply multiply subtract subtract $j $mask $tempmask abs bitwise_leftShift bitwise_rightShift isNegative isOdd make_odd negate pad powModInner scan1divide square testBit testSmallPrimes toBytes toString PHP PHP PHP static::$isValidEngine (string) $mod->value[0] $value[$i] $value[$i] '' static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::BASE_FULL static::MAX10 static::MAX10 static::MAX10LEN static::MAX10LEN static::MAX10LEN static::MAX10LEN static::MAX10LEN static::MAX_DIGIT static::MAX_DIGIT static::MAX_DIGIT static::MAX_DIGIT static::MAX_DIGIT2 static::MAX_DIGIT2 static::MAX_DIGIT2 static::MSB $class::powModHelper($this, $e, $n, static::class) $r_value $result->bitmask->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $val $val $val $val $val $val $val $value $x $y->value $y->value $y_value $y_value compare compare static::isValidEngine() subtract subtract new static($this->int2bytes((int) substr($x, 0, static::MAX10LEN)), 256) new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static() new static(1) new static(Strings::hex2bin($x), 256) $digit $x_max $x_size $class $temp static::slidingWindow($x, $e, $n, $class) $class::multiplyHelper($x, false, $y, false) $class::square($x) $class::square($x->value) new $class() new $class() $temp $temp $temp $temp $temp[self::VALUE] $temp [, $temp] [, $temp] array array array divide static::reduce($class::square($x), $n, $class) static::reduce($temp[self::VALUE], $n, $class) static::reduce($x, $n, $class) isValidEngine multiplyReduce prepareReduce squareReduce divide static::reduce($class::square($x), $n, $class) static::reduce($temp[self::VALUE], $n, $class) static::reduce($x, $n, $class) $n->value $n->value[$i] $n->value[$i] $result $j $result $result $result $temp $temp $y1 $y2 [, $result] T add divide multiply multiply $class::BASE $n->value[0] $result strrpos($temp, '1') $n->value[0] $n->value[0] $n->value lshift modInverse multiply multiply $j $n->value modInverse rshift new $class() new $class() OpenSSL $class::addHelper($result, false, $corrector_value, false) $class::multiplyHelper($temp, false, $cache[self::DATA][$key], false) $class::subtractHelper($result, false, $temp[self::VALUE], $temp[self::SIGN]) $class::subtractHelper($result[self::VALUE], $result[self::SIGN], $n, false) new $class() new $class() new $class() new $class() $cache[self::DATA][$key] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cutoff $cutoff $m $m1 $m_length - 1 $n $n $n[self::VALUE] $n[self::VALUE] $result[self::SIGN] $result[self::SIGN] $result[self::SIGN] $result[self::VALUE] $result[self::VALUE] $result[self::VALUE] $temp[self::SIGN] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $u ($m_length >> 1) + 1 $lsd $product_value $cache[self::DATA] $cache[self::DATA] $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $m1 $result[self::SIGN] $result[self::SIGN] $result[self::VALUE] $result[self::VALUE] $result[self::VALUE] $result[self::VALUE] $temp $temp $temp $temp[self::VALUE] $u $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::DATA][$key] $cache[self::DATA][$key] $cache[self::DATA][] $carry $carry $cutoff $key $key $lhs_value $m1 $product_value[$j] $product_value[$k] $result $result $result $result $temp $temp $temp $u [$temp, ] [$u, $m1] [, $temp] [, $temp] array array $class::addHelper($lsd, false, $temp[self::VALUE], false) $class::multiplyHelper($msd, false, $m1, false) $class::multiplyHelper($temp, false, $m, false) $class::multiplyHelper($temp, false, $u, false) $class::subtractHelper($n[self::VALUE], false, $temp[self::VALUE], false) $class::subtractHelper($result[self::VALUE], $result[self::SIGN], $m, false) divide divide $class::BASE_FULL $class::BASE_FULL $m_length $m_length $m_length $product_value[$k] $temp $temp $temp $temp $temp $temp $x_value[$j] $x_value[$j] $m1->value $temp->value $temp->value $temp->value $u->value $result[self::VALUE] $result[self::VALUE] $temp->value $temp->value $n[self::VALUE] $result[self::SIGN] $result[self::SIGN] $result[self::VALUE] $result[self::VALUE] $result[self::VALUE] $temp[self::SIGN] $temp[self::SIGN] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $temp[self::VALUE] $y_value[0] $m1 $u divide divide new $class() new $class() new $class() new $class() Barrett $key new $class() new $class() $temp [, $temp] array divide $temp->value $temp->value Classic new $class() new $class() new $class() $custom_reduction $class::BASE_FULL $class::BASE_FULL $class::MAX_DIGIT2 $class::MAX_DIGIT2 $class::MAX_DIGIT2 $class::MAX_DIGIT2 $known[$j] * $class::BASE_FULL + $known[$i] $m1 $u array_map(self::class . '::float2string', $m) array_map(self::class . '::float2string', $m->value) $m1 $u $u $inline $lhs_value $m1 $u $u [$u, $m1] [$u] self::$custom_reduction self::$custom_reduction $inline($n) array callable divide divide $arr[$i] $arr[$j] $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::BASE_FULL $class::MAX_DIGIT $class::MAX_DIGIT $class::MAX_DIGIT $known[$i] $known[$i] $known[$i] $known[$j] $m1->value $u->value $u->value $func $func $inline($n) $m $m $m $m $m $m $m $m $m $m $m->value $m->value generateCustomReduction reduce $class::addHelper($result[self::VALUE], false, $temp, false) $class::regularMultiply([$temp], $n) $class::subtractHelper($result[self::VALUE], false, $n, false) new $class() new $class() $cache[self::VARIABLE] $cache[self::VARIABLE] $class::BASE_FULL $class::BASE_FULL $result $result * (2 - fmod($x * $result, $class::BASE_FULL)) $result[self::VALUE] $temp $x * $result $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $result[self::VALUE] $result[self::VALUE] $result[self::VALUE] $temp $cache[self::DATA] $cache[self::VARIABLE] $result[self::VALUE] $cache[self::DATA][$key] $key $result $result $result $result $result $result $result $temp $temp $temp $x [, $temp] array array int divide $class::BASE_FULL $class::MAX_DIGIT $result $result $result $result $result $result[self::VALUE][$i] $temp $temp $temp $x $x $x $x $x $x ($x & 0xFF) * $result ($x & 0xFFFF) * $result ($x * $result) % $class::BASE_FULL 2 - ($x & 0xFFFF) * $result $temp->value $result & $class::MAX_DIGIT $result[self::VALUE] $temp->value $result[self::VALUE] $x[0] reduce $a[self::VALUE] $a[self::VALUE] $a[self::VALUE] $a[self::VALUE] $cache[self::VARIABLE] $cache[self::VARIABLE] $temp[self::VALUE] $a[self::VALUE][0] $cache[self::DATA] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::VARIABLE] $cache[self::DATA] $cache[self::VARIABLE] $cache[self::DATA][$key] $key $temp $temp $temp $temp array $a[self::VALUE][0] $class::BASE_FULL $class::BASE_FULL $temp $temp $temp $temp $temp $temp $temp $y[0] $a[self::VALUE] $class $m $a[self::VALUE] $a[self::VALUE] $a[self::VALUE] $a[self::VALUE] $a[self::VALUE] $temp[self::VALUE] $y[0] MontgomeryMult new $class() new $class() new $class() $result array bitwise_and subtract $result->value $result->value $this->powModOuter($e, $n) $this->powModOuter($e, $n) PHP32 PHP32 $this->bitwiseAndHelper($x) $this->bitwiseOrHelper($x) $this->bitwiseXorHelper($x) $this->extendedGCDHelper($n) $this->powHelper($n) self::maxHelper($nums) self::minHelper($nums) self::randomRangeHelper($min, $max) $digit / 2 ** (2 * $step) $digit $digit $vals[] $digit $digit $digit PHP32 PHP32 PHP32 PHP32 PHP32 PHP32 PHP32 PHP32[] $this->value $this->value $this->value $this->value $val $val $val $y->value $y->value $y->value $y->value $digit $val $val $this->extendedGCD($n)['gcd'] between bitwise_and bitwise_or bitwise_xor divide equals gcd max min modInverse modPow multiply pow powMod randomRange randomRangePrime subtract PHP32 PHP32 $this->powModOuter($e, $n) PHP64 $this->bitwiseAndHelper($x) $this->bitwiseOrHelper($x) $this->bitwiseXorHelper($x) $this->extendedGCDHelper($n) $this->powHelper($n) self::maxHelper($nums) self::minHelper($nums) self::randomRangeHelper($min, $max) $val[$i - 1] $digit $digit $digit $digit $vals[] $digit $digit $digit $digit PHP64 PHP64 PHP64 PHP64 PHP64 PHP64 PHP64 PHP64[] $this->value $this->value $this->value $this->value $val $val $val $y->value $y->value $y->value $y->value $digit $val[$i - 1] $val $val $this->extendedGCD($n)['gcd'] between bitwise_and bitwise_or bitwise_xor divide equals gcd max min modInverse modPow multiply pow powMod randomRange randomRangePrime subtract PHP64 PHP64 $val $c function ($c) use ($u, $mStart, $m, $t, $finalMask, $pad, $h) { $indices $c $m $one $val[$index] $index $m gmp_import($x) $m getLength getLengthInBytes randomInteger pack('J', $z) string string $instanceID $instanceID $num $z $num $z static::$reduce[$instanceID] static::$reduce[$instanceID] $this->instanceID $this->value $x $x0 $x1 $x2 $x3 $y $y0 $y1 $y2 $y3 $z $z0 $z0 $z1 $z1 $z2 $z2 $z3 $z3 $x $x $x $x $x0 $x0 $x0 $x0 $x1 $x1 $x1 $x1 $x2 $x2 $x2 $x2 $x3 $x3 $x3 $x3 $y $y $y $y $z0 $z0 $z1 $z2 $z3 ($x0 * $y0) ^ ($x1 * $y3) ($x0 * $y1) ^ ($x1 * $y0) ($x0 * $y2) ^ ($x1 * $y1) ($x0 * $y3) ^ ($x1 * $y2) unpack('N', $x)[1] unpack('N', $y)[1] unpack('N', $x)[1] unpack('N', $y)[1] compare divide equals negate subtract toBits (string) $this->toBigInteger() !isset($q) new static($this->instanceID) new static($this->instanceID) new static($this->instanceID, $x ^ $y) new static($this->instanceID, $x ^ static::$modulo[$this->instanceID]) new static($this->instanceID, static::polynomialMultiply($this->value, $y->value)) jsonSerialize toHex $one getLength getLengthInBytes randomInteger setReduction $this->reduce $length $one $two static::$zero[static::class] static::$zero[static::class] static::$zero[static::class] $this->value clone static::$zero[static::class] static::$reduce compare equals getNAF isOdd pow toBits static::$zero static::$zero static::$zero static::$zero static::$zero static::$zero new static($this->instanceID) new static($this->instanceID) new static($this->instanceID) new static($this->instanceID, $r) new static($this->instanceID, $this->value->multiply($denominator)) new static($this->instanceID, $this->value->multiply($x->value)) new static($this->instanceID, static::$modulo[$this->instanceID]->subtract($this->value)) false false false false false [&$this, 'comparator'] array array|string int bool $request_id $value chmod fileatime filegroup filemtime fileowner fileperms filesize get_lstat_cache_prop get_stat_cache_prop get_xstat_cache_prop parseLongname query_stat_cache readlink realpath $a['filename'] $attr['mode'] $b['filename'] $content $dir $dir $dir $dir $dir $dir $dir $dir $dir $filename $filename $filename $filename $filename $filename $filename $filename $flags $flags $flags $flags $fp $fp $fp $fp $fp $fp $fp $length $link $link $link $link $longname $newname $newname $oldname $oldname $path $path $path $remote_file $remote_file $remote_file $stat['atime'] $stat['mtime'] $status $status $status $status $status $status $status $status $status $status $status $stop - $start $temp $temp $this->extensions['versions'] $this->pwd $this->realpath($dir . '/' . $key) $this->realpath($dir . '/' . $value) $this->realpath($path) $this->realpath($path) $this->server_channels[self::CHANNEL] $this->server_channels[self::CHANNEL] NET_SFTP_LOGGING $props['type'] $props['type'] $result->{$type}[$prop] $temp[$dir] $temp[$dir] $this->packet_types[$this->packet_type] $this->packet_types[$type] $this->requestBuffer[$request_id]['packet'] $this->requestBuffer[$request_id]['packet_type'] $attr[$key] $temp[$dir] $temp[$dir] $attr[$key] $contents[$shortname] $this->extensions[$key] $this->requestBuffer[$packet_id] $this->requestBuffer[$request_id] $a[$sort] $attr $attr $attr $attr $attr $attr[$key] $attributes['type'] $b[$sort] $depth $depth $dir $dir $dir $dir $fileType $filename $filename $filename $filename $filename $key $length $link $link $newname $offset $oldname $order $path $path $path $props $props $remote_file $remote_file $response $response $response $result $result $result $result $result $result $result $size $subtemp $temp $temp $temp $temp $temp $temp $temp $temp[$dir] $temp['extensions'] $this->packet_type $this->pwd $this->queueSize $this->uploadQueueSize $type $value $value ?int array array|false array|false bool string string string|bool $a[$sort] $a[$sort] $attr $attr $attr $attr $attr $b[$sort] $b[$sort] $content $depth $depth $key $key $length $offset $shortname $shortname $start $subtemp $temp $temp $this->packet_types[$this->packet_type] $this->packet_types[$type] $this->realpath($dir . '/..') $value $value $value $value $value $this->$this $result['.']->lstat $result['.']->stat $attr $content ?? true $order === SORT_ASC ? $a[$sort] - $b[$sort] : $b[$sort] - $a[$sort] $result $result->lstat $result->stat $result['.']->lstat $result['.']->stat $temp count($this->sftp_errors) ? $this->sftp_errors[count($this->sftp_errors) - 1] : '' $attr $attr $attr $attr $attr $fp $fp $packet $packet $packet $this->server_identifier pack('Na*', strlen($handle), $handle) pack('Na*', strlen($path), $path) unpack('Nlength', Strings::shift($this->packet_buffer, 4)) unpack('Npacket_id', Strings::shift($this->packet_buffer, 4)) $attr $this->pwd $this->pwd false false $data $data $data $data $data $local_file $local_file $this->realtime_log_file $stat['atime'] $stat['atime'] $stat['atime'] $stat['mtime'] $stat['mtime'] $stat['mtime'] $stat['size'] $this->stat($remote_file)['size'] $data $data $data $data $data $fp $fp preg_replace('#/(?=/)|/$#', '', $dir) preg_replace('#^/|/(?=/)|/$#', '', $path) preg_replace('#^/|/(?=/)|/$#', '', $path) preg_replace('#^/|/(?=/)|/$#', '', $path) $dirs[0] $this->channel_status[self::CHANNEL] $this->channel_status[self::CHANNEL] $this->server_channels[self::CHANNEL] $a['filename'] $a['filename'] $a['filename'] $a['filename'] $a['filename'] $attrs['mode'] $b['filename'] $b['filename'] $b['filename'] $b['filename'] $stat['atime'] $stat['mtime'] $stat['type'] $this->stat($remote_file)['size'] $attr $attr $attr $attr $attr $attr $attr $attr $content $content $fp $fp $longname $result disableArbitraryLengthPackets disableDatePreservation disablePathCanonicalization enableArbitraryLengthPackets enableDatePreservation enablePathCanonicalization fileatime filegroup filemtime fileowner fileperms filetype getNegotiatedVersion getSFTPErrors getSFTPLog getSupportedVersions setPreferredVersion $defaultVersion $log_size $realtime_log_file $realtime_log_size $realtime_log_wrap $version (int) $ver $fileType !== false $this->version < 4 && $fileType !== false !is_string($path) is_int($filename) is_object($path) is_string($mode) is_string($mode) && is_int($filename) NET_SFTP_LOGGING $this->packet_types $this->packet_types break; comparator $key bool $attrib_bits $attrib_bits_valid $flag $mask $packet $response $response $response $temp $text_hint $type $value $who $path === false $path === false $path === false $path === false $path === false $path === false $path === false $path_from === false false false false false false $options & STREAM_MKDIR_RECURSIVE $path $results $results $this->sftp->fsock bool bool bool resource $var _dir_readdir _stream_read $atime $host $host $host $orig $pass $pass $port $time $user $user $var $var $var $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $orig[-1] $var[0] $var[1] self::$instances[$host][$port] self::$instances[$host][$port] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] self::$instances[$host][$port] self::$instances[$host][$port] $argument $atime $pass $pass $sftp $sftp $this->notification $this->pos $this->sftp $this->size $time $user string $fragment $path $path $path $path $query $path $path $this->sftp->fsock $this->size parse_url($path) $this->sftp->nlist($path) $result $result $path1['path'] $path2['path'] $path_to['path'] $this->mode[0] $this->mode[0] $this->mode[0] preg_replace('#[bt]$#', '', $mode) $path_to['path'] __call __construct $path $instances $context $entries $eof $mode $notification $path $pos $sftp $size $host isset($this->notification) && is_callable($this->notification) isset($this->notification) && is_callable($this->notification) isset($this->notification) && is_callable($this->notification) isset($this->notification) && is_callable($this->notification) isset($this->notification) isset($this->notification) $arg1 $arg2 $cast_as $operation $option $options $options $arg instanceof Agent $arg instanceof PrivateKey || $arg instanceof Agent $request_channel === false is_array($arg) is_array($arg) is_array($arg) isset($realtime_log_file) false false self::$crypto_engine self::$crypto_engine true $payload[0] int string $temp array<string, SSH2> array{Hash, int}|null string $algorithm $host $password $responses connect get_channel_packet keyboard_interactive_process $a['comp'] $a['crypt'] $a['mac'] $aad $auth $auth_methods $c2s_compression_algorithms $c2s_compression_algorithms $c2s_encryption_algorithms $c2s_encryption_algorithms $c2s_mac_algorithms $c2s_mac_algorithms $c2s_mac_algorithms $channel $current_log $data $decrypt $encrypt $error_message $extra $filename $gBytes $gBytes $kex_algorithms $kex_algorithms $key $keyBytes $keyBytes $keyBytes $length $m $m $mac_algorithm_in $mac_algorithm_in $mac_algorithm_out $mac_algorithm_out $matches[0] $matches[3] $max_size $nonce $ourPublicBytes $p $p $packet $packet[0] $password $password $payload $payload[0] $preferred['hostkey'] $preferred['kex'] $primeBytes $primeBytes $prompt $raw $reason_code $reconstructed $remaining_length $responses[$i] $s2c_compression_algorithms $s2c_compression_algorithms $s2c_encryption_algorithms $s2c_encryption_algorithms $s2c_mac_algorithms $s2c_mac_algorithms $s2c_mac_algorithms $server_channel $server_host_key_algorithms $server_host_key_algorithms $server_public_host_key $signature $signature $skip_channel_filter $skip_channel_filter $stop - $start $temp $temp['length'] $theirPublicBytes $theirPublicBytes $this->channel_buffers[$client_channel] $this->compression_algorithms_client_to_server $this->compression_algorithms_server_to_client $this->encryption_algorithms_client_to_server $this->encryption_algorithms_server_to_client $this->kex_algorithm $this->kex_algorithm $this->kex_algorithm $this->kex_algorithm $this->kex_algorithm $this->kex_algorithms $this->mac_algorithms_client_to_server $this->mac_algorithms_server_to_client $this->message_number_log[count($this->message_number_log) - 1] $this->preferred['hostkey'] $this->server_channels[$client_channel] $this->server_channels[$request_channel] $this->server_channels[self::CHANNEL_EXEC] $this->server_channels[self::CHANNEL_EXEC] $this->server_channels[self::CHANNEL_SHELL] $this->server_channels[self::CHANNEL_SHELL] $this->server_channels[self::CHANNEL_SUBSYSTEM] $this->server_host_key_algorithms $this->server_public_host_key $this->signature $type $type $type NET_SSH2_LOGGING array_shift($message_log) array_shift($this->channel_buffers[$client_channel]) $diff $key $a['comp'] $a['crypt'] $a['mac'] $keyBytes[0] $m[$subkey] $matches[0] $matches[1] $matches[3] $matches[3] $packet[0] $this->channel_buffers[$client_channel][$i] $a['comp'] $a['crypt'] $a['mac'] $this->channel_buffers[$channel][] $this->channel_buffers[$channel][] $this->channel_buffers[$channel][] $compression_map[$compression_algorithm_in] $compression_map[$compression_algorithm_out] $this->channel_buffers[$channel] $this->channel_buffers[$channel] $this->channel_buffers[$channel] $this->channel_buffers[$client_channel][$i] $this->channel_status[$channel] $this->channel_status[$channel] $this->channel_status[$channel] $this->channel_status[$channel] $this->server_channels[$channel] $this->server_channels[$channel] $this->server_channels[$channel] $this->server_channels[$channel] $this->window_size_client_to_server[$channel] $this->window_size_client_to_server[$channel] $this->window_size_server_to_client[$channel] $this->window_size_server_to_client[$channel] $this->window_size_server_to_client[$channel] $a $algo $auth $c2s_compression_algorithms $c2s_encryption_algorithms $c2s_mac_algorithms $compression_algorithm_in $compression_algorithm_out $current_log $curveName $decrypt $encrypt $expected_key_format $extra $filename $i $kex_algorithms $key $keyBytes $m $mac_algorithm_in $mac_algorithm_out $max_size $method $newargs[] $ourPublicBytes $p $packet $privatekey $privatekey $privatekey $privatekey $publickey $reconstructed $response $response $response $responses[] $result $s2c_compression_algorithms $s2c_encryption_algorithms $s2c_mac_algorithms $server_host_key_algorithm $server_host_key_algorithms $signature $temp $this->auth_methods_to_continue $this->auth_methods_to_continue $this->auth_methods_to_continue $this->auth_methods_to_continue $this->auth_methods_to_continue $this->hmac_check_name $this->hmac_check_name $this->hmac_create_name $this->hmac_create_name $this->kex_algorithm $this->last_interactive_response $this->server_public_host_key $value $value $value $window_size $window_size bool bool boolean string|bool|null getCurve getEncodedCoordinates sign withHash $curveName $data $data $data $data $elapsed $keyBytes $keyBytes[0] $message $message_number_log[$i] $raw $raw $raw $raw $response $server_host_key_algorithm $stop $temp $temp $temp $temp $temp $this->errors[count($this->errors) - 1] $this->window_size_client_to_server[$channel] $this->window_size_client_to_server[$client_channel] $this->window_size_server_to_client[$channel] $this->window_size_server_to_client[$channel] $window_size $window_size !Strings::is_stringable($password) && !is_array($password) ? false : $this->keyboard_interactive_process($password) $result $this->errors[$count - 1] $this->get_channel_packet($channel) $this->keyboard_interactive_process($password) $this->errors string[] $data $logged $nonce $nonce $nonce $packet $packet $packet $packet $packet $packet $packet $packet $packet $packet $packet $payload $payload $raw $raw $raw $raw $raw $raw $raw $reconstructed $tag $tag $this->hmac_size $this->server_host_key_algorithms $this->server_identifier pack('C', MessageType::REQUEST_FAILURE) pack('CN', MessageType::CHANNEL_CLOSE, $this->server_channels[$channel]) pack('CN', MessageType::CHANNEL_CLOSE, $this->server_channels[$channel]) pack('CN', MessageType::CHANNEL_CLOSE, $this->server_channels[$client_channel]) pack('CN', MessageType::CHANNEL_CLOSE, $this->server_channels[$client_channel]) pack('CN', MessageType::CHANNEL_EOF, $this->server_channels[$client_channel]) pack('CN', MessageType::CHANNEL_EOF, $this->server_channels[$client_channel]) pack('CN', MessageType::CHANNEL_SUCCESS, $this->server_channels[$channel]) pack('CN', MessageType::IGNORE, 0) pack('CN', MessageType::IGNORE, 0) pack('Na*', $this->get_seq_no, $reconstructed) pack('Na*', $this->send_seq_no, $packet) pack('Na*', $this->send_seq_no, $packet) unpack('Npacket_length', $temp = Strings::shift($raw, 4)) unpack('Npacket_length', $temp) unpack('Npacket_length', $temp) unpack('Npacket_length/Cpadding_length', Strings::shift($raw, 5)) unpack('cpacket_type/Nchannel/Nlength', $payload) $dh_group_sizes_packed $kexinit_payload_client $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $keyBytes $logged $packet $packet deflate_add($this->compress_context, $data, ZLIB_PARTIAL_FLUSH) ftell($realtime_log_file) pack('N', $this->get_seq_no) pack('N', $this->send_seq_no) pack('N', $this->send_seq_no) @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout == 0 ? 100000 : $this->curTimeout) inflate_init(ZLIB_ENCODING_RAW, ['window' => $cinfo + 8]) decrypt encrypt setNonce setNonce $args $engine $response $response $response $response $response $response $response $response $response $response $response $this->decompress_context $this->fsock $this->fsock $this->realtime_log_file $temp['length'] $args $this->curTimeout == 0 ? 100000 : $this->curTimeout $this->decryptInvocationCounter $this->encryptInvocationCounter array_shift($message_log) preg_replace_callback('#.#s', fn ($matches) => $this->log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT), $fragment) $raw $this->decryptFixedPart $this->decryptInvocationCounter $this->encryptFixedPart $this->encryptInvocationCounter self::encryption_algorithm_to_crypt_instance($decrypt) self::encryption_algorithm_to_crypt_instance($decrypt) self::encryption_algorithm_to_crypt_instance($encrypt) self::encryption_algorithm_to_crypt_instance($encrypt) decrypt encrypt getLengthInBytes isValidEngine setKey setKey setNonce usesNonce usesNonce $matches[0] $this->server_channels[self::CHANNEL_EXEC] $this->server_channels[self::CHANNEL_EXEC] $this->server_channels[self::CHANNEL_SHELL] $this->server_channels[self::CHANNEL_SUBSYSTEM] $temp['length'] $matches $matches $matches $matches $orig $result $temp disableSmartMFA enableSmartMFA getAlgorithmsNegotiated getAuthMethodsToContinue getBannerMessage getErrors getLastError getLog getServerAlgorithms getStdError getWindowColumns getWindowRows ping reset sendIdentificationStringFirst sendIdentificationStringLast sendKEXINITFirst sendKEXINITLast setCryptoEngine setKeepAlive setPreferredAlgorithms setTerminal setWindowColumns setWindowRows setWindowSize startSubsystem stopSubsystem ($callback is callable ? bool : string|bool) $agent $decompress_context $decryptFixedPart $decryptInvocationCounter $decryptName $encryptFixedPart $encryptInvocationCounter $encryptName $hmac_check_etm $hmac_check_name $hmac_create_etm $hmac_create_name $host $identifier $last_packet $log_size $port $realtime_log_file $realtime_log_size $realtime_log_wrap $server_public_host_key $stdErrorLog isset($this->keyboard_requests_responses) Strings::is_stringable($arg) is_bool($agent_response) isset($this->realtime_log_file) && is_resource($this->realtime_log_file) isset($this->agent) isset($this->agent) isset($this->realtime_log_file) $payload $payload $payload $payload $payload $payload $payload $realtime_log_file $response $response $response $response $response $response MessageType::findConstantNameByValue($value = ord($logged[0]), false) $hasArray $hasString NET_SSH2_LOGGING NET_SSH2_LOG_REALTIME_FILENAME withPadding withSignatureFormat withSignatureFormat verify break; integer integer integer $a $data_type_code $first_kex_packet_follows $key $response $server_cookie !$this->fsock $this->fsock false pack('Na*', $agent_reply_bytes, $agent_reply_data) string $address request_forwarding $agent_reply_bytes $key $key_blob $key_blob $length $temp $agent_data_bytes $agent_reply_bytes $agent_reply_data $length $temp $this->expected_bytes $address $agent_data_bytes $agent_data_bytes $key_type $packet $packet unpack('N', $data) unpack('N', $this->readBytes(4)) unpack('N', $this->readBytes(4)) unpack('a*', $agent_reply_data) fsockopen('unix://' . $address, 0, $errno, $errstr) startSSHForwarding Agent $comment $length $signature_blob $length string self::$curveAliases[$this->key->getCurve()] $signature_blob $signature_blob unpack('N', $this->readBytes(4)) self::$curveAliases[$this->key->getCurve()] getCurve withHash withPadding withSignatureFormat $key $key_blob $type SFTPLargeFileTest SFTPLargeFileTest SFTPLargeFileTest SFTPLargeFileTest $read $this->sftp->pwd() $suffix $suffix $dirs $fp $fp $fp $this->sftp->nlist() SFTPStreamTest SFTPStreamTest SFTPStreamTest SFTPStreamTest $scratchDir $this->scratchDir $this->sftp $this->sftp SORT_ASC SORT_DESC SORT_DESC $length $buffer $exampleData $exampleDataLength demoCallback testChDirOnFile testChDirScratch testChDirUpHome testChModOnFile testDeleteEmptyDir testDeleteRecursiveScratch testExecNlist testFileExistsIsFileIsDirDir testFileExistsIsFileIsDirFile testFileExistsIsFileIsDirFileNonexistent testLinkFile testMkDirScratch testPasswordLogin testPutSizeGetFile testPutSizeGetFileCallback testPwdHome testRawlistDisabledStatCache testReadableWritable testReadlink testResourceXfer testRmDirScratch testRmDirScratchNonexistent testSortOrder testStatLstatCache testStatOnCWD testStatOnDir testStatVsLstat testStatcacheFix testSymlink testTouch testTruncate testTruncateLargeFile testUploadOffsets $file $length $sftp::SOURCE_CALLBACK $stat['gid'] $stat['uid'] self::$buffer self::$exampleData self::$exampleData self::$exampleDataLength - 100 $cur_size $file $last_size self::$buffer self::$exampleData self::$exampleDataLength self::$exampleDataLength $fp $fp $fp $files $pwd $pwd $sftp->pwd() $sftp->pwd() $stat2['gid'] $stat2['uid'] $stat['gid'] $stat['gid'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['uid'] $stat['uid'] $stat2['gid'] $stat2['uid'] $stat['gid'] $stat['gid'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['type'] $stat['uid'] $stat['uid'] SFTPUserStoryTest SFTPUserStoryTest SFTPUserStoryTest SFTPWrongServerTest SFTPWrongServerTest SFTPWrongServerTest $args testAgentForward $ssh->exec("ssh " . $username . "@" . $hostname . ' \'whoami\'') $ssh->exec('whoami') $args['ssh'] $args['ssh-agent'] $agent $ssh exec exec startSSHForwarding SSH2AgentTest SSH2AgentTest SSH2AgentTest 'stdClass' setMethods [$callbackObject, 'callbackMethod'] $ssh->getServerIdentification() $matches[1] $matches[1] SSH2Test SSH2Test SSH2Test $variable $variable _getEnv string $variable $this->_getEnv($variable) null parent::assertRegExp($pattern, $string, $message) $filename $haystack $haystack string $actual $actual $actual $actual $expected $func $obj $obj $params $var $tempFilesToUnlinkOnTearDown callFunc getVar $expected $expected $filename $filename $func $obj $obj $params $value $var $this->tempFilesToUnlinkOnTearDown[$filename] $this->tempFilesToUnlinkOnTearDown[] $this->tempFilesToUnlinkOnTearDown[$filename] $filename $value $filename $filename $filename $fp $fp null $baseline PsalmBaselineTest PsalmBaselineTest PsalmBaselineTest EvalTest EvalTest EvalTest OpenSSLTest OpenSSLTest OpenSSLTest PurePHPTest PurePHPTest PurePHPTest 'LengthException' $aes $iv $key $mode $mode $mode $op $op $plaintext $test $test $engine $c1 $c1 $iv $key $len $len $len $len $mode $mode $mode $plaintext $this->engine $this->engine $this->engine $this->engine $this->engine $this->engine $this->engine $this->engine $this->engine $this->engine $c1 $c1 $len $len $len $len $output $output getEngine $output $output $this->engine pack('H*', '00000000000000000000000000000000' . '00000000000000000000000000000000') pack('H*', '00000000000000000000000000000000') pack('H*', '00000000000000000000000000000000') pack('H*', '00000000000000000000000000000000') pack('H*', '00000000000000000000000000000000') pack('H*', '000000000000000000000000000000000000000000000000') pack('H*', '00d596e2c8189b2592fac358e7396ad2') pack('H*', '014730f80ac625fe84f026c60bfd547d') pack('H*', '0457bdb4a6712986688349a29eb82535') pack('H*', '0457bdb4a6712986688349a29eb82535') pack('H*', '0b24af36193ce4665f2825d7b4749c98') pack('H*', '1b077a6af4b7f98229de786d7516b639') pack('H*', '26aa49dcfe7629a8901a69a9914e6dfd') pack('H*', '2b7e151628aed2a6abf7158809cf4f3c762e7160') pack('H*', '2b7e151628aed2a6abf7158809cf4f3c762e7160') pack('H*', '3243f6a8885a308d313198a2e0370734') pack('H*', '3243f6a8885a308d313198a2e0370734') pack('H*', '51719783d3185a535bd75adc65071ce1') pack('H*', '58c8e00b2631686d54eab84b91f0aca1') pack('H*', '6a118a874519e64e9963798a503f1d35') pack('H*', '761c1fe41a18acf20d241650611d90f1') pack('H*', '8a560769d605868ad80d819bdba03771') pack('H*', '91fbef2d15a97816060bee1feaa49afe') pack('H*', '941a4773058224e1ef66d10e0a6ee782') pack('H*', '96ab5c2ff612d9dfaae8c31f30c42168') pack('H*', '9798c4640bad75c7c3227db910174e72') pack('H*', '9aa234ea7c750a8109a0f32d768b964e') pack('H*', '9c2d8842e5f48f57648205d39a239af1') pack('H*', 'b26aeb1874e47ca8358ff22378f09144') pack('H*', 'bff52510095f518ecca60af4205444bb') pack('H*', 'cb9fceec81286ca3e989bd979b0cb284') pack('H*', 'f34481ec3cc627bacd5dc3fb08f273e6') continuousBufferBatteryCombosWithoutSingleCombos continuousBufferCombos testContinuousBuffer testContinuousBufferBattery testECBDecrypt testEncryptDecryptWithContinuousBuffer testGFSBox128 testGFSBox192 testGFSBox256 testGetKeyLengthDefault testGetKeyLengthWith192BitKey testKeyPaddingAES testKeyPaddingRijndael testNoKey testNonContinuousBufferBattery testSetKeyLengthWithLargerKey testSetKeyLengthWithSmallerKey $engine $expected $key $plaintext $engine $key $plaintext BlowfishTest BlowfishTest BlowfishTest $actual $result $result $aad $key $nonce $nonce $nonce ChaCha20Test ChaCha20Test ChaCha20Test $result $ourPriv $theirPub $theirPublic $alicePublic $alicePublic $alicePublic->toString('MontgomeryPublic') $alicePublic->toString('MontgomeryPublic') $bobPublic $bobPublic $bobPublic->toString('MontgomeryPublic') $bobPublic->toString('MontgomeryPublic') $key $key $secrets[$i] $theirPub $theirPublic $alicePublic $alicePublic $bobPublic $bobPublic $key $key $ourEphemeralPublic $secrets[$i] $secrets[$i] $theirPub $theirPublic toString toString toString toString toString $ourEphemeralPublic->toString('MontgomeryPublic') pack('H*', '5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb') pack('H*', '77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a') $secrets[0] DHTest DHTest getPublicKey getPublicKey getPublicKey getPublicKey DHTest 160 512 $params testCreateParameters $params CreateKeyTest CreateKeyTest CreateKeyTest $sig toString toString toString preg_replace('#\s#', '', $key) preg_replace('#\s#', '', $pkcs8) LoadDSAKeyTest LoadDSAKeyTest sign verify LoadDSAKeyTest $dsa $dsa $dsa $dsa $dsa $dsa $dsa $public $public $signature $signature $signature1 $signature2 getPublicKey sign sign sign sign verify verify verify verify verify verify verify verify verify verify withHash withHash withSignatureFormat withSignatureFormat SignatureTest SignatureTest withSignatureFormat withSignatureFormat withSignatureFormat withSignatureFormat SignatureTest $class 'phpseclib3\Crypt\EC\Formats\Keys\PKCS8' new $class() new $class() $name $name $name $name $name $name $name $name $name $sig = $privateKey->sign("\x03") $sig = $privateKey->sign("\x03") $sig = $privateKey->sign("\x72") $sig = $privateKey->sign("\xaf\x82") $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign($message) $sig = $privateKey->sign('') $sig = $privateKey->sign('') $QA $curve $dA $oid $privateKey $public $publicKey $publickey $publickey $publickey $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $sig $signature $signature1 $signature1 $signature2 $signature2 createRandomMultiplier getBasePoint getBasePoint multiplyPoint sign verify verify verify verify verify verify verify verify verify verifyPoint verifyPoint $name $name $private $private $private $private $private $private $private $public $public $public $public $public $public $public $public $public $public $public $public $public $public $public $private $private $private $private $private $private $private $private $public $public $public $public $public $public $public $public CurveTest CurveTest getPublicKey sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign sign verify verify verify verify verify verify verify verify verify verify verify verify verify verify verify verify withContext withContext CurveTest $oid $key $components['dA'] $components['dA'] $components['secret'] $arr['dA'] $arr['secret'] load $key load $key->toString('XML') 'RangeException' $actual $expected $message $actual $expected $message $sig $sig $sig $sig $sig2 getCurve getCurve getCurve sign verify $raw $keyWithoutWS $keyWithoutWS KeyTest KeyTest getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getCurve getPublicKey getPublicKey getPublicKey sign sign sign sign verify verify verify verify withSignatureFormat withSignatureFormat KeyTest $private $aad $aad $ciphertext $ciphertext $engine $engine $key $key $nonce $nonce $plaintext $plaintext $tag $tag $aad $aad $ciphertext $ciphertext $engine $engine $key $key $nonce $nonce $plaintext $plaintext $tag $tag GCMTest GCMTest GCMTest $algo $algorithm $error $expected $expected $hash $hash $hash $hash $hash $hash $key $key $key $length $message $message $message $message $message $message $message $result $result $result $result $tag $algo $algorithm $error $expected $expected $hash $hash $hash $hash $key $key $message $message $message $result $result $hash $hash $hash HashTest HashTest HashTest $ciphertext $engine $key $keyLen $plaintext $engines $engine $keyLen $engine pack('H*', $ciphertext) pack('H*', $key) pack('H*', $plaintext) RC2Test RC2Test RC2Test $engine $expected $key $offset $engine $key $offset + 16 $offset RC4Test RC4Test new RC4(RC4::MODE_CTR) new RC4(RC4::MODE_CTR) RC4Test $args $r['primes'] $r['primes'] $rsa->getPublicKey()->toString('PKCS1') $privatekey $publickey $actual $ciphertext $plaintext $prime $signature [$publickey, $privatekey] decrypt encrypt getLength toString $r['primes'] $r['primes'] PKCS8::extractEncryptionAlgorithm($key)['algorithm'] CreateKeyTest CreateKeyTest getPublicKey sign verify CreateKeyTest $i $key $key $pass $key $key $pass $r['meta']['algorithm'] $r['meta']['cipher'] $r['meta']['prf'] $rsa->sign('zzzz') $key['d'] $key['e'] $key['n'] $key['primes'] $key['primes'] $r2['meta']['algorithm'] $r2['meta']['cipher'] $r2['meta']['prf'] $r['meta']['algorithm'] $r['meta']['algorithm'] $r['meta']['cipher'] $r['meta']['prf'] $key $rsa $rsa $rsa2 $sig $sig sign toString withPadding $key $raw hex2bin($key) $ciphertext $raw['comment'] $key $key $orig preg_replace('#\s#', '', $key) preg_replace('#\s#', '', $newkey) $keyWithoutWS $r2['MGFHash'] $r2['hash'] $r2['meta'] $r2['meta'] $r2['meta'] $r2['saltLength'] $r['MGFHash'] $r['hash'] $r['meta'] $r['meta']['algorithm'] $r['meta']['prf'] $r['saltLength'] $raw['comment'] LoadKeyTest LoadKeyTest asPrivateKey sign sign verify verify withMGFHash withPassword withPassword withPassword LoadKeyTest 'LengthException' $rsa->decrypt($result) $ciphertext $result $rsa $rsa $rsa $rsa $rsa $rsa $rsa $rsa $rsa $rsa decrypt decrypt encrypt encrypt getHash getHash getMGFHash getMGFHash getPublicKey getSaltLength getSaltLength sign verify verify verify verify verify withHash withHash withMGFHash withMGFHash withMGFHash withMGFHash withPadding withSaltLength base64_decode('158753FF2AF4D1E5BBAB574D5AE6B54D') base64_decode('272435F22706FA96DE26E980D22DFF67') ModeTest ModeTest decrypt encrypt getPublicKey withLabel withLabel withMGFHash withPadding withPadding withPadding withSaltLength withSaltLength withSaltLength ModeTest $length $x $length RandomTest RandomTest RandomTest $engine $expected $iv $key $engine $key pack('H*', $iv) pack('H*', $key) Salsa20Test Salsa20Test Salsa20Test $engine $engine $expected $expected $iv $key $key $plaintext $plaintext $engines $engine $engine $engine $iv $key $key $plaintext $plaintext $engine $engine base64_decode($key) TripleDESTest TripleDESTest TripleDESTest $key $key $key $plaintext $plaintext $plaintext $plaintext $plaintext $plaintext TwofishTest TwofishTest TwofishTest $lines[22] ANSITest ANSITest ANSITest $a[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'][1]['content'][0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'] $a $data $em $em $em $em $em $em $em $em $em $orig base64_decode($str) base64_decode($str) base64_decode($str) base64_decode('MBaAFJtUo7c00HsI5EPZ4bkICfkOY2Pv') file_get_contents(dirname(__FILE__) . '/ASN1/FE.pdf.p7m') base64_decode('MD6gJQYKKwYBBAGCNxQCA6AXDBVvZmZpY2VAY2VydGRpZ2l0YWwucm+BFW9mZmljZUBjZXJ0ZGlnaXRhbC5ybw==') $a[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0]['content'] $decoded[0]['content'] $decoded[0]['content'][1]['content'][0]['content'] $a[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $a[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] ASN1Test ASN1Test ASN1Test $CAPubKey $r['signatureAlgorithm'] $result $x509->signCRL($CAIssuer, $x509) $x509->signCRL($CAIssuer, new X509()) $r['signatureAlgorithm'] $crl $r $result $CA $test CRLTest CRLTest CRLTest $crl $rsa $x509->signCSR() $x509->signCSR() $csr $csr $rsa $spkac getPadding getPadding getPadding getPadding withHash $x509->getPublicKey()->getPadding() $x509->getPublicKey()->getPadding() $x509->getPublicKey()->getPadding() $x509->getPublicKey()->getPadding() $csr $x509->saveCSR($x509->signCSR(), X509::FORMAT_DER) CSRTest CSRTest withPadding CSRTest $privatekey $privatekey $spkac $spkac $spkac $spkac['publicKeyAndChallenge'] $spkac['publicKeyAndChallenge'] $pubKey $spkac $spkac $spkac $spkac $spkac $x509->saveSPKAC($spkac) SPKACTest SPKACTest SPKACTest 'phpseclib3\Math\BigInteger' $publicKey $authority->sign($issuer, $subject) $result $subjectKey $customExtensionDecodedData['list'] $customExtensionDecodedData['name'] $customExtensionDecodedData['num'] $customExtensionDecodedData['num'] $customExtensionDecodedData['toggle'] $decodedData['tbsCertificate'] $extension['extnId'] $extension['extnValue'] $loader->loadX509($cert)['tbsCertificate'] $customExtensionDecodedData $decodedData $extension $result $subjectKey $cert $certificate $customExtensionDecodedData['list'] $customExtensionDecodedData['name'] $customExtensionDecodedData['num'] $customExtensionDecodedData['num'] $customExtensionDecodedData['toggle'] X509ExtensionTest X509ExtensionTest X509ExtensionTest $private $private $private $private $privatekey $cakey $cert $cert['signatureAlgorithm'] $cert['tbsCertificate']['signature'] $cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm'] $crt $decoded $newcert->sign($ca, $oldcert) $privKey $private $private->getPublicKey() $pubKey $public $public $public $public $publickey $r $r['signatureAlgorithm'] $r['tbsCertificate']['signature'] $r['tbsCertificate']['subjectPublicKeyInfo']['algorithm'] $result $result $result $result $result $result['tbsCertificate']['extensions'] $cert['signatureAlgorithm'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $cert['tbsCertificate'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['signatureAlgorithm'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $r['tbsCertificate'] $result['tbsCertificate'] $cert['tbsCertificate'] $authorityKeyIdentifier $authorityKeyIdentifier $cakey $cert $cert $cert $cert $cert $cert $cert $crt $decoded $privKey $private $pubKey $public $public $public $public $publickey $r $r $r $r $r $r $r $r $r $r $r $r $result $result $result $result $result $result getPublicKey getPublicKey withHash withHash withHash $a $cert $newcert->saveX509($newcert->sign($ca, $oldcert)) $r $result $result $result $result $x509->saveX509($cert) $x509->saveX509($decoded) X509Test X509Test getPublicKey getPublicKey getPublicKey getPublicKey getPublicKey withPadding withPadding withPadding X509Test $cert 'DefaultEngine' $base $x $base BCMathTest BCMathTest 'DefaultEngine' BCMathTest $base $x $base $x DefaultTest DefaultTest DefaultTest 'DefaultEngine' $base $x $base GMPTest GMPTest 'DefaultEngine' GMPTest 'DefaultEngine' $base $x $base PHP32Test PHP32Test 'DefaultEngine' PHP32Test 'OpenSSL' $base $x $base PHP64OpenSSLTest PHP64OpenSSLTest 'OpenSSL' PHP64OpenSSLTest 'DefaultEngine' $base $x $base PHP64Test PHP64Test 'DefaultEngine' PHP64Test $r $arr['gcd'] $arr['x'] $arr['y'] $q $q $q $q $r $r $r $r $a $a $a $a $a $a $a $a $a $a $a $alicePrivate $alicePublic $aliceShared $arr $b $b $b $b $b $b $b $b $b $b $bigInteger $bigInteger $bigInteger $bigInteger $bigInteger $bigInteger $bobPrivate $bobPublic $bobShared $c $c $c $c $c $c $class $class $class $class $d $d $d $e $generator $max $max $max $min $min $min $n $n $num $prime $prime $r $rand1 $temp $temp $temp $three $two $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x $x2 $y $y $y $y $y $y $y $y $y $y $y $y $y $y $y $y $y $z $z $z $z $z $z [$q, $r] [$q, $r] [$q, $r] [$q, $r] clone $a clone $x $class::max($max, $min) $class::max($min, $max) $class::min($max, $min) $class::min($min, $max) $class::randomPrime(128) $class::randomRange($min, $max) abs add add bitwise_AND bitwise_LeftShift bitwise_NOT bitwise_OR bitwise_OR bitwise_OR bitwise_RightShift bitwise_RightShift bitwise_RightShift bitwise_XOR bitwise_not bitwise_xor bitwise_xor compare compare compare compare compare compare compare compare compare compare compare divide divide divide divide equals equals equals equals equals equals equals equals equals equals equals equals extendedGCD gcd getLength getPrecision getPrecision getPrecision getPrecision modInverse modPow modPow modPow modPow modPow multiply multiply multiply pow pow powMod root root setPrecision setPrecision subtract toBits toBits toBits toBytes toBytes toBytes toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toHex toString toString toString toString toString toString toString toString toString toString toString toString $a->toString() $b->toString() test48ToHex testAbs testAdd testBitwiseAND testBitwiseLeftShift testBitwiseNOT testBitwiseOR testBitwiseRightShift testBitwiseXOR testClone testCompare testConstructorBase10 testConstructorBase16 testConstructorBase2 testConstructorBase256 testDebugInfo testDiffieHellmanKeyAgreement testDivide testEquals testExtendedGCD testGCD testMax testMin testModInverse testModPow testMultiply testNegativePrecision testPow testPrecision testRandomPrime testRandomTwoArgument testRoot testSerializable testSlidingWindow testSubtract testToBits testToBytes testToBytesTwosCompliment testToHex testZeroBase10 testZeros getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance getInstance static::getStaticClass() static::getStaticClass() static::getStaticClass() static::getStaticClass() $q $engine[0] $engine[1] $engine[0] $engine[0] $engine[1] BigIntegerTest BigIntegerTest BigIntegerTest SFTPStreamUnitTest SFTPStreamUnitTest SFTPStreamUnitTest 'phpseclib3\Net\SSH2' setMethods SSH2 $expected $identifier $identifier $result SSH2UnitTest SSH2UnitTest SSH2UnitTest