I've heard it stated that it is a common misconception that encryption provides data integrity.
A highly voted question on this topic - Does encryption guarantee integrity? - has some very insightful answers. For instance, the top voted answer states:
No. This is easy to see if you consider the one-time pad, a simple (theoretically) perfectly secure system. If you change any bit of the output, a bit of the clear text will change, and the recipient has no way to detect this.
That makes perfect sense, so I think it's clear that the answer to does encryption guarantee integrity is clearly no, but is it correct to state that encryption enables some other means of integrity verification, because an attacker may need to break confidentiality to determine what modification of a message can be applied and not be detected if a higher level integrity check on the data is applied?
For instance if a message already has some defined structure that a receiver is expecting(ie - only a subset of possible bit modifications would be valid), and the act of hiding the contents of that message makes it very difficult for an attacker to correctly select one of those possible modifications(or in fact if they have no information, the best they can do is randomly change bits), then in that case, encryption at least enables integrity, correct? Or viewed another way, because encryption could force an attacker to at best randomly change bits of the cipher text, then this could allow some pre-existing information to serve as some type of (perhaps not effective) integrity check? ie - changed bits could cause misspellings in a document, or could cause an encrypted code file to no longer correctly compile, despite a receiver somehow knowing the sender would not have misspelled those specific words, or would have sent compiling code.