This article is about the basic concepts of cryptography; Further exploration of these concepts will be covered in the next article — In-depth Cryptography.
Cryptography is the technology used in converting data into unintelligible and unreadable text and vice-versa. It is a method of storing and transmitting data in a particular form so that only approved people can read and process it. Cryptography not only be used to encrypt and decrypt data, but can also be used for user authentication.
Modern Cryptography Concerns
- Confidentiality: Data cannot be understood by anyone apart from those for whom it is intended to see.
- Integrity: Information cannot be altered. This can be achieved by using the concept of cryptographic hash.
- Non-repudiation: The originator or sender of the data cannot deny their intentions in the transmission of the information at a later stage. One popular way to achieve this is to use of digital signatures.
- Authentication: The sender and receiver can confirm each other as the correct sender and receiver.
Three types of cryptographic techniques
- Symmetric-key Cryptography: Both the sender and receiver share a single key. The sender uses this key to encrypt the message while the receiver applies the same key to decrypt the message. The biggest problem with this technique is the distribution of key since it makes use of single key both encryption and decryption.
- Public-Key Cryptography (Asymmetric-key Cryptography): This is the most revolutionary concept in the last 300–400 years. In this technique, two related keys (public and private key) are used. A secure communication can take place between receiver and sender over insecure communication channel. The public key may be freely distributed, while its paired private key, remains a secret and is not revealed while the public key is shared with all those whom you want to communicate with. The public key is used for encryption and the private key is used for decryption. The RSA algorithm is asymmetric cryptography algorithm which is widely used in asymmetric cryptography.
- Hash Functions: No key is involved in this technique. A fixed-length hash value is computed as per the plain text message that makes it impossible for the contents of the plain text to be recovered. Hash functions are used to check the integrity of the message to ensure that the message has not be altered, compromised or affected by virus. A good example will be SHA256 hashing.
Usage of Cryptography
Nowadays, cryptography is used in many applications like banking transactions cards, computer passwords, and e-commerce transactions.
There are some examples:
- Cryptography makes secure web sites and electronic safe transmissions possible.
- Cryptography is also used in access control to regulate access such as in satellite and cable TV.
- Cryptography helps with secure multi-party computation. It provides solutions to various real-life problems such as private auctions, distributed voting, sharing of signature or decryption functions, and situations that require private information retrieval.
- Cryptography is widely used in cryptocurrency world, to easily verify each transaction and ensure the originator.
Steganography in Relation to Cryptography
A similar technology as cryptography is steganography.
The key concept of steganography is that the encrypted message to be transmitted is not detectable to the naked eye. In fact, people who the are not intended to be the recipients of the message should not even suspect that a hidden message exists.
The difference between steganography and cryptography is that in cryptography, the encryption of a message can be detected, but it cannot decrypted unless using the proper key. Whereas in steganography, the message itself may not be difficult to decrypt, but most people would not aware the existence of the message.
It will be very useful when steganography and cryptography is combined. It can provide two levels of security. In this way, a message can be encrypted with cryptography and the encryption within an image can be hidden with the help of steganography.