with LSC.RIPEMD160, LSC.Types; use type LSC.Types.Word32; use type LSC.Types.Word64;
package LSC.HMAC_RIPEMD160 is
Context_Type
Context_Finalize
Context_Init
Context_Update
Get_Auth
type Context_Type is private;
function Context_Init (Key : RIPEMD160.Block_Type) return Context_Type;
Key
procedure Context_Update (Context : in out Context_Type; Block : in RIPEMD160.Block_Type); pragma Inline (Context_Update);
Context
Block
derives Context from *, Block;
procedure Context_Finalize (Context : in out Context_Type; Block : in RIPEMD160.Block_Type; Length : in RIPEMD160.Block_Length_Type); pragma Inline (Context_Finalize);
Length
derives Context from *, Block, Length;
function Get_Auth (Context : in Context_Type) return RIPEMD160.Hash_Type;
function Authenticate (Key : RIPEMD160.Block_Type; Message : RIPEMD160.Message_Type; Length : Types.Word64) return RIPEMD160.Hash_Type;
Message
pre Message'First + (Length / RIPEMD160.Block_Size) in Message'Range;
private -- Implementation-defined ...
end LSC.HMAC_RIPEMD160;