DEV Community

Cover image for What Exactly Encription is?
Hossein Naseri
Hossein Naseri

Posted on

What Exactly Encription is?

When you open messaging apps like WhatsApp, you probably see alerts like:

Your messages are end-to-end encrypted.

But what does encryption actually mean?

What really happens technically when you send a message?

Imagine This Scenario

Suppose I want to send a secret message to my friend.

Before sending anything, I secretly tell my friend:

To understand my messages, move every letter one step backward in the alphabet.

So if my friend sees:

B
Enter fullscreen mode Exit fullscreen mode

They know it actually means:

A
Enter fullscreen mode Exit fullscreen mode

Because:

A → B
B → C
C → D
Enter fullscreen mode Exit fullscreen mode

Every letter is shifted by one.

Now suppose my real message is:

HELLO
Enter fullscreen mode Exit fullscreen mode

Before sending it, I transform every letter using the same rule:

H → I
E → F
L → M
L → M
O → P
Enter fullscreen mode Exit fullscreen mode

So the encrypted message becomes:

IFMMP
Enter fullscreen mode Exit fullscreen mode

Now I give YOU the paper containing:

IFMMP
Enter fullscreen mode Exit fullscreen mode

and ask you:

Take this to my friend.

If someone steals the paper while you are carrying it, they will only see:

IFMMP
Enter fullscreen mode Exit fullscreen mode

which looks meaningless unless they know the secret rule.

My friend, however, already knows the rule:

Move every letter one step backward.

So they can decode the message:

I → H
F → E
M → L
M → L
P → O
Enter fullscreen mode Exit fullscreen mode

and recover:

HELLO
Enter fullscreen mode Exit fullscreen mode

That secret rule is basically the key.

This Is Basically Encryption

Encryption means:

Transforming readable information into another form using a secret rule or key.

The original readable message is called:

Plain Text
And the transformed unreadable version is called:

Cipher Text
So in our example:

HELLO  → Plain Text
IFMMP  → Cipher Text
But Computers Do Not Understand Letters
Enter fullscreen mode Exit fullscreen mode

Computers do not actually understand:

H
E
L
O
Enter fullscreen mode Exit fullscreen mode

Computers only understand:

bits
0s
1s
Enter fullscreen mode Exit fullscreen mode

As we explained in the previous article, every character inside a computer becomes a number.

For example:

H = 72
E = 69
L = 76
O = 79

Enter fullscreen mode Exit fullscreen mode

And those numbers themselves become binary:

72 = 01001000
69 = 01000101
Enter fullscreen mode Exit fullscreen mode

So inside a computer, your messages are really just numbers and bits.

Encryption Inside Computers

So inside a computer, your messages are really just numbers and bits.

Encryption at the computer level is basically taking those numbers and transforming them into other numbers using a reversible mathematical rule.

In simple words:

The computer changes the original numbers into different numbers in a way that can later be reversed using the correct key or formula.

For example, imagine we have a number like:

1
Enter fullscreen mode Exit fullscreen mode

In binary, that becomes:

00000001
Enter fullscreen mode Exit fullscreen mode

Now, suppose the computer applies a secret rule like:

add 5

So:

1 + 5 = 6
Enter fullscreen mode Exit fullscreen mode

And now the stored value becomes:

00000110
Enter fullscreen mode Exit fullscreen mode

Someone looking at the encrypted value only sees:

6
Enter fullscreen mode Exit fullscreen mode

not the original:

1
Enter fullscreen mode Exit fullscreen mode

To recover the original value, the receiver uses the reverse operation:

6 - 5 = 1
Enter fullscreen mode Exit fullscreen mode

and the original data comes back again.

Modern encryption systems are much more advanced than simple addition and subtraction, but the core idea is still similar:

  1. - take original data
  2. - transform it using mathematics
  3. - Use a secret key
  4. - and make it unreadable without the correct way to reverse it

That transformed unreadable data is what we call:
Encrypted Data

Top comments (0)