|
|
|
Encryption
Encryption is the garbling of data or message so that it
can only be understood by the intended recipient. The intended
recipient which could be an individual, a computer or an
electronic device must have the key, which is the knowledge
to interpret the coded data or message. The data garbling
process is also known as encoding, which is based on the
old long science of cryptography.
Who needs encryption and why? Encryption is needed by anyone
who wants to transmit sensitive data, either through someone,
surface mail, telephone, computer network like the internet,
etc such that the data or message is not intercepted or
read by unintended party. In the computer world, encryption
could be used for many reasons amongst:
Also, it is also important to mention that encryption predates
the computer age, it has been verified that it was used
even in the days of Roman Empire.
Encryption comes in different flavours, it could be mere
swapping of letters, words in a message or even placement
of words with symbols to something more sophisticated like
computer encryption systems, which requires complex algorithms.
In helping us to understand the way encryption works, let
us use a primitive example, a correspondence from John Doe
to his CIC. Pre departure for war, John Doe defined a key
with his CIC, as follows:
| Key words |
Meaning |
| Dance |
war |
| Rescued |
Death |
| Smooth |
bloody |
| Happy |
Sad |
Now John Doe writes as an update report:
Sir,
Yesterday, the dance advanced to a smooth stage, unfortunately,
three of our men were rescued. Everyone is happy with the
situation.
To an onlooker, the message is of no value, but to John
Doe's CIC very sad news. Even if this message is sent open,
with the exception of the CIC, no one knows exactly what
the message says.
In the computer world, encryption is more sophisticated,
and more difficult to crack even when many computers are
assigned the tasks of decoding encrypted messages. There
are basically, two categories of encryption in the computer
world:
Symmetric Key
Symmetric key encryption is similar with the John Doe's
example above. It requires that communicating computers
be identified first, have secret or private keys installed
before it will be used for packets encryption and thereafter
sent over the network to each other. Once packets are received,
each uses the keys to decode the information. Even if the
packets are intercepted by another computer, so long as
that computer does not have the keys, it can not decode
the information.
Public key
Public key encryption works differently from symmetric key
encryption, it uses a combination of private and public
keys to encrypt and transmit packets. Like the symmetric
key encryption, originating and receiving computers must
have the private key installed locally. In addition, the
originating computer also issues public key to the receiving
computer that intends to communicate with it securely. To
decode an encrypted message, the receiving computer must
use the public key, provided by the originating computer,
and its own private key.
The public key encryption is secured and not easy to crack
because is based on complex algorithms known as hashing
algorithm, which uses large base input numbers called
hash values. Note that the higher the base input
number the better the encryption, the more secured and less
likelihood of such encryption being cracked. Example, a
64-bit key encryption, which has 2 power 64 different combinations,
is less complex than a 128-bit encryption as it has 2 power
128 different combinations. Imagine the impossible mission
of trying to find the hash value for a 448-bit key encryption
that is exploring the possibility of trying 72683872429560700000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000
different combinations, out of which one has the hash value.
One of the most popular usages of public key encryption
is in the Internet world. Most secured web services
and servers uses internet security protocol know as Secure
Sockets Layer (SSL), to transmit sensitive information
across the internet. When next you visit a secured website,
watch out for an additional "s" to the "Hyper Text Transmission
Protocol (http), which is "https", instead of
the normal "http". In addition, you also see a small padlock
in the status bar at the bottom of the browser window.
What happens normally when you tries to access secured
section of a web site is that the server, serving the pages
you intend to access, creates a symmetric key and sends
it to your computer using public-key encryption. The two
computers can then communicate using symmetric-key encryption.
Once you finish access the secured section or the website,
your computer and the server discards the symmetric key.
If you try again to access the website, the whole process
is repeated all over again.
|