Cryptography is the practice and study of techniques for secure communication in the presence of third party adversaries. Cryptography involves constructing secret codes, ways of disguising information in order that a sender can transmit it to an intended receiver so that an adversary who somehow intercepts the transmission will be unable to discern its meaning.
Before the modern era, cryptography focused on message confidentiality
(i.e., encryption). Encryption attempted to ensure secrecy in communications
such as those for spies, military leaders, and diplomats. In recent decades,
the field has expanded beyond confidentiality to include techniques for mass
integrity checking, sender/receiver identity authentication, digital signatures,
interactive proofs, and secure computation.
The basis of a cryptography system is normally some mathematical function, the "encryption algorithm," that encrypts the message.
For example, an encryption can have the following rules:
Then the message "zebra" would be encrypted as "ydaqz".
Basics Requirements of a Cryptography System
The difficulty of creating an algorithm was how easy it is to find a unique inverse of a function. For example, \(x-1\) can be decrypted with the inverse \(x+1\). The secret key also needed to be updated frequently.
However, if we consider modular equations, we can see how a residue can represent multiple solutions. Thus, it is harder to find the unique inverse.