DEV Community

Cover image for Data Encyption
Daniel J
Daniel J

Posted on

Data Encyption

Encryption is a cryptographic act of taking a message and scrambling it to form another message to hide the contents of the original message. This principle plays a crucial role in our day to day lives in the form of data encryption. Because the internet is an open and public place, we need a way to secure our messages and private data that we transmit through the internet. It helps maintain security in our computer systems and applications to avoid having our sensitive private information secure on the web. So how exactly does our data go from plain text to cipher text(encrypted text), and how does that benefit me?

Before talking about data encryption as we know it today, it's important to know what came prior to what we have today as well as some key definitions. A message is encrypted into a certain number of bits, depending on the type of encryption, symmetric encryption works by breaking up the message into 64 bits, the length of the bit string is the block size. Without delving too deep into its history, data encryption up until 2001 was handled by the Data Encryption Standard. This standard was a symmetric key algorithm, meaning that the same key that was used to encrypt the message into cipher text, is the same key that is used to decrypt the message into plain text. This encryption standard has a 56 bit encryption key, meaning that they possible number of permutations being 2 to the 56th power. This should not be confused with the block sizes, as that refers to the number of blocks per stream ciphers, meaning the message that is being transmitted. This may sound like a lot but compared to what we use today, it pales in comparison. Modern computers are able to brute force decryption for 56 bit encryption much faster than computers during the time for Data Encryption Standard.

Symmetric encryption presents an issue as far as decryption goes, along with its small bit size, it's also impractical and inefficient to have two keys that share the same password between two parties. In enters Asymmetric encryption, specifically as it pertains to the Advanced Encryption Standard being combined with RSA encryption. AES uses a symmetric block cipher to store its 128 bits of data, and it's decryption keys have the option of being 128, 192, or 256 bits long, with each bit more being more secure than the last. This encryption method solves this issue in that it uses a mathematical algorithm to generate two separate keys, a public and a private key. There are many different algorithms used to generate keys, the most popular being RSA Say you want to send a message to your friend Bob and you don't want anyone else to read it. If Bob shares his public key with you, you can use it to send him the message, and in transmittal it will be encrypted so that no one can intercept that message or read it. The only way it can be decrypted, is with Bob's private key. This is because his public key is generated mathematically to match his private key so that only he can access any information transmitted to him. This is the key principle behind encryption and prevents antiquated technologies like DES.

asymmetric key

This RSA/AES encryption is used in every aspect of our data encryption today, anything you can think of that you use on a day to day basis is probably encrypted in AES, and if it isn't, your data is probably extremely vulnerable. Take for instance, HTTPs, this uses AES and if you dare venture to a site without it, you've probably received a warning message or two telling you that the site is unsecure. This is true for now, but with the advancement of technology, which seems to be logarithmically increasing every year, computers will soon catch up with AES in the same way that it did with DES. Once that happens, it's a scramble to standardize as much of the internet as possible to ensure that we all remain safe when we have access to things like quantum computers that can break AES encryption in minutes or seconds. This reality seems to be a very far way away, as even now, quantum computers are not widely available, and generally reserved for labs or universities. Quantum encryption standards seem to be the next frontier for encryption standards, as quantum computers can perform around a million computations at once while our normal computers can only do one at a time.

Top comments (0)