shishi_pbkdf2_sha1(3)
β¨ shishi_pbkdf2_sha1 β¨
okay bestie, gather round, because we're about to talk about the shishi manual, section 3, and specifically the little icon that is shishi_pbkdf2_sha1 β an API function, no cap π
πΈ NAME πΈ
shishi_pbkdf2_sha1 β an API function. that's it, that's the name, she's an API function and she's serving π«Ά
π SYNOPSIS π
first things first, you gotta invite her in:
#include <shishi.h>
and then, the moment you've all been waiting for:
int shishi_pbkdf2_sha1(Shishi * handle, const char * P, size_t Plen,
const char * S, size_t Slen, unsigned int c, unsigned int dkLen, char *
DK);
seven arguments, all of them important, none of them optional. she's high maintenance but she's worth it π
π¦ ARGUMENTS π¦
Shishi * handleβ the shishi handle, as allocated byshishi_init(). your girl needs her handle, she does not do anything without it.const char * Pβ the input password, an octet string. yes bestie, the password.size_t Plenβ the length of that password. also an octet string. it's giving "we measure everything here".const char * Sβ the input salt, an octet string. gotta season it, periodt.size_t Slenβ the length of the salt, an octet string. measuring the seasoning, as one does.unsigned int cβ the iteration count, a positive integer. the more you iterate, the more it hurts (affectionately).unsigned int dkLenβ the intended length in octets of the derived key. a positive integer, and at most(2^32 - 1) * hLen. β οΈ and listen: theDKarray must have room for this many characters. not "roughly", not "about", this many. plan accordingly bestie.char * DKβ the output derived key, adkLen-octet string. this is where the magic lands. πͺ
π DESCRIPTION π
so what does she actually do? she derives a key using the PBKDF2 defined in PKCS5. that's the whole vibe.
PBKDF2 applies a pseudorandom function to derive keys. and the length of the derived key? essentially unbounded. like, go off, key, be as long as you want π
but wait β the maximum effective search space for the derived key may be limited by the structure of the underlying pseudorandom function, and in this function the underlying PRF is always SHA1. so jot that down. π
β RETURN VALUE β
Returns SHISHI_OK iff successful. that's the only answer we accept, honestly. if it's not SHISHI_OK, something went sideways and we don't talk about it π
π REPORTING BUGS π
found a bug? not me manifesting it, but if it happens, 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. iconic, honestly. free to share, 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 πβ¨
and that's the whole page, bestie π this was shishi version 1.0.3, and yes, she's still shishi_pbkdf2_sha1(3) β go forth and derive responsibly πΈπ«Ά
π¦ 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