PDFium Delphi Component Docs

FPdfSha3 jednotka

Unit: FPdfSha3
Bez-závislostní SHA3-256, SHA3-384, SHA3-512 a SHAKE256 s přírůstkovou absorpcí, jednorázovými pomocnými funkcemi a průběžným výstupem XOF

Syntax

TSha3Algorithm = (s3aSha3_256, s3aSha3_384, s3aSha3_512, s3aShake256);
TSha3Digest256 = array[0..31] of Byte;
TSha3Digest384 = array[0..47] of Byte;
TSha3Digest512 = array[0..63] of Byte;

procedure Sha3_256Init(out Ctx: TSha3Context);
procedure Sha3_384Init(out Ctx: TSha3Context);
procedure Sha3_512Init(out Ctx: TSha3Context);
procedure Shake256Init(out Ctx: TSha3Context);
procedure Sha3Update(var Ctx: TSha3Context; const Data; DataLength: Integer);
procedure Sha3_256Final(var Ctx: TSha3Context; out Digest: TSha3Digest256);
procedure Sha3_384Final(var Ctx: TSha3Context; out Digest: TSha3Digest384);
procedure Sha3_512Final(var Ctx: TSha3Context; out Digest: TSha3Digest512);
procedure Shake256Final(var Ctx: TSha3Context);
procedure Shake256Squeeze(var Ctx: TSha3Context; out Output; OutputLength: Integer);
function Shake256Bytes(const Data: TBytes; OutputLength: Integer): TBytes;

Description

FPdfSha3 implementuje rodinu SHA-3 podle FIPS 202, kterou vyžadují ISO/TS 32001 a související kryptografická rozšíření PDF 2.x, aniž by potřeboval kryptografického poskytovatele operačního systému

Hashe s pevným výstupem sdílejí jeden typ kontextu a finalizátory kontrolující algoritmus, zatímco SHAKE256 odděluje závěrečnou absorpci od výstupu, takže volající může požádat o libovolnou délku v jednom nebo více voláních Shake256Squeeze

Functions

FunctionDescription
Sha3_256Init, Sha3_384Init, Sha3_512InitInicializuje kontext SHA-3 s pevným výstupem
Shake256InitInicializuje kontext SHAKE256 s rozšiřitelným výstupem
Sha3UpdateAbsorbuje netypovaný vstupní buffer do libovolného inicializovaného kontextu
Sha3_256Final, Sha3_384Final, Sha3_512FinalDokončí odpovídající kontext a vrátí jeho otisk pevné délky
Shake256FinalDokončí absorpci SHAKE256 bez spotřebování výstupu
Shake256SqueezePokračuje ve výstupu SHAKE256 z aktuální pozice v opakovaných voláních
Sha3_256Bytes, Sha3_384Bytes, Sha3_512BytesZahashuje pole bajtů jedním voláním
Shake256BytesVrátí volajícím zvolený počet výstupních bajtů SHAKE256
Sha3_256Hex, Sha3_384Hex, Sha3_512HexPřevede pevný otisk na hexadecimální text psaný malými písmeny

Types

TypeDescription
TSha3AlgorithmUrčuje algoritmus zvolený v kontextu
TSha3Digest256, TSha3Digest384, TSha3Digest512Buffery otisků pevné velikosti
TSha3ContextPřírůstkový stav houby, buffer rychlosti, algoritmus a pozice vymačkávání
ESha3ErrorHlásí neplatné délky, nesprávné použití životního cyklu nebo neshodující se finalizátory

Remarks

See Also

FPdfSha256 | FPdfSha512