In recent years, the battle over encryption has really heated up. Between accusations of governments, cyber criminals, and necessities of law enforcement, encryption has really taken center stage as a topic of importance in the digital age. People tend to agree that it's a good idea, but what is it? Why is it important? Does it work? These are a few fundamental questions I will attempt to briefly answer.
What is encryption?
Everything on a computer is data. The words in this blog post, the images in your photo album, your work documents, are just data as far as the computer is concerned. These pieces of data are measured in units that I'm sure you're familiar with - bytes, kilobytes, megabytes, etc. Let's say that a given file has a file size of 1 kilobyte. That means that that file takes up 1 kilobyte, or 1000 bytes, of space on your hard drive. A single byte consists of an even smaller unit (the smallest unit a computer can understand) known as a bit. Each byte contains 8 bits, much like how a foot contains 12 inches.
Without getting too into the weeds, each bit can be in one of two states. That means that each byte on disk has one of only 256 (that's 2 to the 8th power for those playing at home) potential values. Given that each byte can have a numerical value (0-255), you could say that every byte can be thought of (and truthfully is) some numerical value.
Now that we agree that data can be thought of as just numerical values, that implies that we can do mathematical operations on them. There are the types of math that we all know and love: addition, subtraction, multiplication, and division. But there are other kinds of math as well, particularly a system called modular arithmetic. This field of math lets us do some pretty interesting things with numbers, and in our case, data.
So, then, what is encryption? Encryption is a process that does some math-magical operations on your data to keep it secret from eavesdroppers.
How does it work?
Encryption works in various ways depending on the implementation that you're using. Generally, there is some number that is meant to be kept a secret, generally known as a private key. This key is used to do mathematical operations on your data to scramble it beyond recognition for the purposes of not being able to make sense of it if you're not supposed to be able to. Of course, there is a method to unscramble your data so that someone who is supposed to make sense of it can. This process is known as decryption (surprise, surprise).
There are two different types of encryption, asymmetric encyption, and symmetric encryption. The two different systems provide different strengths and weaknesses, but their goal is the same - to keep secrets for a reasonable amount of time.
What's that? You heard encryption can keep secrets? Well, yes, it can, for a period of time, but the truth is everything can be decrypted eventually. There is no perfectly secret encryption. Since encryption boils down to really being a math problem (usually a discrete logarithm problem for the curious), they can be solved... eventually. But with modern computing power, these math problems cannot be solved efficiently and will take thousands of years to successfully solve.
Why does encryption matter?
If you've read my blog post on how the internet works, you know that there are a lot of people between you and where you're trying go on the internet. That means there are a lot of chances for a malicious entity to try to steal your passwords when you login to your email, your credit card numbers when you try to buy something, or intercept whatever other data they might want for whatever reason.
You may have been asked if you want to set up an encrypted disk when you set your new computer up. Why would you want to? After all, there's nobody between you and your computer. Unless there is. Between malware, hackers, and common street thieves, people want to steal your computer. If your data is encrypted, even if they were able to steal your laptop, they wouldn't be able to make sense of your data. Think of all of the stored passwords you have in your web browser, photos in your album, critical business or banking documents that you don't want strangers to be able to access. At least not in the next several thousand years anyway.
How do I know if I'm safe?
When browsing the internet, the main way to make sure that you're safe is to ensure that whatever website you give important information to is using HTTPS. This isn't always foolproof, however. But, generally, if you're interacting with a reputable service, they're going to use HTTPS correctly. If you're interacting with an entity with an uncertain reputation, be cautious. As far as your on your computer is concerned, you can set up encrypted partitions of your hard drive. This will be covered in a forthcoming post.
I hope this was at least a little helpful in understanding encryption. If you have further questions about encryption or how to secure you or your business, feel free to contact us or conduct your own research online, there are a ton of resources out there to help keep you safe online.