$trim $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 ^ $p[0], $l ^ $p[1]) pack('N*', $r ^ $p[17], $l ^ $p[16]) string string $j $sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff] $sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff] $sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff] $sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff] $p[$i + 1] $p[$i + 1] $p[$i - 1] $p[$i - 1] $p[$i] $p[$i] $p[$i] $p[$i] $p[0] $p[0] $p[16] $p[16] $p[17] $p[17] $p[1] $p[1] $sb_0[$l >> 24 & 0xff] $sb_0[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_3[$l & 0xff] $sb_3[$l & 0xff] $sb_3[$r & 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[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$l >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_1[$r >> 16 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_3[$l & 0xff] $sb_3[$l & 0xff] $sb_3[$r & 0xff] $sb_3[$r & 0xff] $data $l $l $l $l $l $l $p $p $p $r $r $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 $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 $r $r $r $r $r $r $r $sb_0[$l >> 24 & 0xff] $sb_0[$l >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_0[$r >> 24 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$l >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] $sb_2[$r >> 8 & 0xff] self::$parray[$i] unpack('C*', $this->key) unpack('N*', $data = $this->encryptBlock($data)) unpack('N*', $data = $this->encryptBlock($data)) $in[1] $in[1] $in[2] $in[2] $this->openssl_translate_mode() $in[1] $in[1] $in[2] $in[2] $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 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x0 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x12 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x1 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x13 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x2 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x14 ^ $x3 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x0 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x15 ^ $x3 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x8 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x4 ^ $x9 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x10 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x5 ^ $x9 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x10 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x6 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x11 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $x7 ^ $x8 $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 $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 $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 $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 $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 $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 $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 $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 $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 ChaCha20 $this->usePoly1305 && !isset($this->poly1305Key) $this->usePoly1305 && !isset($this->poly1305Key) isset($this->poly1305Key) is_string($nonce) $this->format $type string string string string validatePlugin $name $rolen $this->q $this->q $this->x $type $vlen - $qlen -$rolen self::$invisiblePlugins[static::ALGORITHM] $components['comment'] self::$plugins[static::ALGORITHM]['Keys'] self::$plugins[static::ALGORITHM]['Keys'] $components['format'] $components['format'] 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'] $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 $signatureFileFormats $signatureFormats $checkint $checkint $comment $kdfoptions $paddedKey $publicKey $type $type static::$types static::$types $comment $asciiType $parts[1] $checkint $key $parts[0] $parts[1] setBinaryOutput !empty($password) && is_string($password) 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 $password $key $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'] $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 withPassword $algorithm $message $signature getFingerprint verify verify \phpseclib3\Crypt\Common\StreamCipher 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 $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] $xor[0] $xor[0] string $inline('decrypt', $ciphertext) $inline('encrypt', $plaintext) $length >> 3 $x int string 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 $i $i $i $i $key $key $key $key $len $len $len $len $len - $len % $block_size $len - $len % $block_size $mcrypt_modes[$this->mode] $mcrypt_modes[$this->mode] $one $orig_pos $orig_pos $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 MCRYPT_MODE_ECB $mcrypt_modes[$this->mode] $mcrypt_modes[$this->mode] $reverseMap[$engine] $this->buffer['pos'] $ciphertext $dkLen $i $i $i $i $i $i $key_length $len $len $len $len $len $len $len $len $len $len $len $max $max $max $max $max $max $orig_pos $orig_pos $orig_pos $orig_pos $orig_pos $orig_pos $overflow $overflow $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $pos $size $this->preferredEngine int string string string $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['ciphertext'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $buffer['xor'] $dkLen $dkLen $key_length $len $len $len $len $len $len $len $len $len $max $max $max $max $max $max $overflow $overflow $pos $pos $pos $pos $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 $ciphertext $ciphertext $ciphertext $ciphertext $ciphertext $encryptIV $encrypted $iv $result $this->ecb 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 mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '') mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '') mcrypt_module_open($this->cipher_name_mcrypt, '', MCRYPT_MODE_ECB, '') $count $count $count $dkLen $dkLen $dkLen $dkLen $salt $salt $reverseMap[$engine] $salt $salt $salt $salt null null null null $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'] $this->debuffer['pos'] $this->enbuffer['enmcrypt_init'] $this->enbuffer['enmcrypt_init'] $this->enbuffer['pos'] $this->enbuffer['pos'] $key $key $key $key $plaintext $plaintext $plaintext enablePadding getMode $cipher_code bool $cipher_name_mcrypt $cipher_name_openssl $cipher_name_openssl_ecb $debuffer $decryptIV $demcrypt $ecb $enbuffer $encryptIV $engine $enmcrypt $h $inline_crypt $poly1305Key $preferredEngine $this->ecb $this->ecb $this->engine != self::ENGINE_MCRYPT && $this->enmcrypt $this->enmcrypt is_string($this->key) strlen($password) $this->usePoly1305 && !isset($this->poly1305Key) $this->usePoly1305 && !isset($this->poly1305Key) isset($this->enmcrypt) isset($this->poly1305Key) isset($this->poly1305Key) isset($this->preferredEngine) isset(self::$gcmField) isset(self::$poly1305Field) return $ciphertext; MCRYPT_MODE_CBC MCRYPT_MODE_CFB MCRYPT_MODE_ECB MCRYPT_MODE_ECB MCRYPT_MODE_NOFB MCRYPT_MODE_OFB MCRYPT_MODE_STREAM Callback setupInlineCrypt $this->h->key $this->h->key $this->key_length $this->buffer $this->key_length $this->key_length $this->openssl_options $this->openssl_options break; new static('ctr') new static('ctr') new static('ecb') $skip_key_adjustment $ciphertext $ciphertext $i $i $size getFingerprint $type $key === false withPassword 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 & 0xFF000000) | (($cp << 8) & 0x00FF0000) ($cp << 8) & 0xFF000000 ($key['d'] >> 4) & 0x0FFFFFF0 ($r >> 3) & 0x1FFFFFFF ($r >> 31) & 0x00000001 (($cp << 8) & 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 DES DES DES DES DES DES DES DES DES $this->kl $args[0] string $new bool $args computeSecret $key $key $new->base $new->prime $new->privateKey $new->publicKey $type $type::saveParameters($this->prime, $this->base) powMod toBytes $args[0] $args[0] $args[0] $args[1] $components['base'] $components['prime'] onLoad $new->privateKey $new->publicKey $public->publicKey $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 $decoded[0] $decoded[0] $decoded[0] $key[$type . 'Algorithm'] $key[$type] !is_array($decoded) PKCS8 $type string $type::saveParameters($this->prime, $this->base, $options) $type::saveParameters($this->prime, $this->base, $options) 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 \phpseclib3\Math\BigInteger string $type::savePublicKey($this->prime, $this->base, $this->publicKey, $options) $this->publicKey $type::savePublicKey($this->prime, $this->base, $this->publicKey, $options) PublicKey PublicKey PublicKey $this->publicKey $this->publicKey count($args) == 1 && $args[0] instanceof Parameters count($args) == 2 && is_int($args[0]) is_int($args[0]) is_int($args[1]) $new bool 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 $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 $decoded[0] $decoded[0] $key[$type . 'Algorithm'] $key[$type] $components[$var] instanceof BigInteger PKCS8 $g $g $p $p $q $q $x $y $y string $components['public'] $private $public 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 $new $new $new->withHash($components['curve']::HASH) bool $privatekey $privatekey->withHash($curve::HASH) getParameters $components['curve']::HASH $curve::HASH $dA->toBytes() $decoded[0] $key $params $this->QA[0]->toBytes(true) $dA $key $new->QA $new->curve $new->curve $new->dA $params $privatekey->QA $privatekey->dA $this->curveName $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 null $decoded[0] $this->QA[0] $this->QA[0] $this->QA[1] $components['QA'] $components['curve'] $components['curve'] 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 withSignatureFormat $new->dA $new->sigFormat $privatekey->curveName $this->sigFormat $namedCurves $this->convertToAffine($r) int[] object $doubles $doubles $doubles $doubles $doubles $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 $doubles isset($this->order) $this->factory $this->factory $this->factory $this->factory $this->factory \phpseclib3\Math\FiniteField\Integer addPoint addPoint doublePoint $naf $this->p array $this->a $this->b $a $b $factory $modulo $one $order $p $m $modulo $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 \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer \phpseclib3\Math\PrimeField\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] BigInteger[] $p $basis['a']->toHex(true) $basis['b']->toHex(true) $one $p $p['naf'] $r->multiply($two) $r->multiply($two) $rhs $two $c1 $c2 $p['naf'] $p['nafwidth'] $p[0] $p[0] $p[1] $p[1] $r $r $v1 $v1['a'] $v1['b'] $v1['b'] $v2 $v2['a'] $v2['b'] $v2['b'] $a2 $b2 $beta['nafwidth'] $c1 $c1 $c2 $c2 $inv $k $k1 $k1 $k2 $k2 $lhs $lhs $npoints[$pos] $nscalars[$pos] $nscalars[$pos] $p $p1 $p2 $q1 $q2 $rhs $rhs $rhs $s $temp [$c1, $r] [$c2, $r] [$v1, $v2] FiniteField[] FiniteField[] FiniteField[] boolean add add add add add add compare divide divide divide equals equals isNegative isNegative multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply multiply negate negate negate negate negate negate negate squareRoot subtract subtract subtract toBigInteger toHex toHex $lhs->equals($rhs) multiply $this->multiplyPoint($this->p, $lambdas[0])[0] $a0 $a0 $b0 $b0 $this->factory $this->factory FiniteField[] FiniteField[] FiniteField[] $basis $basis $this->basis $this->beta $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 [$x->divide($z)] \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer[] $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 $res $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 $point $wnd $m $naf[$a] $naf[$b] $p $point $point $points[$a] $points[$a] $points[$b] $points[$b] $res[$i - 1] $scalars[$a] $scalars[$b] $wnd[$j][(-$z - 1) >> 1] $point['naf'] $points[$i]['nafwidth'] $points[0]['nafwidth'] $point['naf'] $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 $max $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 int[] 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 $wnd $z 1 << $wnd $lhs->equals($rhs) $point['naf'] $p $p $p \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer \phpseclib3\Math\PrimeField\Integer $factory $p $wnd[$j][(-$z - 1) >> 1] $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[] \phpseclib3\Math\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 \phpseclib3\Math\PrimeField\Integer[] \phpseclib3\Math\PrimeField\Integer \phpseclib3\Math\PrimeField\Integer 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 Curve25519 $this->factory $this->factory [$this->factory->newInteger(new BigInteger(5))] newInteger newInteger Curve448 Curve448 Curve448 Curve448 Curve448 Curve448 Curve448 $this->factory $this->factory $dA $this->extractSecret(Random::string(32)) clone $this->zero BigInteger \phpseclib3\Math\PrimeField\Integer [clone $this->zero, clone $this->one, clone $this->one, clone $this->zero] $y $y[0] $y[0] $y[0] $p[3] $temp $u $v $x $x $x $x2 $y $y $y2 $y[0] $y[0] FiniteField[] FiniteField[] add divide equals equals equals isOdd isOdd multiply multiply multiply multiply multiply multiply negate pow pow subtract subtract subtract toBytes $y[0] $y[0] $p $p [$x, $y] \phpseclib3\Math\PrimeField\Integer[] object[] $p[0] $p[1] addPoint doublePoint recoverX Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 Ed25519 $this->factory FiniteField[] FiniteField[] $dA->secret $dA $this->extractSecret(Random::string(57)) clone $this->zero BigInteger \phpseclib3\Math\PrimeField\Integer [clone $this->zero, clone $this->one, clone $this->one] $u $v $x $x $x2 $y $y2 FiniteField[] FiniteField[] divide equals equals isOdd isOdd multiply multiply multiply negate pow subtract subtract subtract toBytes $y->toBytes() $p $p [$x, $y] \phpseclib3\Math\PrimeField\Integer[] object[] addPoint doublePoint encodePoint recoverX Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 Ed448 $this->factory FiniteField[] FiniteField[] $dA->secret brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160r1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP160t1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192r1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP192t1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224r1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP224t1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256r1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP256t1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320r1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP320t1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384r1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP384t1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512r1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 brainpoolP512t1 nistb233 nistb233 nistb409 nistb409 nistk163 nistk163 nistk233 nistk233 nistk283 nistk283 nistk409 nistk409 nistp192 nistp192 nistp224 nistp224 nistp256 nistp256 nistp384 nistp384 nistp521 nistp521 nistt571 nistt571 prime192v1 prime192v1 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v2 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime192v3 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v1 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v2 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime239v3 prime256v1 prime256v1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r1 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp112r2 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r1 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 secp128r2 newInteger secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 secp160k1 $this->factory $this->basis $this->basis $this->basis $this->beta $this->factory secp160k1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r1 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 secp160r2 newInteger secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 secp192k1 $this->factory $this->basis $this->basis $this->basis $this->beta $this->factory secp192k1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 secp192r1 newInteger secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 secp224k1 $this->factory $this->basis $this->basis $this->basis $this->beta $this->factory secp224k1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 secp224r1 newInteger secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 secp256k1 $this->factory $this->basis $this->basis $this->basis $this->beta $this->factory secp256k1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp256r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp384r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 secp521r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r1 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect113r2 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r1 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect131r2 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163k1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r1 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect163r2 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r1 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect193r2 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233k1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect233r1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect239k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283k1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect283r1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409k1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect409r1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571k1 sect571r1 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] \phpseclib3\Crypt\EC\BaseCurves\Base|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['basis'] $params['m'] $params['parameters'] $params['parameters'] $temp['k1'] $temp['k2'] $temp['k3'] $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 $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() $key $paddedKey $parsed['publicKey'] $parsed['publicKey'] $parsed['publicKey'] $privateKey $privateKey->secret $comment $key['comment'] $oid $paddedKey string $comment $comment $curveName $publicKey $alias rangeCheck $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 $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['dA'] $components['curve']->getBasePoint() $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'] $key['publicKey'] $privateKey->secret $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'] $key['privateKey'] $key $components['curve'] $components['dA'] $decoded[0] $decoded[0] $publicKey[0] $publicKey[0] $publicKey[1] $publicKey[1] $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 $privateKey->secret $publicKey string $components['type'] $length $length $private $private $private $privateKey->secret $components['dA'] $private rangeCheck $components['comment'] $components['public'] $components['type'] $length $length $public[1] $public[1] $components['comment'] $components['curve'] $components['public'] $components['type'] $private savePrivateKey savePublicKey $types extractSecret $privateKey->secret $key $point $xml $result['namedCurve'] $result['specifiedCurve'] $result['specifiedCurve'] $result['namedCurve'] $result['specifiedCurve'] $result['specifiedCurve'] \DOMNodeList|string $publicKey[0] $publicKey[1] new $curve() \phpseclib3\Crypt\EC\BaseCurves\Base|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']] \phpseclib3\Crypt\EC\BaseCurves\Base|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 $privateKey->secret $components['dA'] 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 getPublicKey sign $curve::HASH $curve::SIZE $curve::SIZE $dA->multiply($r) $key $point[0]->toBytes(true) $this->curve->getBasePoint() $this->dA->secret $this->dA->toBytes() $this->withPassword()->toString('libsodium') $r $A $R $format $key $key $key $type $type $x [, $r] string string $format::save($r, $s) $format::save($r, $s) $format::save($r, $s, $this->getCurve()) $format::save($r, $s, $this->getCurve()) $type::savePrivateKey($this->dA, $this->curve, $this->QA, $this->password, $options) $type::savePublicKey($this->curve, $this->QA) divide equals multiply toBigInteger toBytes toBytes toBytes toBytes toString 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->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 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 $this->sigFormat $y toBigInteger $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 $format $n_1 $params $rhs $sig $type $w $x1 [, $u2] [, $x1] bool string $format::load($signature) $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 $this->sigFormat !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] string $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) int int 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] $this->blockSize 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] $this->blockSize $this->blockSize >> 3 $y->toBytes() $m[$i] $m[$i] $m[$i] $m[$i] $m[$i] $output $output 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 $c $hashParam $ipad $length $opad $pad $recomputeAESKey hash($this->algo, $this->key, true) is_string($this->key) $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $this->blockSize $b sha3_32 sha3_64 sha512 $c $c $k $n $n $num_ints string string $key AsymmetricKey $key $key $key loadParameters loadPublicKey pack('vvvv', $r0, $r1, $r2, $r3) pack('vvvv', $r0, $r1, $r2, $r3) string string $length >> 3 $t1 $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] $l[$i + $t8] $l[$i + 1] $l[$i] $l[$i] $l[$i] $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']] $i $i $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 $t8 $this->current_key_length $tm $i $i $i $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 $t1 $t8 $t8 ($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 8 * $t8 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 $skip_key_adjustment $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 $key bool 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 $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 RSA $primes[$i] $primes[$i] $primes[1] $rsa $c gcd modInverse subtract toBytes $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 RSA !isset($this->modulus) $this->modulus->getLength() $key->coefficients $key->exponents $key->primes $key->privateExponent $key->publicExponent $i0 $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 $coefficients[2] $primes[1] $primes[2] $parsed['comment'] $parsed['publicKey'] $parsed['type'] $parsed[type] savePrivateKey $types $decoded[0] $decoded[0] $primeInfo['coefficient'] $primeInfo['exponent'] $primeInfo['prime'] $components['coefficients'][] $components['exponents'][] $components['primes'][] $components['coefficients'][] $components['exponents'][] $components['primes'][] $primeInfo $key $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'] 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 $params['hashAlgorithm']['algorithm'] $params['maskGenAlgorithm']['parameters']['algorithm'] $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 $coefficients[2] $primes[1] $primes[2] savePrivateKey savePublicKey $types $result === false $result === false function ($var) { function ($var) { function ($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) Strings::is_stringable($key) XML $em[0] $em[0] $em[1] !$hashesMatch $m[$i] === "\0" $m[$i] === "\1" $this->rsassa_pkcs1_v1_5_sign($message) $this->rsassa_pss_sign($message) string $em $publicExponent $em[0] $em[0] $em[1] $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] $this->publicExponent $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) $em $em $em $em $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 PrivateKey PrivateKey PrivateKey PrivateKey $y false false false false $c $this->rsassa_pss_verify($message, $signature) hash_equals($h, $h2) bool string 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) $em $em $em $em $decoded['digest'] $decoded['digestAlgorithm'] $decoded['digest'] $decoded['digestAlgorithm'] $decoded['digest'] $decoded['digestAlgorithm'] $r1 $r2 PublicKey PublicKey PublicKey PublicKey !is_array($decoded) $decoded $decoded $decoded $decoded $this->publicExponent $pkcs15_compat $length 0 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 $old_use_cookies 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) & 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 Salsa20 $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 BadModeException string string $A + $B $A + $B $A + $B $A + $B $A + $B $A + $B $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] $t0 + $t1 + $K[++$ki] $t0 + $t1 + $K[++$ki] $t0 + $t1 + $K[--$ki] $t0 + $t1 + $K[--$ki] $t0 + ($t1 << 1) + $K[++$ki] $t0 + ($t1 << 1) + $K[++$ki] $t0 + ($t1 << 1) + $K[--$ki] $t0 + ($t1 << 1) + $K[--$ki] $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 $B $B $B $B $B $B $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 $B $B $B $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] $A $A $B $B $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] 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 \phpseclib3\File\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 $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['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) $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'] $candidate $candidate $candidate $candidate $temp $temp decodeLength setTimeFormat \phpseclib3\File\ASN1\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) false false false false false false false false inet_ntop($ip) new BigInteger($serial, $base) $j $value string string string string string string string $x function ($x) { $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] $issuer->privateKey->withPassword()->toString('PSS') $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['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $this->currentCert['signatureAlgorithm']['algorithm'] $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 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 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 $crl $csr $date $date $dn $raw $parts['host'] $parts['scheme'] $parts[path] $results[$i + 1] $results[$i] $date $date $dn $value __toString toString toString $key->getCurve() $cert $csr $cert $crl $csr $path $spkac $temp $v $value $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) $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['scheme'] $parts[path] $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 revoke setAttribute setIPAddress setKeyIdentifier setRevokedCertificateExtension setSerialNumber signCRL unrevoke \phpseclib3\File\X509 bool bool bool bool bool $CAs $challenge $currentCert $currentKeyIdentifier $dn $endDate $oids $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) $cert === false $crl === false $csr === false $spkac === false 'md5' 'sha1' 'sha224' 'sha224' 'sha224' 'sha256' 'sha256' 'sha384' 'sha384' is_array($cert) is_array($crl) is_array($csr) is_array($root) is_array($spkac) is_string($extnId) verify new static() $attr $extension $extension $oids $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[strlen($r_value) - 1] $this->value[strlen($this->value) - 1] $this->value[strlen($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 $r_value $temp >> 16 $temp >> 8 $temp->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $this->value $x $y->value $current[0] $r_value[strlen($r_value) - 1] $temp->value[0] $this->value[0] $this->value[0] $this->value[strlen($this->value) - 1] $this->value[strlen($this->value) - 1] $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 $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] $temp->value[0] $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 $result $result $value $x $prime $s $temp $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(Hex::decode($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] $m $m->value $m1 $u $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 $m $m->value generateCustomReduction reduce $m $m->value $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 $digit $vals[] $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 $instanceID $num $x $x $x $y $y $y $z $num $r $r $x $x $y $y $y $z static::$modulo[$instanceID] static::$reduce[$instanceID] static::$reduce[$instanceID] $r $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->modulo $this->reduce $instanceID $length $one $two static::$zero[static::class] static::$zero[static::class] static::$zero[static::class] static::$modulo[$instanceID] static::$reduce[$instanceID] $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 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 $length + $res_offset $link $link $link $link $longname $newname $newname $oldname $oldname $path $path $path $remote_file $remote_file $remote_file $stat['atime'] $stat['atime'] $stat['mtime'] $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] $props['type'] $props['type'] $result->{$type}[$prop] $temp[$dir] $temp[$dir] $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 $res_offset $response $response $response $result $result $result $result $result $result $result $size $size $size $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 array array|false array|false bool int string string string|bool $a[$sort] $a[$sort] $attr $attr $attr $attr $attr $b[$sort] $b[$sort] $content $depth $depth $key $key $length $offset $res_offset $shortname $shortname $size $size $start $subtemp $temp $temp $this->realpath($dir . '/..') $value $value $value $value $value $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 false false $data $data $data $data $data $local_file $local_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->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['atime'] $stat['atime'] $stat['mtime'] $stat['mtime'] $stat['mtime'] $stat['size'] $stat['size'] $stat['type'] $this->stat($remote_file)['size'] $attr $attr $attr $attr $attr $attr $attr $attr $content $content $fp $fp $longname $result chgrp chown clearStatCache disableArbitraryLengthPackets disableDatePreservation disablePathCanonicalization enableArbitraryLengthPackets enableDatePreservation enablePathCanonicalization enableStatCache file_exists fileatime filegroup filemtime fileowner fileperms filetype get getLastSFTPError getNegotiatedVersion getSFTPErrors getSFTPLog getSupportedVersions is_dir is_file is_link is_readable is_writeable rawlist readlink rename rmdir setListOrder setPreferredVersion symlink touch truncate bool $defaultVersion $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) break; $key bool int $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 bool $var _dir_readdir _stream_read $host $host $host $orig $orig $pass $pass $port $result $result $user $user $context[$scheme] $context[$scheme] $context[$scheme] $context[$scheme] $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 $result $result $results $results $sftp $sftp $this->entries $this->notification $this->pos $this->sftp $this->size $time $user bool bool bool bool bool resource string chgrp chmod chown delete delete filesize get lstat mkdir nlist put rename rename rmdir stat stat stat touch touch truncate truncate $fragment $path $path $path $path $query $path $path $results $results $this->sftp->chgrp($path, $var) $this->sftp->chown($path, $var) $this->sftp->delete($path, false) $this->sftp->fsock $this->sftp->mkdir($path, $mode, $options & STREAM_MKDIR_RECURSIVE) $this->sftp->rmdir($path) $this->sftp->touch($path, $time, $atime) parse_url($path) $path1['path'] $path2['path'] $path_to['path'] $host $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 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 $this->session_id === false is_array($arg) is_array($arg) is_array($arg) is_null($this->exit_status) false false self::$crypto_engine self::$crypto_engine true $payload[0] int string bool|SSH2 array{Hash, int}|null string $algorithm $host $password $timeout $curTimeout $keepAlive $quiet_mode $realtime_log_wrap $timeout connect get_channel_packet $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 $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 $temp['length'] $theirPublicBytes $theirPublicBytes $this->channel_buffers[$client_channel] $this->compression_algorithms_client_to_server $this->compression_algorithms_server_to_client $this->curTimeout $this->curTimeout $this->curTimeout == 0 ? 100000 : $this->curTimeout $this->encryption_algorithms_client_to_server $this->encryption_algorithms_server_to_client $this->keepAlive $this->keepAlive $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 array_shift($this->channel_buffers[$client_channel]) array_shift($this->message_log) $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 $length $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 $temp $temp[$key] $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 boolean string|bool|null decrypt encrypt getCurve getEncodedCoordinates setNonce setNonce 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->curTimeout $this->curTimeout $this->curTimeout $this->curTimeout $this->curTimeout $this->curTimeout $this->curTimeout $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 $result $this->errors[$count - 1] $this->get_channel_packet($channel) $this->quiet_mode $temp $this->errors array<string, SSH2> string[] self::$connections[$id] instanceof \WeakReference ? self::$connections[$id]->get() : self::$connections[$id] $data $logged $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->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($this->realtime_log_file) pack('N', $this->get_seq_no) pack('N', $this->send_seq_no) pack('N', $this->send_seq_no) $fp $this->hmac_create = false @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout == 0 ? 100000 : $this->curTimeout) false false false false false false false false false false false inflate_init(ZLIB_ENCODING_RAW, ['window' => $cinfo + 8]) $args $engine $response $response $response $response $response $response $response $response $response $response $response $this->decompress_context $this->fsock $this->fsock $temp['length'] $args $this->decryptInvocationCounter $this->encryptInvocationCounter array_shift($this->message_log) $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] get $temp['length'] $elapsed $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 $preferred_signature_format ($callback is callable ? bool : string|bool) $agent $decompress_context $exit_status $hmac_check_etm $hmac_check_name $hmac_create_etm $hmac_create_name $host $identifier $in_subsystem $last_packet $log_size $port $realtime_log_file $realtime_log_size $server_public_host_key $stdErrorLog $this->session_id !== false Strings::is_stringable($arg) is_bool($agent_response) isset($this->keyboard_requests_responses) isset($this->realtime_log_file) && is_resource($this->realtime_log_file) isset($this->agent) isset($this->agent) isset($this->realtime_log_file) isset($this->realtime_log_file) $payload $payload $payload $payload $payload $payload $payload $response $response $response $response $response $response MessageType::findConstantNameByValue($value = ord($logged[0]), false) $callback === false $hasArray $hasString 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 $agent_reply_bytes $agent_reply_data $key $key_blob $key_blob $length $packet $temp $this->readBytes(4) $this->readBytes(4) $address $address $agent_data_bytes $agent_reply_bytes $agent_reply_data $agent_reply_data $length $packet $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 \phpseclib3\System\SSH\Agent $request_channel $request_channel bool $comment $length $packet $signature_blob $this->readBytes(4) $length $packet 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 readBytes $temp $temp ini_get('mbstring.func_overload') ini_get('mbstring.func_overload') 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 $length $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $sftp $buffer $exampleData $exampleDataLength $scratchDir 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 $length $pwd $sftp->pwd() $sftp->pwd() self::$buffer self::$exampleData self::$scratchDir self::$scratchDir self::$scratchDir $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'] $cur_size $dirname $file $files $last_size $list $list $list_cache_disabled $list_cache_enabled $lstat $lstat $pwd $stat $stat $stat $stat $stat $stat $stat $stat $stat $stat $stat $stat2 self::$buffer chdir chdir chdir chdir chdir chdir chdir chdir chdir chgrp chmod chmod chmod chown clearStatCache clearStatCache clearStatCache delete delete delete disableStatCache disableStatCache enablePTY enableStatCache exec file_exists file_exists file_exists file_exists file_exists filesize filesize filesize filesize filesize filesize get get get get get get get is_dir is_dir is_dir is_dir is_dir is_dir is_file is_file is_file is_file is_file is_file is_file is_link is_readable is_readable is_readable is_writable is_writable is_writable is_writeable is_writeable is_writeable login lstat lstat lstat lstat lstat lstat mkdir mkdir mkdir mkdir mkdir mkdir mkdir mkdir mkdir nlist nlist nlist nlist nlist nlist put put put put put put put put put pwd pwd pwd pwd pwd rawlist rawlist readlink rmdir rmdir setListOrder setListOrder setListOrder stat stat stat stat stat stat stat stat stat stat stat symlink symlink symlink touch touch touch touch truncate truncate self::$exampleData self::$exampleDataLength self::$exampleDataLength self::$scratchDir $fp $fp 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 $obj $obj $params $value $var $this->tempFilesToUnlinkOnTearDown[$filename] $this->tempFilesToUnlinkOnTearDown[] $this->tempFilesToUnlinkOnTearDown[$filename] $filename $value $filename $filename $filename $fp $fp null EvalTest EvalTest EvalTest McryptTest McryptTest McryptTest 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 $dsa $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 $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 getPublicKey multiplyPoint sign 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 $components['dA'] $key $password load $key $password load $key->toString('XML') 'RangeException' $actual $expected $message $actual $expected $message $sig $sig $sig2 getCurve getCurve getCurve sign verify $raw 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 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) new RC4(RC4::MODE_CTR) RC4Test $args $key $r['primes'] $r['primes'] $rsa->getPublicKey()->toString('PKCS1') $privatekey $publickey $actual $ciphertext $key $plaintext $prime $signature list($publickey, $privatekey) decrypt encrypt getLength toString toString $r['primes'] $r['primes'] PKCS8::extractEncryptionAlgorithm($key)['algorithm'] CreateKeyTest CreateKeyTest getPublicKey getPublicKey getPublicKey sign verify withPassword CreateKeyTest $i false $key $key $pass $encryptedKey $key $key $pass $pass $pass $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'] $encryptedKey $key $key2 $rsa $rsa $rsa2 $sig sign toString toString toString withPadding $key $raw hex2bin($key) $ciphertext $raw['comment'] $key $key $orig preg_replace('#\s#', '', $key) preg_replace('#\s#', '', $newkey) $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 RSA::load($key, false, 'PKCS8') asPrivateKey sign 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] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] $decoded[0] ASN1Test ASN1Test ASN1Test $test CRLTest CRLTest CRLTest $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 CSRTest CSRTest withPadding CSRTest $privatekey $privatekey $spkac $spkac $spkac $spkac['publicKeyAndChallenge'] $spkac['publicKeyAndChallenge'] $pubKey $spkac $spkac $spkac $spkac $spkac SPKACTest SPKACTest SPKACTest 'phpseclib3\Math\BigInteger' $privateKey $authority->sign($issuer, $subject) $publicKey $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 $publicKey $result $subjectKey $customExtensionDecodedData['list'] $customExtensionDecodedData['name'] $customExtensionDecodedData['num'] $customExtensionDecodedData['num'] $customExtensionDecodedData['toggle'] X509ExtensionTest X509ExtensionTest getPublicKey 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 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 list($q, $r) list($q, $r) list($q, $r) list($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 \phpseclib3\Net\SSH2 $expected $identifier $identifier $result SSH2UnitTest SSH2UnitTest SSH2UnitTest