Cryptography is the science that studies how to keep data or messages remain secure when transmitted, from sender to receiver without interference from third parties.
According to Bruce Scheiner in his book "Applied Cryptography", cryptography is the science and art of keeping distributing messages to stay safe (secure).
Cryptographic concept itself has long been used by humans for example in Egypt and Roman civilizations although still very simple. The principles underlying cryptographic namely:
- Confidelity (confidentiality) is a service that the content of the message sent remains confidential and unknown to the other party (unless the sender, the receiver / parties have licenses). Generally this is done by creating a mathematical algorithm that is able to transform the data to be difficult to read and understand.
- Data integrity (integrity of data) that the service is able to recognize / detect any manipulation (deletion, modification or addition) unauthorized data (by others).
- Authentication (authenticity), namely services related to identification. Neither authenticate the parties involved in the delivery of data and authentication of the authenticity of the data / information.
In cryptography, there are two main concepts that encryption and decryption.
Encryption is the process whereby information / data to be sent is converted into a form that is barely recognizable as the information initially by using a specific algorithm.
Decryption is the reverse of encryption is to convert back into a disguised form of the initial information.
Cryptography algorithm is based on the type of key used can be divided into two types:
- Symmetric algorithm
- Where the key used for encryption and decryption process is the same key
- Asymmetric algorithm
- Where the key used for encryption and decryption use different keys.
- While based on the data that is processed in a single process, then the cryptographic algorithms can be divided into two types:
- Block cipher algorithm
- Information / data to be sent in the form of large blocks (eg 64-bit) in which these blocks are operated with the same encryption function and will produce confidential information in blocks of the same size.
- Stream cipher algorithm
- Information / data to be sent operated in the form of blocks which are smaller (bytes or bits), usually one character union unity process time, using an encryption transformation which is changing all the time.
- Non-repudiation (non-repudiation) is a service that can prevent a party to deny the action taken by the previous (denied that the message came from him).