# phpman > perldoc > Crypt::Stream::Sober128

## NAME
    [Crypt::Stream::Sober128](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASober128/markdown) - Stream cipher Sober128

## SYNOPSIS
       use [Crypt::Stream::Sober128](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASober128/markdown);

       # encrypt
       $key = "1234567890123456";
       $iv  = "123456789012";
       $stream = [Crypt::Stream::Sober128](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASober128/markdown)->new($key, $iv);
       $ct = $stream->crypt("plain message");

       # decrypt
       $key = "1234567890123456";
       $iv  = "123456789012";
       $stream = [Crypt::Stream::Sober128](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASober128/markdown)->new($key, $iv);
       $pt = $stream->crypt($ct);

## DESCRIPTION
    Provides an interface to the Sober128 stream cipher.

## METHODS
  new
     $stream = [Crypt::Stream::Sober128](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASober128/markdown)->new($key, $iv);
     # $key .. keylen must be multiple of 4 bytes
     # $iv  .. ivlen must be multiple of 4 bytes

  crypt
     $ciphertext = $stream->crypt($plaintext);
     #or
     $plaintext = $stream->crypt($ciphertext);

  keystream
     $random_key = $stream->keystream($length);

  clone
     $stream->clone();

## SEE ALSO
    *   [Crypt::Stream::RC4](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ARC4/markdown), [Crypt::Stream::ChaCha](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3AChaCha/markdown), [Crypt::Stream::Salsa20](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASalsa20/markdown), [Crypt::Stream::Sosemanuk](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AStream%3A%3ASosemanuk/markdown)

    *   <<https://en.wikipedia.org/wiki/SOBER-128>>

