(59 . 6)(59 . 20)
390 Output : out Bitstream;
391 Block_Len : in Keccak_Rate := Default_Bitrate );
392
393 -- state based Sponge
394 type Keccak_Context (Block_Len: Keccak_Rate := Default_Bitrate) is
395 record
396 Internal: State := (others => (others => 0));
397 Block: Bitstream(1..Block_Len) := (others => 0);
398 Pos: Natural;
399 end record;
400
401 procedure KeccakBegin(Ctx: in out Keccak_Context);
402 procedure KeccakHash(Ctx: in out Keccak_Context;
403 Input: Bitstream);
404 procedure KeccakEnd(Ctx: in out Keccak_Context;
405 Output: out Bitstream);
406
407 private
408 -- these are internals of the keccak implementation, not meant to be directly
409 -- accessed/used