shishi_arcfour(3)
β¨ shishi_arcfour β¨
okay bestie, welcome to the shishi manual page for shishi_arcfour(3) β yes it's section 3, yes it's an API function, and yes we're gonna get through it together π
π NAME π
shishi_arcfour β it's an API function, babe. that's the whole name section. slay.
πΈ 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);
look at that signature. it's giving many parameters. we love a thorough queen π
π¦ ARGUMENTS π¦
okay so here's the cast of characters, one by one, no skipping, we're being thorough because that's the vibe:
Shishi * handleβ your shishi handle, as allocated byshishi_init(). it's the main character of every shishi story fr fr.int decryptpβ the mood ring of this function:0means we're encrypting, anything non-0means we're decrypting. pick your fighter πconst char * keyβ input character array holding the key you wanna use.size_t keylenβ how long that key array is. gotta tell her the length, she can't read minds.const char iv[258]β input character array with the initialization vector to use, orNULL. yes,258. hold that thought π«Άchar * ivout[258]β output character array with the updated initialization vector, orNULL. she gives you back a new one, iconic.const char * inβ the input character array of data to encrypt/decrypt. the actual snack.size_t inlenβ length of that input data array. again, lengths matter, always.char ** outβ a newly allocated character array with the encrypted/decrypted data. newly allocated!! remember that for later, it's important π
π DESCRIPTION π
So: this function encrypts or decrypts data (whichever one, it depends on decryptp, see above bestie) using ARCFOUR. and listen β the out buffer must be deallocated by the caller. that's you. that's your job now. no one else is gonna free it. not me, not shishi, not the universe. you. π«΅
Now, the "initialization vector" being used here β and I'm putting that in quotes because the manpage does, and honestly it's for a reason β is the concatenation of the sbox and i and j, and it is therefore always of size 256 + 1 + 1. yeah. that math. that's the whole thing.
this is a slight abuse of terminology, and it assumes you know what you are doing. and like, it literally says don't use it if you can avoid to. that's not me being dramatic, that's the actual text. so if you can avoid it, AVOID IT. π
β RETURN VALUE β
Returns SHISHI_OK iff successful. that's it, that's the whole section. short queen behavior.
π REPORTING BUGS π
found a bug? not you being the main character of QA β¨ report it 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. (translation: take it, share it, just keep the receipts π§Ύπ)
π 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. iykyk π
okay bestie, that's the whole page β this was shishi version 1.0.3, and yes, the page is shishi_arcfour(3), dated and stamped just like that. go free your out buffer, stay hydrated, and don't touch that iv unless you truly know what you're doing π
ππ¦
π¦ where this page comes from
- debian bookworm: shishi-doc 1.0.3-1 Β· GPL-3.0-or-later
- debian trixie: shishi-doc 1.0.3-5 Β· GPL-3.0-or-later
- nixos 26.05: shishi 1.0.3
- nixpkgs unstable: shishi 1.0.3
- ubuntu noble: shishi-doc 1.0.3-2.1build2 Β· GPL-3.0-or-later
- ubuntu questing: shishi-doc 1.0.3-5
- ubuntu resolute: shishi-doc 1.0.3-5build1 Β· GPL-3.0-or-later
- ubuntu stonking: shishi-doc 1.0.3-7 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms