---
name: "shishi_arcfour"
section: "3"
platform: "linux"
package: "shishi-doc"
version: "1.0.3-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/shishi_arcfour"
---

# shishi\_arcfour(3)

API function

## NAME

shishi\_arcfour - API function

## SYNOPSIS

**#include \<shishi.h\>**

**int shishi\_arcfour(Shishi \*** *handle***, int** *decryptp***, const char \*** *key***, size\_t** *keylen***, const char** *iv***\[258\], char \*** *ivout***\[258\], const char \*** *in***, size\_t** *inlen***, char \*\*** *out***);**

## ARGUMENTS

- Shishi \* handle

  shishi handle as allocated by **shishi\_init()**.

- int decryptp

  0 to indicate encryption, non-0 to indicate decryption.

- const char \* key

  input character array with key to use.

- size\_t keylen

  length of input key array.

- const char iv\[258\]

  input character array with initialization vector to use, or NULL.

- char \* ivout\[258\]

  output character array with updated initialization vector, or NULL.

- const char \* in

  input character array of data to encrypt/decrypt.

- size\_t inlen

  length of input character array of data to encrypt/decrypt.

- char \*\* out

  newly allocated character array with encrypted/decrypted data.

## DESCRIPTION

Encrypt or decrypt data (depending on *decryptp*) using ARCFOUR. The *out* buffer must be deallocated by the caller.

The "initialization vector" used here is the concatenation of the sbox and i and j, and is thus always of size 256 + 1 + 1.  This is a slight abuse of terminology, and assumes you know what you are doing.  Don't use it if you can avoid to.

## RETURN VALUE

Returns SHISHI\_OK iff successful.

## REPORTING BUGS

Report bugs to \<bug-shishi@gnu.org\>. GNU Shishi home page: http://www.gnu.org/software/shishi/ General help using GNU software: http://www.gnu.org/gethelp/

## COPYRIGHT

Copyright © 2002-2022 Simon Josefsson.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **shishi** is maintained as a Texinfo manual.  If the **info** and **shishi** programs are properly installed at your site, the command

-

  **info shishi**

should give you access to the complete manual.
