Lemma UPD_OPAD: forall (key : list byte) (ZLI : Zlength (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Ipad) = 64) (ZLO : Zlength (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Opad) = 64) (i : Z) (I : 0 <= i < 64) (X : Znth i (map Vubyte (HMAC_SHA256.mkKey key)) = Vubyte (nth (Z.to_nat i) (HMAC_SHA256.mkKey key) Byte.zero)),upd_Znth i (sublist 0 i (map Vubyte (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Opad)) ++ sublist i 64 (map Vubyte (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Ipad))) (Vubyte (Byte.xor (Byte.repr 92) (nth (Z.to_nat i) (HMAC_SHA256.mkKey key) Byte.zero))) = sublist 0 (i + 1) (map Vubyte (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Opad)) ++ sublist (i + 1) 64 (map Vubyte (HMAC_SHA256.mkArg (HMAC_SHA256.mkKey key) Ipad)).