What is cryptography or a cryptographic algorithm?
Cryptography involves the practice of encrypting and decrypting information to ensure it is kept private and secure from unintended parties. Cryptography was first used in about 1900 BC in Ancient Egypt with substituted hieroglyphics to secure communication. A cryptographic algorithm is the mathematical equation used to scramble the plain text and make it unreadable. They are used for data encryption, authentication and digital signatures.
There are three types of cryptography:
- Symmetric-key cryptography - Both sender and receiver share a single key and the sender uses this key to encrypt plaintext. The cipher text is sent to the receiver, and the receiver can apply this same key to decrypt the message and recover the plain text from the sender.
- Public-key or asymmetric cryptography –In public key cryptography (PKI), also known as asymmetric cryptography, there are two related keys called the public and private key. While the public key may be freely distributed, the paired private key must remain confidential. The public key is used for encryption and the private key is used for decryption.
The most used asymmetric cryptography algorithms are RSA and ECC. TLS/SSL certificates frequently use RSA keys, and the recommended size of these keys is continually increasing (e.g.1024 bit to 2048 bit) to maintain sufficient cryptographic strength. An alternative to RSA is ECC, which can offer the same level of cryptographic strength at much smaller key sizes, offering improved security with reduced computational and storage requirements.
- Hash-function – No key is used in this algorithm, but a fixed-length value is calculated from the plaintext, which makes it impossible for the contents of the plaintext to be recovered. Hash functions are often used by computer systems to encrypt passwords. A popular hash algorithm is 256-SHA.