Idris2Doc : Crypto.Hash.MerkleDamgard

Crypto.Hash.MerkleDamgard

(source)

Definitions

recordMerkleDamgard : Nat-> (0_ : Nat) -> (0_ : Type) ->Type
Totality: total
Visibility: public export
Constructor: 
MkMerkleDamgard : Vectinternal_state_nbyteword_type-> (buffer_nbyte : Nat) ->LTbuffer_nbyteblock_nbyte->Vectbuffer_nbyteBits8->Nat->MerkleDamgardinternal_state_nbyteblock_nbyteword_type

Projections:
.buffer : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->Vect (buffer_nbyte{rec:0}) Bits8
.buffer_nbyte : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
.buffer_nbyte_constraint : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->LT (buffer_nbyte{rec:0}) block_nbyte
.hash_values : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Vectinternal_state_nbyteword_type
.npassed_blocks : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
.hash_values : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Vectinternal_state_nbyteword_type
Visibility: public export
hash_values : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Vectinternal_state_nbyteword_type
Visibility: public export
.buffer_nbyte : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
Visibility: public export
buffer_nbyte : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
Visibility: public export
.buffer_nbyte_constraint : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->LT (buffer_nbyte{rec:0}) block_nbyte
Visibility: public export
buffer_nbyte_constraint : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->LT (buffer_nbyte{rec:0}) block_nbyte
Visibility: public export
.buffer : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->Vect (buffer_nbyte{rec:0}) Bits8
Visibility: public export
buffer : ({rec:0} : MerkleDamgardinternal_state_nbyteblock_nbyteword_type) ->Vect (buffer_nbyte{rec:0}) Bits8
Visibility: public export
.npassed_blocks : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
Visibility: public export
npassed_blocks : MerkleDamgardinternal_state_nbyteblock_nbyteword_type->Nat
Visibility: public export
mk_merkle_damgard : Vectinternal_state_nbyteword_type-> {auto0_ : LTE1block_nbyte} ->MerkleDamgardinternal_state_nbyteblock_nbyteword_type
Visibility: export
pad_lemma : LTE1block_nbyte-> (residue_max_nbyte+1) +length_nbyte=block_nbyte->LTEresidue_nbyteresidue_max_nbyte->plusresidue_nbyte (S (plus (minusresidue_max_nbyteresidue_nbyte) length_nbyte)) =block_nbyte
Visibility: public export
pad_over_lemma : (residue_max_nbyte+1) +length_nbyte=block_nbyte->LTresidue_nbyteblock_nbyte->plusresidue_nbyte (S (plus (plus (minusblock_nbyteresidue_nbyte) residue_max_nbyte) length_nbyte)) =plusblock_nbyte (plusblock_nbyte0)
Visibility: public export
pad_residue : (0_ : LTE1block_nbyte) -> (0_ : (residue_max_nbyte+1) +length_nbyte=block_nbyte) -> (0_ : LTEresidue_nbyteresidue_max_nbyte) ->Vectresidue_nbyteBits8->Vectlength_nbyteBits8->Vectblock_nbyteBits8
Visibility: public export
pad_over_residue : (0_ : LTE1block_nbyte) -> (0_ : (residue_max_nbyte+1) +length_nbyte=block_nbyte) -> (0_ : LTresidue_max_nbyteresidue_nbyte) -> (0_ : LTresidue_nbyteblock_nbyte) ->Vectresidue_nbyteBits8->Vectlength_nbyteBits8->Vect (2*block_nbyte) Bits8
Visibility: public export
pad_theorem : (0_ : LTE1block_nbyte) -> (0_ : (residue_max_nbyte+1) +length_nbyte=block_nbyte) -> (0_ : LTresidue_nbyteblock_nbyte) ->Vectresidue_nbyteBits8->Vectlength_nbyteBits8->Either (Vectblock_nbyteBits8) (Vect (block_nbyte+block_nbyte) Bits8)
Visibility: public export