Module PAD := HMAC_Pad SHA256 I256.

Theorem HMAC_pad_concrete' (K : list byte) (M : list byte) (OP IP : byte)
(k m : Blist) (op ip : Blist):
((length K) * 8)%nat = (c + p)%nat ->
Zlength K = Z.of_nat SHA256.BlockSize ->
bytes_bits_lists k K ->
bytes_bits_lists m M ->
bytes_bits_lists op (HMAC_SHA256.sixtyfour OP) ->
bytes_bits_lists ip (HMAC_SHA256.sixtyfour IP) ->
sha.HMAC_spec_pad.HMAC c p B sha_h sha_iv sha_splitandpad op ip k m =
bytesToBits (HMAC_SHA256.HmacCore IP OP M K).