Integrity (I) codes: Message Integrity Protection Over Insecure Channels