€•¾Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/translations/zh_CN/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/zh_TW/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/it_IT/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ja_JP/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ko_KR/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/pt_BR/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/sp_SP/crypto/sha3”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ)SPDX-License-Identifier: GPL-2.0-or-later”h]”hŒ)SPDX-License-Identifier: GPL-2.0-or-later”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ9/var/lib/git/docbuild/linux/Documentation/crypto/sha3.rst”h´KubhŒtarget”“”)�”}”(hŒ .. _sha3:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œsha3”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒSHA-3 Algorithm Collection”h]”hŒSHA-3 Algorithm Collection”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”hÔŒid3”uh1hÛhhØh²hh³hÇh´KubhŒtopic”“”)�”}”(hŒ Contents ”h]”(hÜ)�”}”(hŒContents”h]”hŒContents”…”�”}”(hhòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhîh³hÇh´K ubhŒ bullet_list”“”)�”}”(hhh]”hŒ list_item”“”)�”}”(hhh]”(hŒ paragraph”“”)�”}”(hhh]”hŒ reference”“”)�”}”(hhh]”hŒSHA-3 Algorithm Collection”…”�”}”(hjh²hh³Nh´Nubah}”(h]”hëah ]”h"]”h$]”h&]”Œrefid”Œsha-3-algorithm-collection”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubj)�”}”(hhh]”(j)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒOverview”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”Œid4”ah ]”h"]”h$]”h&]”Œrefid”Œoverview”uh1jhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubj)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒDigests”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”Œid5”ah ]”h"]”h$]”h&]”Œrefid”Œdigests”uh1jhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubj)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒExtendable-Output Functions”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”Œid6”ah ]”h"]”h$]”h&]”Œrefid”Œextendable-output-functions”uh1jhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubj)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒTesting”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”Œid7”ah ]”h"]”h$]”h&]”Œrefid”Œtesting”uh1jhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubj)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒ References”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”Œid8”ah ]”h"]”h$]”h&]”Œrefid”Œ references”uh1jhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubj)�”}”(hhh]”j )�”}”(hhh]”j)�”}”(hhh]”hŒAPI Function Reference”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”Œid9”ah ]”h"]”h$]”h&]”Œrefid”Œapi-function-reference”uh1jhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhîh²hh³Nh´Nubeh}”(h]”Œcontents”ah ]”Œcontents”ah"]”Œcontents”ah$]”h&]”uh1hìh³hÇh´K hhØh²hubh×)�”}”(hhh]”(hÜ)�”}”(hŒOverview”h]”hŒOverview”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”hÔj8uh1hÛhjh²hh³hÇh´K ubj )�”}”(hXThe SHA-3 family of algorithms, as specified in NIST FIPS-202 [1]_, contains six algorithms based on the Keccak sponge function. The differences between them are: the "rate" (how much of the state buffer gets updated with new data between invocations of the Keccak function and analogous to the "block size"), what domain separation suffix gets appended to the input data, and how much output data is extracted at the end. The Keccak sponge function is designed such that arbitrary amounts of output can be obtained for certain algorithms.”h]”(hŒ>The SHA-3 family of algorithms, as specified in NIST FIPS-202 ”…”�”}”(hj!h²hh³Nh´NubhŒfootnote_reference”“”)�”}”(hŒ[1]_”h]”hŒ1”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”hÔŒid2”Œdocname”Œ crypto/sha3”uh1j)hj!Œresolved”KubhXã, contains six algorithms based on the Keccak sponge function. The differences between them are: the “rateâ€� (how much of the state buffer gets updated with new data between invocations of the Keccak function and analogous to the “block sizeâ€�), what domain separation suffix gets appended to the input data, and how much output data is extracted at the end. The Keccak sponge function is designed such that arbitrary amounts of output can be obtained for certain algorithms.”…”�”}”(hj!h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjh²hubj )�”}”(hŒ$Four digest algorithms are provided:”h]”hŒ$Four digest algorithms are provided:”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjh²hubhŒ block_quote”“”)�”}”(hŒ,- SHA3-224 - SHA3-256 - SHA3-384 - SHA3-512 ”h]”j)�”}”(hhh]”(j)�”}”(hŒSHA3-224”h]”j )�”}”(hjah]”hŒSHA3-224”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubj)�”}”(hŒSHA3-256”h]”j )�”}”(hjxh]”hŒSHA3-256”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubj)�”}”(hŒSHA3-384”h]”j )�”}”(hj�h]”hŒSHA3-384”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubj)�”}”(hŒ SHA3-512 ”h]”j )�”}”(hŒSHA3-512”h]”hŒSHA3-512”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jh³hÇh´KhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³hÇh´Khjh²hubj )�”}”(hŒBAdditionally, two Extendable-Output Functions (XOFs) are provided:”h]”hŒBAdditionally, two Extendable-Output Functions (XOFs) are provided:”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjh²hubjW)�”}”(hŒ- SHAKE128 - SHAKE256 ”h]”j)�”}”(hhh]”(j)�”}”(hŒSHAKE128”h]”j )�”}”(hjáh]”hŒSHAKE128”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubj)�”}”(hŒ SHAKE256 ”h]”j )�”}”(hŒSHAKE256”h]”hŒSHAKE256”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K hjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubeh}”(h]”h ]”h"]”h$]”h&]”jÂjÃuh1jh³hÇh´KhjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³hÇh´Khjh²hubj )�”}”(hŒ•The SHA-3 library API supports all six of these algorithms. The four digest algorithms are also supported by the crypto_shash and crypto_ahash APIs.”h]”hŒ•The SHA-3 library API supports all six of these algorithms. The four digest algorithms are also supported by the crypto_shash and crypto_ahash APIs.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K"hjh²hubj )�”}”(hŒ.This document describes the SHA-3 library API.”h]”hŒ.This document describes the SHA-3 library API.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K%hjh²hubeh}”(h]”j>ah ]”h"]”Œoverview”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K ubh×)�”}”(hhh]”(hÜ)�”}”(hŒDigests”h]”hŒDigests”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”hÔjZuh1hÛhj=h²hh³hÇh´K)ubj )�”}”(hŒ/The following functions compute SHA-3 digests::”h]”hŒ.The following functions compute SHA-3 digests:”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K+hj=h²hubhŒ literal_block”“”)�”}”(hX'void sha3_224(const u8 *in, size_t in_len, u8 out[SHA3_224_DIGEST_SIZE]); void sha3_256(const u8 *in, size_t in_len, u8 out[SHA3_256_DIGEST_SIZE]); void sha3_384(const u8 *in, size_t in_len, u8 out[SHA3_384_DIGEST_SIZE]); void sha3_512(const u8 *in, size_t in_len, u8 out[SHA3_512_DIGEST_SIZE]);”h]”hX'void sha3_224(const u8 *in, size_t in_len, u8 out[SHA3_224_DIGEST_SIZE]); void sha3_256(const u8 *in, size_t in_len, u8 out[SHA3_256_DIGEST_SIZE]); void sha3_384(const u8 *in, size_t in_len, u8 out[SHA3_384_DIGEST_SIZE]); void sha3_512(const u8 *in, size_t in_len, u8 out[SHA3_512_DIGEST_SIZE]);”…”�”}”hj^sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´K-hj=h²hubj )�”}”(hŒˆFor users that need to pass in data incrementally, an incremental API is also provided. The incremental API uses the following struct::”h]”hŒ‡For users that need to pass in data incrementally, an incremental API is also provided. The incremental API uses the following struct:”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K2hj=h²hubj])�”}”(hŒstruct sha3_ctx { ... };”h]”hŒstruct sha3_ctx { ... };”…”�”}”hjzsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´K5hj=h²hubj )�”}”(hŒ$Initialization is done with one of::”h]”hŒ#Initialization is done with one of:”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K7hj=h²hubj])�”}”(hŒ§void sha3_224_init(struct sha3_ctx *ctx); void sha3_256_init(struct sha3_ctx *ctx); void sha3_384_init(struct sha3_ctx *ctx); void sha3_512_init(struct sha3_ctx *ctx);”h]”hŒ§void sha3_224_init(struct sha3_ctx *ctx); void sha3_256_init(struct sha3_ctx *ctx); void sha3_384_init(struct sha3_ctx *ctx); void sha3_512_init(struct sha3_ctx *ctx);”…”�”}”hj–sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´K9hj=h²hubj )�”}”(hŒ6Input data is then added with any number of calls to::”h]”hŒ5Input data is then added with any number of calls to:”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K>hj=h²hubj])�”}”(hŒDvoid sha3_update(struct sha3_ctx *ctx, const u8 *in, size_t in_len);”h]”hŒDvoid sha3_update(struct sha3_ctx *ctx, const u8 *in, size_t in_len);”…”�”}”hj²sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´K@hj=h²hubj )�”}”(hŒ(Finally, the digest is generated using::”h]”hŒ'Finally, the digest is generated using:”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KBhj=h²hubj])�”}”(hŒ/void sha3_final(struct sha3_ctx *ctx, u8 *out);”h]”hŒ/void sha3_final(struct sha3_ctx *ctx, u8 *out);”…”�”}”hjÎsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´KDhj=h²hubj )�”}”(hŒxwhich also zeroizes the context. The length of the digest is determined by the initialization function that was called.”h]”hŒxwhich also zeroizes the context. The length of the digest is determined by the initialization function that was called.”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KFhj=h²hubeh}”(h]”j`ah ]”h"]”Œdigests”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K)ubh×)�”}”(hhh]”(hÜ)�”}”(hŒExtendable-Output Functions”h]”hŒExtendable-Output Functions”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”hÔj|uh1hÛhjñh²hh³hÇh´KKubj )�”}”(hŒNThe following functions compute the SHA-3 extendable-output functions (XOFs)::”h]”hŒMThe following functions compute the SHA-3 extendable-output functions (XOFs):”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KMhjñh²hubj])�”}”(hŒ‰void shake128(const u8 *in, size_t in_len, u8 *out, size_t out_len); void shake256(const u8 *in, size_t in_len, u8 *out, size_t out_len);”h]”hŒ‰void shake128(const u8 *in, size_t in_len, u8 *out, size_t out_len); void shake256(const u8 *in, size_t in_len, u8 *out, size_t out_len);”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´KOhjñh²hubj )�”}”(hŒ¿For users that need to provide the input data incrementally and/or receive the output data incrementally, an incremental API is also provided. The incremental API uses the following struct::”h]”hŒ¾For users that need to provide the input data incrementally and/or receive the output data incrementally, an incremental API is also provided. The incremental API uses the following struct:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KRhjñh²hubj])�”}”(hŒstruct shake_ctx { ... };”h]”hŒstruct shake_ctx { ... };”…”�”}”hj,sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´KVhjñh²hubj )�”}”(hŒ$Initialization is done with one of::”h]”hŒ#Initialization is done with one of:”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KXhjñh²hubj])�”}”(hŒUvoid shake128_init(struct shake_ctx *ctx); void shake256_init(struct shake_ctx *ctx);”h]”hŒUvoid shake128_init(struct shake_ctx *ctx); void shake256_init(struct shake_ctx *ctx);”…”�”}”hjHsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´KZhjñh²hubj )�”}”(hŒ6Input data is then added with any number of calls to::”h]”hŒ5Input data is then added with any number of calls to:”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K]hjñh²hubj])�”}”(hŒFvoid shake_update(struct shake_ctx *ctx, const u8 *in, size_t in_len);”h]”hŒFvoid shake_update(struct shake_ctx *ctx, const u8 *in, size_t in_len);”…”�”}”hjdsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´K_hjñh²hubj )�”}”(hŒCFinally, the output data is extracted with any number of calls to::”h]”hŒBFinally, the output data is extracted with any number of calls to:”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kahjñh²hubj])�”}”(hŒCvoid shake_squeeze(struct shake_ctx *ctx, u8 *out, size_t out_len);”h]”hŒCvoid shake_squeeze(struct shake_ctx *ctx, u8 *out, size_t out_len);”…”�”}”hj€sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³hÇh´Kchjñh²hubj )�”}”(hŒïand telling it how much data should be extracted. Note that performing multiple squeezes, with the output laid consecutively in a buffer, gets exactly the same output as doing a single squeeze for the combined amount over the same buffer.”h]”hŒïand telling it how much data should be extracted. Note that performing multiple squeezes, with the output laid consecutively in a buffer, gets exactly the same output as doing a single squeeze for the combined amount over the same buffer.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kehjñh²hubj )�”}”(hŒah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jXh´KVhj@h²hubj×)�”}”(hhh]”j )�”}”(hŒ Context for SHAKE128 or SHAKE256”h]”hŒ Context for SHAKE128 or SHAKE256”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KZhjŠh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj@h²hh³jXh´KVubeh}”(h]”h ]”(jóŒstruct”eh"]”h$]”h&]”jøjójùj¥júj¥jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒh**Definition**:: struct shake_ctx { struct __sha3_ctx ctx; }; **Members** ``ctx`` private”h]”(j )�”}”(hŒ**Definition**::”h]”(j )�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ubhŒ:”…”�”}”(hj­h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K^hj©ubj])�”}”(hŒ0struct shake_ctx { struct __sha3_ctx ctx; };”h]”hŒ0struct shake_ctx { struct __sha3_ctx ctx; };”…”�”}”hjÊsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j\h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K`hj©ubj )�”}”(hŒ **Members**”h]”j )�”}”(hjÛh]”hŒMembers”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kdhj©ubjK)�”}”(hhh]”jP)�”}”(hŒ``ctx`` private”h]”(jV)�”}”(hŒ``ctx``”h]”j\)�”}”(hjúh]”hŒctx”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K[hjôubjr)�”}”(hhh]”j )�”}”(hŒprivate”h]”hŒprivate”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K\hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j h´K[hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhj©ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake_zeroize_ctx (C function)”Œc.shake_zeroize_ctx”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ.void shake_zeroize_ctx (struct shake_ctx *ctx)”h]”j|)�”}”(hŒ-void shake_zeroize_ctx(struct shake_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjT h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjP h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kbubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjP h²hh³jb h´Kbubj¥)�”}”(hŒshake_zeroize_ctx”h]”j«)�”}”(hŒshake_zeroize_ctx”h]”hŒshake_zeroize_ctx”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjq ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjP h²hh³jb h´Kbubjð)�”}”(hŒ(struct shake_ctx *ctx)”h]”jö)�”}”(hŒstruct shake_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj� ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj� ubh)�”}”(hhh]”j«)�”}”(hŒ shake_ctx”h]”hŒ shake_ctx”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj¬ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j± Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jw sbŒc.shake_zeroize_ctx”†”asbuh1hhj� ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj� ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÝ h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj� ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj� ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj‰ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjP h²hh³jb h´Kbubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjL h²hh³jb h´Kbubah}”(h]”jG ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jb h´KbhjI h²hubj×)�”}”(hhh]”j )�”}”(hŒZeroize a SHAKE context”h]”hŒZeroize a SHAKE context”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kbhj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjI h²hh³jb h´Kbubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj, júj, jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒv**Parameters** ``struct shake_ctx *ctx`` The context to zeroize **Description** Call this after the last squeeze.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj6 h]”hŒ Parameters”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kfhj0 ubjK)�”}”(hhh]”jP)�”}”(hŒ1``struct shake_ctx *ctx`` The context to zeroize ”h]”(jV)�”}”(hŒ``struct shake_ctx *ctx``”h]”j\)�”}”(hjU h]”hŒstruct shake_ctx *ctx”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KchjO ubjr)�”}”(hhh]”j )�”}”(hŒThe context to zeroize”h]”hŒThe context to zeroize”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jj h´Kchjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjO ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jj h´KchjL ubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhj0 ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj� h]”hŒ Description”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kehj0 ubj )�”}”(hŒ!Call this after the last squeeze.”h]”hŒ!Call this after the last squeeze.”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kdhj0 ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_224_init (C function)”Œc.sha3_224_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ)void sha3_224_init (struct sha3_ctx *ctx)”h]”j|)�”}”(hŒ(void sha3_224_init(struct sha3_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÕ h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjÑ h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kmubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjÑ h²hh³jã h´Kmubj¥)�”}”(hŒ sha3_224_init”h]”j«)�”}”(hŒ sha3_224_init”h]”hŒ sha3_224_init”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjò ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjÑ h²hh³jã h´Kmubjð)�”}”(hŒ(struct sha3_ctx *ctx)”h]”jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj ubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj- ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j2 Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jø sbŒc.sha3_224_init”†”asbuh1hhj ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjÑ h²hh³jã h´Kmubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjÍ h²hh³jã h´Kmubah}”(h]”jÈ ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jã h´KmhjÊ h²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHA3-224”h]”hŒ!Initialize a context for SHA3-224”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kmhj’ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjÊ h²hh³jã h´Kmubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj­ júj­ jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ¨**Parameters** ``struct sha3_ctx *ctx`` The context to initialize **Description** This begins a new SHA3-224 message digest computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj· h]”hŒ Parameters”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kqhj± ubjK)�”}”(hhh]”jP)�”}”(hŒ3``struct sha3_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hjÖ h]”hŒstruct sha3_ctx *ctx”…”�”}”(hjØ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÔ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KnhjÐ ubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jë h´Knhjì ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjÐ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jë h´KnhjÍ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhj± ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kphj± ubj )�”}”(hŒ6This begins a new SHA3-224 message digest computation.”h]”hŒ6This begins a new SHA3-224 message digest computation.”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kohj± ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj8 h]”hŒContext”…”�”}”(hj: h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kqhj± ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Krhj± ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_256_init (C function)”Œc.sha3_256_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ)void sha3_256_init (struct sha3_ctx *ctx)”h]”j|)�”}”(hŒ(void sha3_256_init(struct sha3_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj} h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjy h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K}ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjy h²hh³j‹ h´K}ubj¥)�”}”(hŒ sha3_256_init”h]”j«)�”}”(hŒ sha3_256_init”h]”hŒ sha3_256_init”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjš ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjy h²hh³j‹ h´K}ubjð)�”}”(hŒ(struct sha3_ctx *ctx)”h]”jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj¶ ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj¶ ubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hjØ h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÕ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jÚ Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j  sbŒc.sha3_256_init”†”asbuh1hhj¶ ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj¶ ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj¶ ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj¶ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj² ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjy h²hh³j‹ h´K}ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhju h²hh³j‹ h´K}ubah}”(h]”jp ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³j‹ h´K}hjr h²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHA3-256”h]”hŒ!Initialize a context for SHA3-256”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K}hj: h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjr h²hh³j‹ h´K}ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjU jújU jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ¨**Parameters** ``struct sha3_ctx *ctx`` The context to initialize **Description** This begins a new SHA3-256 message digest computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj_ h]”hŒ Parameters”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj] ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjY ubjK)�”}”(hhh]”jP)�”}”(hŒ3``struct sha3_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hj~ h]”hŒstruct sha3_ctx *ctx”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj| ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K~hjx ubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j“ h´K~hj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjx ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j“ h´K~hju ubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhjY ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj¹ h]”hŒ Description”…”�”}”(hj» h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K€hjY ubj )�”}”(hŒ6This begins a new SHA3-256 message digest computation.”h]”hŒ6This begins a new SHA3-256 message digest computation.”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KhjY ubj )�”}”(hŒ **Context**”h]”j )�”}”(hjà h]”hŒContext”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÞ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjY ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K‚hjY ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_384_init (C function)”Œc.sha3_384_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ)void sha3_384_init (struct sha3_ctx *ctx)”h]”j|)�”}”(hŒ(void sha3_384_init(struct sha3_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj!h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj!h²hh³j3h´K�ubj¥)�”}”(hŒ sha3_384_init”h]”j«)�”}”(hŒ sha3_384_init”h]”hŒ sha3_384_init”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjBubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj!h²hh³j3h´K�ubjð)�”}”(hŒ(struct sha3_ctx *ctx)”h]”jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj^ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj^ubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j‚Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jHsbŒc.sha3_384_init”†”asbuh1hhj^ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj^ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj^ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjZubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj!h²hh³j3h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjh²hh³j3h´K�ubah}”(h]”jah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³j3h´K�hjh²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHA3-384”h]”hŒ!Initialize a context for SHA3-384”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjâh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjh²hh³j3h´K�ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjýjújýjû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ¨**Parameters** ``struct sha3_ctx *ctx`` The context to initialize **Description** This begins a new SHA3-384 message digest computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K‘hjubjK)�”}”(hhh]”jP)�”}”(hŒ3``struct sha3_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hj&h]”hŒstruct sha3_ctx *ctx”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KŽhj ubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j;h´KŽhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j;h´KŽhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhjubj )�”}”(hŒ**Description**”h]”j )�”}”(hjah]”hŒ Description”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjubj )�”}”(hŒ6This begins a new SHA3-384 message digest computation.”h]”hŒ6This begins a new SHA3-384 message digest computation.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjubj )�”}”(hŒ **Context**”h]”j )�”}”(hjˆh]”hŒContext”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K‘hjubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K’hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_512_init (C function)”Œc.sha3_512_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ)void sha3_512_init (struct sha3_ctx *ctx)”h]”j|)�”}”(hŒ(void sha3_512_init(struct sha3_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjÉh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjÉh²hh³jÛh´K�ubj¥)�”}”(hŒ sha3_512_init”h]”j«)�”}”(hŒ sha3_512_init”h]”hŒ sha3_512_init”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjêubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjÉh²hh³jÛh´K�ubjð)�”}”(hŒ(struct sha3_ctx *ctx)”h]”jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j*Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jðsbŒc.sha3_512_init”†”asbuh1hhjubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjÉh²hh³jÛh´K�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjÅh²hh³jÛh´K�ubah}”(h]”jÀah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jÛh´K�hjÂh²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHA3-512”h]”hŒ!Initialize a context for SHA3-512”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K�hjŠh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjÂh²hh³jÛh´K�ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj¥júj¥jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ¨**Parameters** ``struct sha3_ctx *ctx`` The context to initialize **Description** This begins a new SHA3-512 message digest computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj¯h]”hŒ Parameters”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¡hj©ubjK)�”}”(hhh]”jP)�”}”(hŒ3``struct sha3_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hjÎh]”hŒstruct sha3_ctx *ctx”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KžhjÈubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jãh´Kžhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jãh´KžhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhj©ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K hj©ubj )�”}”(hŒ6This begins a new SHA3-512 message digest computation.”h]”hŒ6This begins a new SHA3-512 message digest computation.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KŸhj©ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj0h]”hŒContext”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¡hj©ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¢hj©ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_update (C function)”Œ c.sha3_update”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒDvoid sha3_update (struct sha3_ctx *ctx, const u8 *in, size_t in_len)”h]”j|)�”}”(hŒCvoid sha3_update(struct sha3_ctx *ctx, const u8 *in, size_t in_len)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjqh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K­ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjqh²hh³jƒh´K­ubj¥)�”}”(hŒ sha3_update”h]”j«)�”}”(hŒ sha3_update”h]”hŒ sha3_update”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj’ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjqh²hh³jƒh´K­ubjð)�”}”(hŒ3(struct sha3_ctx *ctx, const u8 *in, size_t in_len)”h]”(jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj®ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj®ubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÍubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jÒŒmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j˜sbŒ c.sha3_update”†”asbuh1hhj®ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj®ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj®ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjªubjö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jEŒmodname”NŒ classname”Nj3j6)�”}”j9]”jìŒ c.sha3_update”†”asbuh1hhj ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjªubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj•ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jšŒmodname”NŒ classname”Nj3j6)�”}”j9]”jìŒ c.sha3_update”†”asbuh1hhj‘ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj‘ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjªubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjqh²hh³jƒh´K­ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjmh²hh³jƒh´K­ubah}”(h]”jhah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jƒh´K­hjjh²hubj×)�”}”(hhh]”j )�”}”(hŒ-Update a SHA-3 digest context with input data”h]”hŒ-Update a SHA-3 digest context with input data”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K­hjëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjjh²hh³jƒh´K­ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjjújjû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hX{**Parameters** ``struct sha3_ctx *ctx`` The context to update; must have been initialized ``const u8 *in`` The input data ``size_t in_len`` Length of the input data in bytes **Description** This can be called any number of times to add data to a SHA3-224, SHA3-256, SHA3-384, or SHA3-512 digest (depending on which init function was called). **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K±hj ubjK)�”}”(hhh]”(jP)�”}”(hŒK``struct sha3_ctx *ctx`` The context to update; must have been initialized ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hj/h]”hŒstruct sha3_ctx *ctx”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K®hj)ubjr)�”}”(hhh]”j )�”}”(hŒ1The context to update; must have been initialized”h]”hŒ1The context to update; must have been initialized”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jDh´K®hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jDh´K®hj&ubjP)�”}”(hŒ ``const u8 *in`` The input data ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hjhh]”hŒ const u8 *in”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¯hjbubjr)�”}”(hhh]”j )�”}”(hŒThe input data”h]”hŒThe input data”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j}h´K¯hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j}h´K¯hj&ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hj¡h]”hŒ size_t in_len”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K°hj›ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j¶h´K°hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j¶h´K°hj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhj ubj )�”}”(hŒ**Description**”h]”j )�”}”(hjÜh]”hŒ Description”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K²hj ubj )�”}”(hŒ—This can be called any number of times to add data to a SHA3-224, SHA3-256, SHA3-384, or SHA3-512 digest (depending on which init function was called).”h]”hŒ—This can be called any number of times to add data to a SHA3-224, SHA3-256, SHA3-384, or SHA3-512 digest (depending on which init function was called).”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K±hj ubj )�”}”(hŒ **Context**”h]”j )�”}”(hjh]”hŒContext”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K´hj ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kµhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_final (C function)”Œ c.sha3_final”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ/void sha3_final (struct sha3_ctx *ctx, u8 *out)”h]”j|)�”}”(hŒ.void sha3_final(struct sha3_ctx *ctx, u8 *out)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjDh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¾ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjDh²hh³jVh´K¾ubj¥)�”}”(hŒ sha3_final”h]”j«)�”}”(hŒ sha3_final”h]”hŒ sha3_final”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjeubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjDh²hh³jVh´K¾ubjð)�”}”(hŒ(struct sha3_ctx *ctx, u8 *out)”h]”(jö)�”}”(hŒstruct sha3_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj�ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj�ubh)�”}”(hhh]”j«)�”}”(hŒsha3_ctx”h]”hŒsha3_ctx”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j¥Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jksbŒ c.sha3_final”†”asbuh1hhj�ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj�ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj�ubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj}ubjö)�”}”(hŒu8 *out”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj÷ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jüŒmodname”NŒ classname”Nj3j6)�”}”j9]”j¿Œ c.sha3_final”†”asbuh1hhjóubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjóubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjóubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjóubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj}ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjDh²hh³jVh´K¾ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj@h²hh³jVh´K¾ubah}”(h]”j;ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jVh´K¾hj=h²hubj×)�”}”(hhh]”j )�”}”(hŒ'Finish computing a SHA-3 message digest”h]”hŒ'Finish computing a SHA-3 message digest”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¾hjZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj=h²hh³jVh´K¾ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjujújujû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hX¬**Parameters** ``struct sha3_ctx *ctx`` The context to finalize; must have been initialized ``u8 *out`` (output) The resulting SHA3-224, SHA3-256, SHA3-384, or SHA3-512 message digest, matching the init function that was called. Note that the size differs for each one; see SHA3_*_DIGEST_SIZE. **Description** After finishing, this zeroizes **ctx**. So the caller does not need to do it. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjh]”hŒ Parameters”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÂhjyubjK)�”}”(hhh]”(jP)�”}”(hŒM``struct sha3_ctx *ctx`` The context to finalize; must have been initialized ”h]”(jV)�”}”(hŒ``struct sha3_ctx *ctx``”h]”j\)�”}”(hjžh]”hŒstruct sha3_ctx *ctx”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´K¿hj˜ubjr)�”}”(hhh]”j )�”}”(hŒ3The context to finalize; must have been initialized”h]”hŒ3The context to finalize; must have been initialized”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j³h´K¿hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j³h´K¿hj•ubjP)�”}”(hŒË``u8 *out`` (output) The resulting SHA3-224, SHA3-256, SHA3-384, or SHA3-512 message digest, matching the init function that was called. Note that the size differs for each one; see SHA3_*_DIGEST_SIZE. ”•h]”(jV)�”}”(hŒ ``u8 *out``”h]”j\)�”}”(hj×h]”hŒu8 *out”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÂhjÑubjr)�”}”(hhh]”j )�”}”(hŒ¾(output) The resulting SHA3-224, SHA3-256, SHA3-384, or SHA3-512 message digest, matching the init function that was called. Note that the size differs for each one; see SHA3_*_DIGEST_SIZE.”h]”hŒ¾(output) The resulting SHA3-224, SHA3-256, SHA3-384, or SHA3-512 message digest, matching the init function that was called. Note that the size differs for each one; see SHA3_*_DIGEST_SIZE.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÀhjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jìh´KÂhj•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhjyubj )�”}”(hŒ**Description**”h]”j )�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÄhjyubj )�”}”(hŒNAfter finishing, this zeroizes **ctx**. So the caller does not need to do it.”h]”(hŒAfter finishing, this zeroizes ”…”�”}”(hj)h²hh³Nh´Nubj )�”}”(hŒ**ctx**”h]”hŒctx”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj)ubhŒ(. So the caller does not need to do it.”…”�”}”(hj)h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÃhjyubj )�”}”(hŒ **Context**”h]”j )�”}”(hjLh]”hŒContext”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÅhjyubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÆhjyubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake128_init (C function)”Œc.shake128_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ*void shake128_init (struct shake_ctx *ctx)”h]”j|)�”}”(hŒ)void shake128_init(struct shake_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KËubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj�h²hh³jŸh´KËubj¥)�”}”(hŒ shake128_init”h]”j«)�”}”(hŒ shake128_init”h]”hŒ shake128_init”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj®ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj�h²hh³jŸh´KËubjð)�”}”(hŒ(struct shake_ctx *ctx)”h]”jö)�”}”(hŒstruct shake_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjÊubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjÊubh)�”}”(hhh]”j«)�”}”(hŒ shake_ctx”h]”hŒ shake_ctx”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjéubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jîŒmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j´sbŒc.shake128_init”†”asbuh1hhjÊubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjÊubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjÊubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjÆubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj�h²hh³jŸh´KËubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj‰h²hh³jŸh´KËubah}”(h]”j„ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jŸh´KËhj†h²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHAKE128”h]”hŒ!Initialize a context for SHAKE128”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KËhjNh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj†h²hh³jŸh´KËubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjijújijû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ»**Parameters** ``struct shake_ctx *ctx`` The context to initialize **Description** This begins a new SHAKE128 extendable-output function (XOF) computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjsh]”hŒ Parameters”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÏhjmubjK)�”}”(hhh]”jP)�”}”(hŒ4``struct shake_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct shake_ctx *ctx``”h]”j\)�”}”(hj’h]”hŒstruct shake_ctx *ctx”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÌhjŒubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j§h´KÌhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j§h´KÌhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhjmubj )�”}”(hŒ**Description**”h]”j )�”}”(hjÍh]”hŒ Description”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÎhjmubj )�”}”(hŒHThis begins a new SHAKE128 extendable-output function (XOF) computation.”h]”hŒHThis begins a new SHAKE128 extendable-output function (XOF) computation.”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÍhjmubj )�”}”(hŒ **Context**”h]”j )�”}”(hjôh]”hŒContext”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÏhjmubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÐhjmubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake256_init (C function)”Œc.shake256_init”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒ*void shake256_init (struct shake_ctx *ctx)”h]”j|)�”}”(hŒ)void shake256_init(struct shake_ctx *ctx)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj5h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÚubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj5h²hh³jGh´KÚubj¥)�”}”(hŒ shake256_init”h]”j«)�”}”(hŒ shake256_init”h]”hŒ shake256_init”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjVubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj5h²hh³jGh´KÚubjð)�”}”(hŒ(struct shake_ctx *ctx)”h]”jö)�”}”(hŒstruct shake_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjrubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjrubh)�”}”(hhh]”j«)�”}”(hŒ shake_ctx”h]”hŒ shake_ctx”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj‘ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j–Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j\sbŒc.shake256_init”†”asbuh1hhjrubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjrubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjrubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjrubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjnubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj5h²hh³jGh´KÚubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj1h²hh³jGh´KÚubah}”(h]”j,ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jGh´KÚhj.h²hubj×)�”}”(hhh]”j )�”}”(hŒ!Initialize a context for SHAKE256”h]”hŒ!Initialize a context for SHAKE256”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÚhjöh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj.h²hh³jGh´KÚubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjjújjû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hŒ»**Parameters** ``struct shake_ctx *ctx`` The context to initialize **Description** This begins a new SHAKE256 extendable-output function (XOF) computation. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÞhjubjK)�”}”(hhh]”jP)�”}”(hŒ4``struct shake_ctx *ctx`` The context to initialize ”h]”(jV)�”}”(hŒ``struct shake_ctx *ctx``”h]”j\)�”}”(hj:h]”hŒstruct shake_ctx *ctx”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÛhj4ubjr)�”}”(hhh]”j )�”}”(hŒThe context to initialize”h]”hŒThe context to initialize”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jOh´KÛhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jOh´KÛhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jJhjubj )�”}”(hŒ**Description**”h]”j )�”}”(hjuh]”hŒ Description”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÝhjubj )�”}”(hŒHThis begins a new SHAKE256 extendable-output function (XOF) computation.”h]”hŒHThis begins a new SHAKE256 extendable-output function (XOF) computation.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÜhjubj )�”}”(hŒ **Context**”h]”j )�”}”(hjœh]”hŒContext”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KÞhjubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kßhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake_update (C function)”Œc.shake_update”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒFvoid shake_update (struct shake_ctx *ctx, const u8 *in, size_t in_len)”h]”j|)�”}”(hŒEvoid shake_update(struct shake_ctx *ctx, const u8 *in, size_t in_len)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjÝh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kéubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjÝh²hh³jïh´Kéubj¥)�”}”(hŒ shake_update”h]”j«)�”}”(hŒ shake_update”h]”hŒ shake_update”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjþubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjÝh²hh³jïh´Kéubjð)�”}”(hŒ4(struct shake_ctx *ctx, const u8 *in, size_t in_len)”h]”(jö)�”}”(hŒstruct shake_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjubh)�”}”(hhh]”j«)�”}”(hŒ shake_ctx”h]”hŒ shake_ctx”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j>Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jsbŒc.shake_update”†”asbuh1hhjubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjubjö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjŒubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjŒubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j°Œmodname”NŒ classname”Nj3j6)�”}”j9]”jXŒc.shake_update”†”asbuh1hhjŒubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjŒubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjŒubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jŒmodname”NŒ classname”Nj3j6)�”}”j9]”jXŒc.shake_update”†”asbuh1hhjüubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjüubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjüubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjÝh²hh³jïh´Kéubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjÙh²hh³jïh´Kéubah}”(h]”jÔah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jïh´KéhjÖh²hubj×)�”}”(hhh]”j )�”}”(hŒ&Update a SHAKE context with input data”h]”hŒ&Update a SHAKE context with input data”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KéhjVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjÖh²hh³jïh´Kéubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjqjújqjû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXm**Parameters** ``struct shake_ctx *ctx`` The context to update; must have been initialized ``const u8 *in`` The input data ``size_t in_len`` Length of the input data in bytes **Description** This can be called any number of times to add more input data to SHAKE128 or SHAKE256. This cannot be called after squeezing has begun. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj{h]”hŒ Parameters”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KíhjuubjK)�”}”(hhh]”(jP)�”}”(hŒL``struct shake_ctx *ctx`` The context to update; must have been initialized ”h]”(jV)�”}”(hŒ``struct shake_ctx *ctx``”h]”j\)�”}”(hjšh]”hŒstruct shake_ctx *ctx”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kêhj”ubjr)�”}”(hhh]”j )�”}”(hŒ1The context to update; must have been initialized”h]”hŒ1The context to update; must have been initialized”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j¯h´Kêhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j¯h´Kêhj‘ubjP)�”}”(hŒ ``const u8 *in`` The input data ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hjÓh]”hŒ const u8 *in”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KëhjÍubjr)�”}”(hhh]”j )�”}”(hŒThe input data”h]”hŒThe input data”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jèh´Këhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jèh´Këhj‘ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hj h]”hŒ size_t in_len”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kìhjubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j!h´Kìhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j!h´Kìhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhjuubj )�”}”(hŒ**Description**”h]”j )�”}”(hjGh]”hŒ Description”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kîhjuubj )�”}”(hŒˆThis can be called any number of times to add more input data to SHAKE128 or SHAKE256. This cannot be called after squeezing has begun.”h]”hŒˆThis can be called any number of times to add more input data to SHAKE128 or SHAKE256. This cannot be called after squeezing has begun.”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kíhjuubj )�”}”(hŒ **Context**”h]”j )�”}”(hjnh]”hŒContext”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kðhjuubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kñhjuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake_squeeze (C function)”Œc.shake_squeeze”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒCvoid shake_squeeze (struct shake_ctx *ctx, u8 *out, size_t out_len)”h]”j|)�”}”(hŒBvoid shake_squeeze(struct shake_ctx *ctx, u8 *out, size_t out_len)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj¯h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kúubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj¯h²hh³jÁh´Kúubj¥)�”}”(hŒ shake_squeeze”h]”j«)�”}”(hŒ shake_squeeze”h]”hŒ shake_squeeze”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÐubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj¯h²hh³jÁh´Kúubjð)�”}”(hŒ0(struct shake_ctx *ctx, u8 *out, size_t out_len)”h]”(jö)�”}”(hŒstruct shake_ctx *ctx”h]”(j‚)�”}”(hj…h]”hŒstruct”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjìubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjìubh)�”}”(hhh]”j«)�”}”(hŒ shake_ctx”h]”hŒ shake_ctx”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jŒmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jÖsbŒc.shake_squeeze”†”asbuh1hhjìubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjìubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjìubj«)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjèubjö)�”}”(hŒu8 *out”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjbubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jgŒmodname”NŒ classname”Nj3j6)�”}”j9]”j*Œc.shake_squeeze”†”asbuh1hhj^ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj^ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj^ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjèubjö)�”}”(hŒsize_t out_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj·ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j¼Œmodname”NŒ classname”Nj3j6)�”}”j9]”j*Œc.shake_squeeze”†”asbuh1hhj³ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj³ubj«)�”}”(hŒout_len”h]”hŒout_len”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj¯h²hh³jÁh´Kúubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj«h²hh³jÁh´Kúubah}”(h]”j¦ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jÁh´Kúhj¨h²hubj×)�”}”(hhh]”j )�”}”(hŒ)Generate output from SHAKE128 or SHAKE256”h]”hŒ)Generate output from SHAKE128 or SHAKE256”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kúhj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj¨h²hh³jÁh´Kúubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj(júj(jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hX'**Parameters** ``struct shake_ctx *ctx`` The context to squeeze; must have been initialized ``u8 *out`` Where to write the resulting output data ``size_t out_len`` The amount of data to extract to **out** in bytes **Description** This may be called multiple times. A number of consecutive squeezes laid end-to-end will yield the same output as one big squeeze generating the same total amount of output. More input cannot be provided after squeezing has begun. After the last squeeze, call shake_zeroize_ctx(). **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj2h]”hŒ Parameters”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kþhj,ubjK)�”}”(hhh]”(jP)�”}”(hŒM``struct shake_ctx *ctx`` The context to squeeze; must have been initialized ”h]”(jV)�”}”(hŒ``struct shake_ctx *ctx``”h]”j\)�”}”(hjQh]”hŒstruct shake_ctx *ctx”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´KûhjKubjr)�”}”(hhh]”j )�”}”(hŒ2The context to squeeze; must have been initialized”h]”hŒ2The context to squeeze; must have been initialized”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jfh´Kûhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jfh´KûhjHubjP)�”}”(hŒ5``u8 *out`` Where to write the resulting output data ”h]”(jV)�”}”(hŒ ``u8 *out``”h]”j\)�”}”(hjŠh]”hŒu8 *out”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kühj„ubjr)�”}”(hhh]”j )�”}”(hŒ(Where to write the resulting output data”h]”hŒ(Where to write the resulting output data”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jŸh´Kühj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jŸh´KühjHubjP)�”}”(hŒE``size_t out_len`` The amount of data to extract to **out** in bytes ”h]”(jV)�”}”(hŒ``size_t out_len``”h]”j\)�”}”(hjÃh]”hŒsize_t out_len”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kýhj½ubjr)�”}”(hhh]”j )�”}”(hŒ1The amount of data to extract to **out** in bytes”h]”(hŒ!The amount of data to extract to ”…”�”}”(hjÜh²hh³Nh´Nubj )�”}”(hŒ**out**”h]”hŒout”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubhŒ in bytes”…”�”}”(hjÜh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³jØh´KýhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jØh´KýhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhj,ubj )�”}”(hŒ**Description**”h]”j )�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kÿhj,ubj )�”}”(hXThis may be called multiple times. A number of consecutive squeezes laid end-to-end will yield the same output as one big squeeze generating the same total amount of output. More input cannot be provided after squeezing has begun. After the last squeeze, call shake_zeroize_ctx().”h]”hXThis may be called multiple times. A number of consecutive squeezes laid end-to-end will yield the same output as one big squeeze generating the same total amount of output. More input cannot be provided after squeezing has begun. After the last squeeze, call shake_zeroize_ctx().”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Kþhj,ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj7h]”hŒContext”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj,ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_224 (C function)”Œ c.sha3_224”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒIvoid sha3_224 (const u8 *in, size_t in_len, u8 out[SHA3_224_DIGEST_SIZE])”h]”j|)�”}”(hŒHvoid sha3_224(const u8 *in, size_t in_len, u8 out[SHA3_224_DIGEST_SIZE])”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjxh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjxh²hh³jŠh´M ubj¥)�”}”(hŒsha3_224”h]”j«)�”}”(hŒsha3_224”h]”hŒsha3_224”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj™ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjxh²hh³jŠh´M ubjð)�”}”(hŒ;(const u8 *in, size_t in_len, u8 out[SHA3_224_DIGEST_SIZE])”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjµubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjµubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÔubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jÙŒmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jŸsbŒ c.sha3_224”†”asbuh1hhjµubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjµubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjµubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj±ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj+ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j0 Œmodname”NŒ classname”Nj3j6)�”}”j9]”jóŒ c.sha3_224”†”asbuh1hhj' ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj' ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj' ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj±ubjö)�”}”(hŒu8 out[SHA3_224_DIGEST_SIZE]”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjs ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jx Œmodname”NŒ classname”Nj3j6)�”}”j9]”jóŒ c.sha3_224”†”asbuh1hhjo ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjo ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjo ubjP)�”}”(hŒ[”h]”hŒ[”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjo ubh)�”}”(hhh]”j«)�”}”(hŒSHA3_224_DIGEST_SIZE”h]”hŒSHA3_224_DIGEST_SIZE”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj¾ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jà Œmodname”NŒ classname”Nj3j6)�”}”j9]”jóŒ c.sha3_224”†”asbuh1hhjo ubjP)�”}”(hŒ]”h]”hŒ]”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjo ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj±ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjxh²hh³jŠh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjth²hh³jŠh´M ubah}”(h]”joah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jŠh´M hjqh²hubj×)�”}”(hhh]”j )�”}”(hŒ#Compute SHA3-224 digest in one shot”h]”hŒ#Compute SHA3-224 digest in one shot”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hj!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjqh²hh³jŠh´M ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj!!júj!!jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXˆ**Parameters** ``const u8 *in`` The input data to be digested ``size_t in_len`` Length of the input data in bytes ``u8 out[SHA3_224_DIGEST_SIZE]`` The buffer into which the digest will be stored **Description** Convenience function that computes a SHA3-224 digest. Use this instead of the incremental API if you're able to provide all the input at once. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj+!h]”hŒ Parameters”…”�”}”(hj-!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj)!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hj%!ubjK)�”}”(hhh]”(jP)�”}”(hŒ/``const u8 *in`` The input data to be digested ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hjJ!h]”hŒ const u8 *in”…”�”}”(hjL!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjH!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hjD!ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be digested”h]”hŒThe input data to be digested”…”�”}”(hjc!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j_!h´M hj`!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjD!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j_!h´M hjA!ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hjƒ!h]”hŒ size_t in_len”…”�”}”(hj…!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj�!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hj}!ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hjœ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j˜!h´M hj™!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj}!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j˜!h´M hjA!ubjP)�”}”(hŒQ``u8 out[SHA3_224_DIGEST_SIZE]`` The buffer into which the digest will be stored ”h]”(jV)�”}”(hŒ ``u8 out[SHA3_224_DIGEST_SIZE]``”h]”j\)�”}”(hj¼!h]”hŒu8 out[SHA3_224_DIGEST_SIZE]”…”�”}”(hj¾!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjº!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hj¶!ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the digest will be stored”h]”hŒ/The buffer into which the digest will be stored”…”�”}”(hjÕ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jÑ!h´M hjÒ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj¶!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jÑ!h´M hjA!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhj%!ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj÷!h]”hŒ Description”…”�”}”(hjù!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj%!ubj )�”}”(hŒ�Convenience function that computes a SHA3-224 digest. Use this instead of the incremental API if you're able to provide all the input at once.”h]”hŒ‘Convenience function that computes a SHA3-224 digest. Use this instead of the incremental API if you’re able to provide all the input at once.”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M hj%!ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj"h]”hŒContext”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj%!ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj4"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj%!ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_256 (C function)”Œ c.sha3_256”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒIvoid sha3_256 (const u8 *in, size_t in_len, u8 out[SHA3_256_DIGEST_SIZE])”h]”j|)�”}”(hŒHvoid sha3_256(const u8 *in, size_t in_len, u8 out[SHA3_256_DIGEST_SIZE])”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjc"h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj_"h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj_"h²hh³jq"h´Mubj¥)�”}”(hŒsha3_256”h]”j«)�”}”(hŒsha3_256”h]”hŒsha3_256”…”�”}”(hj„"h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj€"ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj_"h²hh³jq"h´Mubjð)�”}”(hŒ;(const u8 *in, size_t in_len, u8 out[SHA3_256_DIGEST_SIZE])”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjœ"ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjœ"ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj¾"h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj»"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jÀ"Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j†"sbŒ c.sha3_256”†”asbuh1hhjœ"ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjœ"ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjì"h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjœ"ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hjù"h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjœ"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj˜"ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j#Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÚ"Œ c.sha3_256”†”asbuh1hhj#ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3#h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj#ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hjA#h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj˜"ubjö)�”}”(hŒu8 out[SHA3_256_DIGEST_SIZE]”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj]#h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjZ#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j_#Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÚ"Œ c.sha3_256”†”asbuh1hhjV#ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{#h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjV#ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hj‰#h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjV#ubjP)�”}”(hj² h]”hŒ[”…”�”}”(hj—#h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjV#ubh)�”}”(hhh]”j«)�”}”(hŒSHA3_256_DIGEST_SIZE”h]”hŒSHA3_256_DIGEST_SIZE”…”�”}”(hj§#h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj¤#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j©#Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÚ"Œ c.sha3_256”†”asbuh1hhjV#ubjP)�”}”(hjá h]”hŒ]”…”�”}”(hjÅ#h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjV#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj˜"ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj_"h²hh³jq"h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj["h²hh³jq"h´Mubah}”(h]”jV"ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jq"h´MhjX"h²hubj×)�”}”(hhh]”j )�”}”(hŒ#Compute SHA3-256 digest in one shot”h]”hŒ#Compute SHA3-256 digest in one shot”…”�”}”(hjî#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhjë#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjX"h²hh³jq"h´Mubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj$júj$jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXˆ**Parameters** ``const u8 *in`` The input data to be digested ``size_t in_len`` Length of the input data in bytes ``u8 out[SHA3_256_DIGEST_SIZE]`` The buffer into which the digest will be stored **Description** Convenience function that computes a SHA3-256 digest. Use this instead of the incremental API if you're able to provide all the input at once. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj$h]”hŒ Parameters”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj $ubjK)�”}”(hhh]”(jP)�”}”(hŒ/``const u8 *in`` The input data to be digested ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hj/$h]”hŒ const u8 *in”…”�”}”(hj1$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj-$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj)$ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be digested”h]”hŒThe input data to be digested”…”�”}”(hjH$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jD$h´MhjE$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj)$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jD$h´Mhj&$ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hjh$h]”hŒ size_t in_len”…”�”}”(hjj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjf$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhjb$ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hj�$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j}$h´Mhj~$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjb$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j}$h´Mhj&$ubjP)�”}”(hŒQ``u8 out[SHA3_256_DIGEST_SIZE]`` The buffer into which the digest will be stored ”h]”(jV)�”}”(hŒ ``u8 out[SHA3_256_DIGEST_SIZE]``”h]”j\)�”}”(hj¡$h]”hŒu8 out[SHA3_256_DIGEST_SIZE]”…”�”}”(hj£$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjŸ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj›$ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the digest will be stored”h]”hŒ/The buffer into which the digest will be stored”…”�”}”(hjº$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j¶$h´Mhj·$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj›$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j¶$h´Mhj&$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhj $ubj )�”}”(hŒ**Description**”h]”j )�”}”(hjÜ$h]”hŒ Description”…”�”}”(hjÞ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj $ubj )�”}”(hŒ�Convenience function that computes a SHA3-256 digest. Use this instead of the incremental API if you're able to provide all the input at once.”h]”hŒ‘Convenience function that computes a SHA3-256 digest. Use this instead of the incremental API if you’re able to provide all the input at once.”…”�”}”(hjò$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj $ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj%h]”hŒContext”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj $ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´Mhj $ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_384 (C function)”Œ c.sha3_384”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒIvoid sha3_384 (const u8 *in, size_t in_len, u8 out[SHA3_384_DIGEST_SIZE])”h]”j|)�”}”(hŒHvoid sha3_384(const u8 *in, size_t in_len, u8 out[SHA3_384_DIGEST_SIZE])”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjH%h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjD%h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M#ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjD%h²hh³jV%h´M#ubj¥)�”}”(hŒsha3_384”h]”j«)�”}”(hŒsha3_384”h]”hŒsha3_384”…”�”}”(hji%h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhje%ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjD%h²hh³jV%h´M#ubjð)�”}”(hŒ;(const u8 *in, size_t in_len, u8 out[SHA3_384_DIGEST_SIZE])”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hj…%h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hj�%ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj�%ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj£%h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj %ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j¥%Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jk%sbŒ c.sha3_384”†”asbuh1hhj�%ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj�%ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÑ%h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj�%ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hjÞ%h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj�%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj}%ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjú%h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj÷%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jü%Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¿%Œ c.sha3_384”†”asbuh1hhjó%ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjó%ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hj&&h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjó%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj}%ubjö)�”}”(hŒu8 out[SHA3_384_DIGEST_SIZE]”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjB&h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj?&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jD&Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¿%Œ c.sha3_384”†”asbuh1hhj;&ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`&h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj;&ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hjn&h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj;&ubjP)�”}”(hj² h]”hŒ[”…”�”}”(hj|&h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj;&ubh)�”}”(hhh]”j«)�”}”(hŒSHA3_384_DIGEST_SIZE”h]”hŒSHA3_384_DIGEST_SIZE”…”�”}”(hjŒ&h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj‰&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jŽ&Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¿%Œ c.sha3_384”†”asbuh1hhj;&ubjP)�”}”(hjá h]”hŒ]”…”�”}”(hjª&h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj;&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj}%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjD%h²hh³jV%h´M#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj@%h²hh³jV%h´M#ubah}”(h]”j;%ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jV%h´M#hj=%h²hubj×)�”}”(hhh]”j )�”}”(hŒ#Compute SHA3-384 digest in one shot”h]”hŒ#Compute SHA3-384 digest in one shot”…”�”}”(hjÓ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M#hjÐ&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj=%h²hh³jV%h´M#ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjë&jújë&jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXˆ**Parameters** ``const u8 *in`` The input data to be digested ``size_t in_len`` Length of the input data in bytes ``u8 out[SHA3_384_DIGEST_SIZE]`` The buffer into which the digest will be stored **Description** Convenience function that computes a SHA3-384 digest. Use this instead of the incremental API if you're able to provide all the input at once. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjõ&h]”hŒ Parameters”…”�”}”(hj÷&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjó&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M'hjï&ubjK)�”}”(hhh]”(jP)�”}”(hŒ/``const u8 *in`` The input data to be digested ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hj'h]”hŒ const u8 *in”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M$hj'ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be digested”h]”hŒThe input data to be digested”…”�”}”(hj-'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j)'h´M$hj*'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j)'h´M$hj 'ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hjM'h]”hŒ size_t in_len”…”�”}”(hjO'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjK'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M%hjG'ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hjf'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jb'h´M%hjc'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjG'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jb'h´M%hj 'ubjP)�”}”(hŒQ``u8 out[SHA3_384_DIGEST_SIZE]`` The buffer into which the digest will be stored ”h]”(jV)�”}”(hŒ ``u8 out[SHA3_384_DIGEST_SIZE]``”h]”j\)�”}”(hj†'h]”hŒu8 out[SHA3_384_DIGEST_SIZE]”…”�”}”(hjˆ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj„'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M&hj€'ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the digest will be stored”h]”hŒ/The buffer into which the digest will be stored”…”�”}”(hjŸ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j›'h´M&hjœ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj€'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j›'h´M&hj 'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhjï&ubj )�”}”(hŒ**Description**”h]”j )�”}”(hjÁ'h]”hŒ Description”…”�”}”(hjÃ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M(hjï&ubj )�”}”(hŒ�Convenience function that computes a SHA3-384 digest. Use this instead of the incremental API if you're able to provide all the input at once.”h]”hŒ‘Convenience function that computes a SHA3-384 digest. Use this instead of the incremental API if you’re able to provide all the input at once.”…”�”}”(hj×'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M'hjï&ubj )�”}”(hŒ **Context**”h]”j )�”}”(hjè'h]”hŒContext”…”�”}”(hjê'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M*hjï&ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjþ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M+hjï&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒsha3_512 (C function)”Œ c.sha3_512”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒIvoid sha3_512 (const u8 *in, size_t in_len, u8 out[SHA3_512_DIGEST_SIZE])”h]”j|)�”}”(hŒHvoid sha3_512(const u8 *in, size_t in_len, u8 out[SHA3_512_DIGEST_SIZE])”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj-(h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj)(h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M0ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj)(h²hh³j;(h´M0ubj¥)�”}”(hŒsha3_512”h]”j«)�”}”(hŒsha3_512”h]”hŒsha3_512”…”�”}”(hjN(h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjJ(ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj)(h²hh³j;(h´M0ubjð)�”}”(hŒ;(const u8 *in, size_t in_len, u8 out[SHA3_512_DIGEST_SIZE])”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hjj(h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjf(ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjf(ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjˆ(h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj…(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jŠ(Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jP(sbŒ c.sha3_512”†”asbuh1hhjf(ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjf(ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj¶(h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjf(ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hjÃ(h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjf(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjb(ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjß(h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÜ(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”já(Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¤(Œ c.sha3_512”†”asbuh1hhjØ(ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjØ(ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjØ(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjb(ubjö)�”}”(hŒu8 out[SHA3_512_DIGEST_SIZE]”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj')h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj$)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j))Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¤(Œ c.sha3_512”†”asbuh1hhj )ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE)h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj )ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hjS)h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj )ubjP)�”}”(hj² h]”hŒ[”…”�”}”(hja)h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj )ubh)�”}”(hhh]”j«)�”}”(hŒSHA3_512_DIGEST_SIZE”h]”hŒSHA3_512_DIGEST_SIZE”…”�”}”(hjq)h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjn)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”js)Œmodname”NŒ classname”Nj3j6)�”}”j9]”j¤(Œ c.sha3_512”†”asbuh1hhj )ubjP)�”}”(hjá h]”hŒ]”…”�”}”(hj�)h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj )ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjb(ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj)(h²hh³j;(h´M0ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj%(h²hh³j;(h´M0ubah}”(h]”j (ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³j;(h´M0hj"(h²hubj×)�”}”(hhh]”j )�”}”(hŒ#Compute SHA3-512 digest in one shot”h]”hŒ#Compute SHA3-512 digest in one shot”…”�”}”(hj¸)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M0hjµ)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj"(h²hh³j;(h´M0ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjÐ)jújÐ)jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXˆ**Parameters** ``const u8 *in`` The input data to be digested ``size_t in_len`` Length of the input data in bytes ``u8 out[SHA3_512_DIGEST_SIZE]`` The buffer into which the digest will be stored **Description** Convenience function that computes a SHA3-512 digest. Use this instead of the incremental API if you're able to provide all the input at once. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjÚ)h]”hŒ Parameters”…”�”}”(hjÜ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M4hjÔ)ubjK)�”}”(hhh]”(jP)�”}”(hŒ/``const u8 *in`` The input data to be digested ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hjù)h]”hŒ const u8 *in”…”�”}”(hjû)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj÷)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M1hjó)ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be digested”h]”hŒThe input data to be digested”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j*h´M1hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjó)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j*h´M1hjð)ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hj2*h]”hŒ size_t in_len”…”�”}”(hj4*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj0*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M2hj,*ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hjK*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jG*h´M2hjH*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj,*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jG*h´M2hjð)ubjP)�”}”(hŒQ``u8 out[SHA3_512_DIGEST_SIZE]`` The buffer into which the digest will be stored ”h]”(jV)�”}”(hŒ ``u8 out[SHA3_512_DIGEST_SIZE]``”h]”j\)�”}”(hjk*h]”hŒu8 out[SHA3_512_DIGEST_SIZE]”…”�”}”(hjm*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hji*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M3hje*ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the digest will be stored”h]”hŒ/The buffer into which the digest will be stored”…”�”}”(hj„*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j€*h´M3hj�*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhje*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j€*h´M3hjð)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhjÔ)ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj¦*h]”hŒ Description”…”�”}”(hj¨*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M5hjÔ)ubj )�”}”(hŒ�Convenience function that computes a SHA3-512 digest. Use this instead of the incremental API if you're able to provide all the input at once.”h]”hŒ‘Convenience function that computes a SHA3-512 digest. Use this instead of the incremental API if you’re able to provide all the input at once.”…”�”}”(hj¼*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M4hjÔ)ubj )�”}”(hŒ **Context**”h]”j )�”}”(hjÍ*h]”hŒContext”…”�”}”(hjÏ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjË*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M7hjÔ)ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjã*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M8hjÔ)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake128 (C function)”Œ c.shake128”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒDvoid shake128 (const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”j|)�”}”(hŒCvoid shake128(const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hj+h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M=ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj+h²hh³j +h´M=ubj¥)�”}”(hŒshake128”h]”j«)�”}”(hŒshake128”h]”hŒshake128”…”�”}”(hj3+h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj/+ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hj+h²hh³j +h´M=ubjð)�”}”(hŒ6(const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hjO+h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjK+ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjK+ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjm+h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjj+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jo+Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/j5+sbŒ c.shake128”†”asbuh1hhjK+ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjK+ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj›+h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjK+ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hj¨+h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjK+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjG+ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÄ+h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjÁ+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jÆ+Œmodname”NŒ classname”Nj3j6)�”}”j9]”j‰+Œ c.shake128”†”asbuh1hhj½+ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj½+ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hjð+h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj½+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjG+ubjö)�”}”(hŒu8 *out”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj ,h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj ,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j,Œmodname”NŒ classname”Nj3j6)�”}”j9]”j‰+Œ c.shake128”†”asbuh1hhj,ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*,h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj,ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hj8,h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj,ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hjE,h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjG+ubjö)�”}”(hŒsize_t out_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hja,h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj^,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jc,Œmodname”NŒ classname”Nj3j6)�”}”j9]”j‰+Œ c.shake128”†”asbuh1hhjZ,ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjZ,ubj«)�”}”(hŒout_len”h]”hŒout_len”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjZ,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhjG+ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhj+h²hh³j +•ÎEh´M=ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhj +h²hh³j +h´M=ubah}”(h]”j+ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³j +h´M=hj+h²hubj×)�”}”(hhh]”j )�”}”(hŒCompute SHAKE128 in one shot”h]”hŒCompute SHAKE128 in one shot”…”�”}”(hj·,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M=hj´,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj+h²hh³j +h´M=ubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùjÏ,jújÏ,jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXþ**Parameters** ``const u8 *in`` The input data to be used ``size_t in_len`` Length of the input data in bytes ``u8 *out`` The buffer into which the output will be stored ``size_t out_len`` Length of the output to produce in bytes **Description** Convenience function that computes SHAKE128 in one shot. Use this instead of the incremental API if you're able to provide all the input at once as well as receive all the output at once. All output lengths are supported. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hjÙ,h]”hŒ Parameters”…”�”}”(hjÛ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MAhjÓ,ubjK)�”}”(hhh]”(jP)�”}”(hŒ+``const u8 *in`` The input data to be used ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hjø,h]”hŒ const u8 *in”…”�”}”(hjú,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjö,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M>hjò,ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be used”h]”hŒThe input data to be used”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j -h´M>hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjò,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j -h´M>hjï,ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hj1-h]”hŒ size_t in_len”…”�”}”(hj3-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj/-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M?hj+-ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hjJ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jF-h´M?hjG-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj+-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jF-h´M?hjï,ubjP)�”}”(hŒ<``u8 *out`` The buffer into which the output will be stored ”h]”(jV)�”}”(hŒ ``u8 *out``”h]”j\)�”}”(hjj-h]”hŒu8 *out”…”�”}”(hjl-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjh-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´M@hjd-ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the output will be stored”h]”hŒ/The buffer into which the output will be stored”…”�”}”(hjƒ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j-h´M@hj€-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjd-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j-h´M@hjï,ubjP)�”}”(hŒ<``size_t out_len`` Length of the output to produce in bytes ”h]”(jV)�”}”(hŒ``size_t out_len``”h]”j\)�”}”(hj£-h]”hŒsize_t out_len”…”�”}”(hj¥-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj¡-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MAhj�-ubjr)�”}”(hhh]”j )�”}”(hŒ(Length of the output to produce in bytes”h]”hŒ(Length of the output to produce in bytes”…”�”}”(hj¼-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j¸-h´MAhj¹-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj�-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j¸-h´MAhjï,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhjÓ,ubj )�”}”(hŒ**Description**”h]”j )�”}”(hjÞ-h]”hŒ Description”…”�”}”(hjà-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MChjÓ,ubj )�”}”(hŒßConvenience function that computes SHAKE128 in one shot. Use this instead of the incremental API if you're able to provide all the input at once as well as receive all the output at once. All output lengths are supported.”h]”hŒáConvenience function that computes SHAKE128 in one shot. Use this instead of the incremental API if you’re able to provide all the input at once as well as receive all the output at once. All output lengths are supported.”…”�”}”(hjô-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MBhjÓ,ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj.h]”hŒContext”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MFhjÓ,ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MGhjÓ,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubj`)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jlŒshake256 (C function)”Œ c.shake256”hNt”auh1j_hjNh²hh³Nh´Nubjq)�”}”(hhh]”(jv)�”}”(hŒDvoid shake256 (const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”j|)�”}”(hŒCvoid shake256(const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”(j¸)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjJ.h²hh³Nh´Nubah}”(h]”h ]”jÄah"]”h$]”h&]”uh1j·hjF.h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MLubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjF.h²hh³jX.h´MLubj¥)�”}”(hŒshake256”h]”j«)�”}”(hŒshake256”h]”hŒshake256”…”�”}”(hjk.h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjg.ubah}”(h]”h ]”(j½j¾eh"]”h$]”h&]”hÅhÆuh1j¤hjF.h²hh³jX.h´MLubjð)�”}”(hŒ6(const u8 *in, size_t in_len, u8 *out, size_t out_len)”h]”(jö)�”}”(hŒ const u8 *in”h]”(j‚)�”}”(hj&h]”hŒconst”…”�”}”(hj‡.h²hh³Nh´Nubah}”(h]”h ]”jŽah"]”h$]”h&]”uh1j�hjƒ.ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjƒ.ubh)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj¥.h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj¢.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j§.Œmodname”NŒ classname”Nj3j6)�”}”j9]”j<)�”}”j/jm.sbŒ c.shake256”†”asbuh1hhjƒ.ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjƒ.ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjÓ.h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhjƒ.ubj«)�”}”(hŒin”h]”hŒin”…”�”}”(hjà.h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjƒ.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj.ubjö)�”}”(hŒ size_t in_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjü.h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjù.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jþ.Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÁ.Œ c.shake256”†”asbuh1hhjõ.ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hjõ.ubj«)�”}”(hŒin_len”h]”hŒin_len”…”�”}”(hj(/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjõ.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj.ubjö)�”}”(hŒu8 *out”h]”(h)�”}”(hhh]”j«)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjD/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhjA/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”jF/Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÁ.Œ c.shake256”†”asbuh1hhj=/ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj=/ubjP)�”}”(hjSh]”hŒ*”…”�”}”(hjp/h²hh³Nh´Nubah}”(h]”h ]”j\ah"]”h$]”h&]”uh1jOhj=/ubj«)�”}”(hŒout”h]”hŒout”…”�”}”(hj}/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj=/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj.ubjö)�”}”(hŒsize_t out_len”h]”(h)�”}”(hhh]”j«)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj™/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj–/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jóŒreftype”j/Œ reftarget”j›/Œmodname”NŒ classname”Nj3j6)�”}”j9]”jÁ.Œ c.shake256”†”asbuh1hhj’/ubj”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1j“hj’/ubj«)�”}”(hŒout_len”h]”hŒout_len”…”�”}”(hjÅ/h²hh³Nh´Nubah}”(h]”h ]”j¶ah"]”h$]”h&]”uh1jªhj’/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jõhj.ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jïhjF.h²hh³jX.h´MLubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjȈuh1j{jÉjÊhjB.h²hh³jX.h´MLubah}”(h]”j=.ah ]”(jÎjÏeh"]”h$]”h&]”jÓˆjÔ)jÕhuh1juh³jX.h´MLhj?.h²hubj×)�”}”(hhh]”j )�”}”(hŒCompute SHAKE256 in one shot”h]”hŒCompute SHAKE256 in one shot”…”�”}”(hjï/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MLhjì/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÖhj?.h²hh³jX.h´MLubeh}”(h]”h ]”(jóŒfunction”eh"]”h$]”h&]”jøjójùj0júj0jû‰jü‰jý‰uh1jph²hhjNh³Nh´Nubjÿ)�”}”(hXþ**Parameters** ``const u8 *in`` The input data to be used ``size_t in_len`` Length of the input data in bytes ``u8 *out`` The buffer into which the output will be stored ``size_t out_len`` Length of the output to produce in bytes **Description** Convenience function that computes SHAKE256 in one shot. Use this instead of the incremental API if you're able to provide all the input at once as well as receive all the output at once. All output lengths are supported. **Context** Any context.”h]”(j )�”}”(hŒ**Parameters**”h]”j )�”}”(hj0h]”hŒ Parameters”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MPhj 0ubjK)�”}”(hhh]”(jP)�”}”(hŒ+``const u8 *in`` The input data to be used ”h]”(jV)�”}”(hŒ``const u8 *in``”h]”j\)�”}”(hj00h]”hŒ const u8 *in”…”�”}”(hj20h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj.0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MMhj*0ubjr)�”}”(hhh]”j )�”}”(hŒThe input data to be used”h]”hŒThe input data to be used”…”�”}”(hjI0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jE0h´MMhjF0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhj*0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jE0h´MMhj'0ubjP)�”}”(hŒ4``size_t in_len`` Length of the input data in bytes ”h]”(jV)�”}”(hŒ``size_t in_len``”h]”j\)�”}”(hji0h]”hŒ size_t in_len”…”�”}”(hjk0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjg0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MNhjc0ubjr)�”}”(hhh]”j )�”}”(hŒ!Length of the input data in bytes”h]”hŒ!Length of the input data in bytes”…”�”}”(hj‚0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j~0h´MNhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjc0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j~0h´MNhj'0ubjP)�”}”(hŒ<``u8 *out`` The buffer into which the output will be stored ”h]”(jV)�”}”(hŒ ``u8 *out``”h]”j\)�”}”(hj¢0h]”hŒu8 *out”…”�”}”(hj¤0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hj 0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MOhjœ0ubjr)�”}”(hhh]”j )�”}”(hŒ/The buffer into which the output will be stored”h]”hŒ/The buffer into which the output will be stored”…”�”}”(hj»0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³j·0h´MOhj¸0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjœ0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³j·0h´MOhj'0ubjP)�”}”(hŒ<``size_t out_len`` Length of the output to produce in bytes ”h]”(jV)�”}”(hŒ``size_t out_len``”h]”j\)�”}”(hjÛ0h]”hŒsize_t out_len”…”�”}”(hjÝ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j[hjÙ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUh³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MPhjÕ0ubjr)�”}”(hhh]”j )�”}”(hŒ(Length of the output to produce in bytes”h]”hŒ(Length of the output to produce in bytes”…”�”}”(hjô0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³jð0h´MPhjñ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jqhjÕ0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jOh³jð0h´MPhj'0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jJhj 0ubj )�”}”(hŒ**Description**”h]”j )�”}”(hj1h]”hŒ Description”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MRhj 0ubj )�”}”(hŒßConvenience function that computes SHAKE256 in one shot. Use this instead of the incremental API if you're able to provide all the input at once as well as receive all the output at once. All output lengths are supported.”h]”hŒáConvenience function that computes SHAKE256 in one shot. Use this instead of the incremental API if you’re able to provide all the input at once as well as receive all the output at once. All output lengths are supported.”…”�”}”(hj,1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MQhj 0ubj )�”}”(hŒ **Context**”h]”j )�”}”(hj=1h]”hŒContext”…”�”}”(hj?1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MUhj 0ubj )�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjS1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/crypto/sha3:132: ./include/crypto/sha3.h”h´MVhj 0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jþhjNh²hh³Nh´Nubeh}”(h]”jèah ]”h"]”Œapi function reference”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K‚ubeh}”(h]”(jhÕeh ]”h"]”(Œsha-3 algorithm collection”Œsha3”eh$]”h&]”uh1hÖhhh²hh³hÇh´KŒexpect_referenced_by_name”}”ju1hÊsŒexpect_referenced_by_id”}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŸ1Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œ1”]”j+asŒrefids”}”hÕ]”hÊasŒnameids”}”(ju1hÕjt1jj j j:j>jîj`jÊj‚jþj¤jKjÆjDj:jm1jèuŒ nametypes”}”(ju1ˆjt1‰j ‰j:‰jî‰jʉjþ‰jK‰jDˆjm1‰uh}”(hÕhØjhØj hîj>jj5j+j`j=j‚jñj¤jÍjÆjj:jjèjNjnjwjªj¯j>jCjG jL jÈ jÍ jp ju jjjÀjÅjhjmj;j@j„j‰j,j1jÔjÙj¦j«jojtjV"j["j;%j@%j (j%(j+j +j=.jB.hëjj8j/jZjQj|jsjžj•jÀj·jâjÙuŒ footnote_refs”}”jß1]”j+asŒ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”jaŒ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”j­1K s…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)�”}”(hhh]”j )�”}”(hhh]”hŒ*Hyperlink target "sha3" is not referenced.”…”�”}”hj 2sbah}”(h]”h ]”h"]”h$]”h&]”uh1j hj 2ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1j2ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.