This might sound like a naive question (And maybe it is (It's an early morning Saturday thought, so there might be some clarity of thought missing)).
Suppose we havea protocol that sends messages as follows: Encrypt(<Message><Padding*>Hash(<Message>))
*Padding is optional, but if present pads out the message to the nearest 16 bytes either with NULL or with Random (happy to consider either option). Padding is not included in the Hash.
Does the presence of the hash compromise the security of the exchange? I tend to think that sending any redundancy in a predicatable format tends to open attack vectors - but am I overthinking this one?
NB: I assume the question is Algorithm independent, but if it's not he encryption as AES and the Hash ash SHA256
NB2: I'm interested whether it reduces security at all - I get that "reducing security" and making something feasaibly breakable are 2 different things. So I'm ok with an answer of "theoretically it makes it marginally less secure, but it's still good enough for all intents and purposes"....