Wednesday, April 26, 2017

Encryption and Decryption

How to create your own encryption and decryption software !

Lets get to know what encryption and decryption is about before we create our own software.

Encryption is the process of converting plain text data also known as plaintext into something that appears to be random and meaningless (cypher text).
Decryption is the process of converting cipher text back to plaintext.



Encryption techniques can be basically divided in to two. That is using Symmetric and Asymmetric. Below will provide you an understanding on these concepts.

Asymmetric

Asymmetric encryption doesn't require to have a pre-shared key for communication. In this case the receiver and the sender has two keys assigned for them namely Private key and a Public key. Private key is only know the the owner and the Public key is known to every one.  Any message encrypted by a private key can only be decrypted by its relating public key and vice versa.
Well known asymmetric algorithms used as Deffie-Hellman, DSS, RSA, EIGamal and Elliptical curve techniques. Calculation used in theses algorithms are more complicated than in symmetric , hence it requires higher computational power and lacks speed. This is typically used in low volume cryptographic mechanisms


Symmetric


Symmetric encryption is also known as the shared secret key.  This is because the same pre-shared key is used in the process of encryption and decryption. Encryption algorithms used in the process such as DES, 3DES, AES, IDEA, RC2/4/5/6 are based on simple mathematical operations. Symmetric encryption uses keys with less key length as both parties guarding the key. This leads to faster execution.


Here is my encryption program.When the user click "Encrypt My Files" it will open the "File Manager " and user will have to select files to encrypt.







Now user will have to enter a password of eight characters long and press the "Proceed" button.
Then it will encrypt selected files.




In the decryption process when the user click on the "Decrypt My Files" button it will open the "File Manager" and user will have to select encrypted files to decrypt.





For the decryption process we have to use the same password that we use to encrypt and press the "Proceed" button.Then it will decrypt the files.






You can download the program

https://github.com/achalapramuditha/encryption-and-decryption/tree/master