<?php if (class_exists('ParagonIE_Sodium_Core32_XChaCha20', false)) { return; } /** * Class ParagonIE_Sodium_Core32_XChaCha20 */ class ParagonIE_Sodium_Core32_XChaCha20 extends ParagonIE_Sodium_Core32_HChaCha20 { /** * @internal You should not use this directly from another application * * @param int $len * @param string $nonce * @param string $key * @return string * @throws SodiumException * @throws TypeError */ public static function stream($len = 64, $nonce = '', $key = '') { if (self::strlen($nonce) !== 24) { throw new SodiumException('Nonce must be 24 bytes long'); } return self::encryptBytes( new ParagonIE_Sodium_Core32_ChaCha20_Ctx( self::hChaCha20( self::substr($nonce, 0, 16), $key ), self::substr($nonce, 16, 8) ), str_repeat("\x00", $len) ); } /** * @internal You should not use this directly from another application * * @param string $message * @param string $nonce * @param string $key * @param string $ic * @return string * @throws SodiumException * @throws TypeError */ public static function streamXorIc($message, $nonce = '', $key = '', $ic = '') { if (self::strlen($nonce) !== 24) { throw new SodiumException('Nonce must be 24 bytes long'); } return self::encryptBytes( new ParagonIE_Sodium_Core32_ChaCha20_Ctx( self::hChaCha20(self::substr($nonce, 0, 16), $key), self::substr($nonce, 16, 8), $ic ), $message ); } /** * @internal You should not use this directly from another application * * @param string $message * @param string $nonce * @param string $key * @param string $ic * @return string * @throws SodiumException * @throws TypeError */ public static function ietfStreamXorIc($message, $nonce = '', $key = '', $ic = '') { return self::encryptBytes( new ParagonIE_Sodium_Core32_ChaCha20_IetfCtx( self::hChaCha20(self::substr($nonce, 0, 16), $key), "\x00\x00\x00\x00" . self::substr($nonce, 16, 8), $ic ), $message ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ChaCha20 | Folder | 0755 |
|
|
Curve25519 | Folder | 0755 |
|
|
Poly1305 | Folder | 0755 |
|
|
SecretStream | Folder | 0755 |
|
|
BLAKE2b.php | File | 21.8 KB | 0644 |
|
ChaCha20.php | File | 14.17 KB | 0644 |
|
Curve25519.php | File | 129.86 KB | 0644 |
|
Ed25519.php | File | 15.37 KB | 0644 |
|
HChaCha20.php | File | 5.17 KB | 0644 |
|
HSalsa20.php | File | 6.78 KB | 0644 |
|
Int32.php | File | 24 KB | 0644 |
|
Int64.php | File | 30.44 KB | 0644 |
|
Poly1305.php | File | 1.55 KB | 0644 |
|
Salsa20.php | File | 11.24 KB | 0644 |
|
SipHash.php | File | 6.46 KB | 0644 |
|
Util.php | File | 209 B | 0644 |
|
X25519.php | File | 10.78 KB | 0644 |
|
XChaCha20.php | File | 2.4 KB | 0644 |
|
XSalsa20.php | File | 1.35 KB | 0644 |
|