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

# shishi\_crypto(3)

API function

## NAME

shishi\_crypto - API function

## SYNOPSIS

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

**Shishi\_crypto \* shishi\_crypto(Shishi \*** *handle***, Shishi\_key \*** *key***, int** *keyusage***, int32\_t** *etype***, const char \*** *iv***, size\_t** *ivlen***);**

## ARGUMENTS

- Shishi \* handle

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

- Shishi\_key \* key

  key to encrypt with.

- int keyusage

  integer specifying what this key will encrypt/decrypt.

- int32\_t etype

  integer specifying what cipher to use.

- const char \* iv

  input array with initialization vector

- size\_t ivlen

  size of input array with initialization vector.

## DESCRIPTION

Initialize a crypto context.  This store a key, keyusage, encryption type and initialization vector in a "context", and the caller can then use this context to perform encryption via **shishi\_crypto\_encrypt()** and decryption via **shishi\_crypto\_encrypt()** without supplying all those details again.  The functions also takes care of propagating the IV between calls.

When the application no longer need to use the context, it should deallocate resources associated with it by calling **shishi\_crypto\_close()**.

## RETURN VALUE

Return a newly allocated crypto context.

## 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.
