An Overview of Cryptography

Cryptography is the algorithm or process of encryption of plain data to cipher data and decryption of cipher data to plain data. A secret key(s) is used in this process and the length and type of keys are varies depending on the algorithm we choose.

Everyone wants their message is transfer over a network securely. Encryption also needs as it is required by organization or country law. There are many organizations and country having law that people may not share/upload data on FTP or cloud without encryption.

Basically, there are two type of cryptography is being used: Symmetric cryptography and Asymmetric cryptography.

Symmetric cryptography

It is one of the ways to encrypt the plain text and decrypt the cipher text via common/secret key. In this algorithm common/secret key is shared between all concern parties, so they can encrypt and decrypt the message with same keys.

Advantage of this approach is that implementation is simplest and faster than the asymmetric cryptography. However, main drawback is that we have to share the key securely between concern parties.

There are various symmetric algorithm available and it can mostly be classified in two categories : Stream and block cipher.

DES (Data Encryption Standard), Blowfish, RC4, AES (Advanced Encryption Standard) are the commonly and widely used symmetric algorithm.

Asymmetric cryptography

Asymmetric cryptography/encryption, also called as public key cryptography/encryption, is another way of encryption and using the key pair (public-key and private-key) instead of only one key in case of symmetric cryptography.

Here, public-key is used to encrypt the message and private-key is used to decrypt the message. Public-key may be shared to the users to encrypt the message. However, only authorized user who have corresponding private-key can decrypt the message. No one can decrypt the message if they have only public-key.

Advantage of the public-key is it is more secure than symmetric cryptography. However, it is much slower than the symmetric algorithm.

RSA (Rivest Shamir Adleman), ECC (Elliptic Curve Cryptographi) and Digital Signature Algorithm (DSA) are the widely used asymmetric encryption algorithm where public-private key pair is being used.

Public cryptography generally used 1024 bits long key. However, now a days key with 1024 bits length is not considering secure. However, increasing key length slow down the encryption/decryption process. So there is a trade off to choose the correct length of the key pair. Currently, 2048 bits long key is widely accepted and used.

Digital Signature Algorithm, is used to verify the sender. Here, sender and receiver respective keys to sign and verify the message. Sender digitally sign the message using his private-key. To make sure that the content is received of the correct sender, receiver verify the signature using corresponding public-key of the sender.

SPEC INDIA is a leading Java application development company from India, specialized in Java and J2EE technologies that provided best software solutions for all type of business. Such high-performance, flexible, future-ready, platform-independent software solutions are built using proven software development methodologies and best practices in architecture.

Post a Comment