Module PAD := HMAC_Pad HF I.
Definition h_v (iv:Bvector EQ.c) (blk:Bvector EQ.b): Bvector EQ.c :=
of_list_length _
(EQ.h_length _ _ (VectorToList_length _ iv) (VectorToList_length _ blk)).
Definition ipd := Byte.repr 54.
Definition opd :=Byte.repr 92.
Definition IPAD:=bytesToBits (PAD.HM.sixtyfour ipd).
Definition OPAD:=bytesToBits (PAD.HM.sixtyfour opd).
unfold IPAD. rewrite bytesToBits_len, PAD.HM.length_SF, <- EQ.BS; trivial.
Qed.
unfold OPAD. rewrite bytesToBits_len, PAD.HM.length_SF, <- EQ.BS; trivial.
Qed.
Definition ipad_v: Bvector EQ.b := of_list_length _ IL.
Definition opad_v : Bvector EQ.b := of_list_length _ OL.
apply bytes_bits_comp_ind.
unfold PAD.HM.sixtyfour.
unfold opad_v. rewrite of_length_proof_irrel. reflexivity.
Qed.
apply bytes_bits_comp_ind.
unfold PAD.HM.sixtyfour.
unfold ipad_v. rewrite of_length_proof_irrel. reflexivity.
Qed.

Lemma BS_pos: (0< HF.BlockSize)%nat.