Data Integrity

Why
Data integrity is important for our cryptographic systems because we need a way to know if the message came from a valid source and was not modified during transmission in order to ensure a secure system

What
Data integrity is the process of securing against unauthorized modification of messages

Symmetric Techniques
With symmetric data integrity techniques, just like with cryptosystems, we use the same key $$Ke = Kv$$ and cryptographic transformation functions $$f = g$$. In addition, the MDC created by a symmetric cryptographic technique is often referred to as a message authentication code or MAC for short. Below are a set of symmetric techniques that we may use for  the symmetric cryptographic transformation function
 * Cryptographic Hash Function

Requirements

 * Functions $$f, g$$ are cryptographic transformations
 * Encoding key $$Ke$$
 * Verification key $$Kv$$

Encoding
$$MDC = f(Ke, Data)$$

Decoding/Checking
Data integrity is guaranteed if $$g(Kv, Data, MDC) = True$$ and is not guaranteed if the value is $$False$$