Metropoli BBS
VIEWER: crypto.why MODE: TEXT (ASCII)
                  Why Do YOU Need Cryptography?

        By Brendan McKenna <hsd1l!brendan@oc3s-emh1.army.mil>

It's a good question, really.  Why do you need to use cryptography?  
Like all good questions it has a lot of answers, which will be 
different according to the individual that's answering the question.
What it all boils down to though, is one word -- privacy.

With today's modern computer networks, it is no longer uncommon for
people to have a computer on their desk, whether at home or at work.
Usually, these computers are connected with other computers in some
fashion or another.  Whether it's simply a modem that is used to
call the occasional BBS, or a LAN in an office or a service provider
like CompuServe or America Online, or a direct Internet connection,
most of us like to see what's going on with the rest of the world,
exchange ideas, files, play games, or just browse around.  If the
computer you're using can have more than one person connected to it
at a time -- a network file server, for example, or a multi-user
workstation -- then there are already lots of opportunities to 
communicate with other users, without ever leaving the privacy of 
your own computer.  Today, it is easier to send a message to someone 
across the world using a computer network than it is to use the 
mail, you can communicate with people all across the globe simply by 
typing in a message and entering a few commands or clicking on a 
button -- as simple as dialing a phone, and a lot less expensive 
than the phone call would be.

There's an important difference between a computer network and a
phone, though.  The difference is that although both the phone
network and the computer network run on computers, with the phone
network you always have the voice on the other end of the line that
reassures you that you are, in fact, speaking to the person you
wanted to speak to, while with the computer network all you have is
a few words typed in a file.  You may think, "Well, I can look at
the header of the message and see that it was my friend that sent me
this message."  Unfortunately, that may not always be the case.  To
explain why a message that says that it's from your friend could
have been sent by someone else, let's look at what happens to an 
email message you send, once you send it.

First, the software which you use to send the message will check the
system you're sending the message from to see if it can find your
friend on the same computer you're on, and if it can, it will
deliver it.  If not, the next thing it will do is look to see if the
computer you're on can talk directly to your friend's computer, and
if it can, it will send it to your friend's computer so that it can
be delivered to your friend there, and if it still can't find your 
friend, it will try to send it to another computer that can talk to 
your friend's computer.

Now on each of these computers, your message to your friend is
stored out on disk somewhere before it is actually sent to your
friend, and once it is actually delivered to your friend, it is
again stored on disk, and once your friend gets your message, he may
or may not keep it around, again in the form of a disk file.  And
between your computer and your friend's computer, your message 
probably passed through several computers which make up the network, 
even if it appeared to connect directly to your friend's computer.

This is where the main difference between the telephone network and
a computer network lies.  With a telephone call, you hear what your
friend says directly, with at most a fraction of a second delay, and
you can be assured that unless you're using a cordless or cellular 
phone, or making an international telephone call, that your 
conversation is pretty much between you and your friend (if you're 
using a cordless or cellular phone, it is fairly easy for some third 
party using radio equipment to listen in, and international calls 
(at least those originating in or destined to the US) are routinely 
monitored by our government), unless some law enforcement agency has 
an interest in you or your friend and has gone to court to get an 
order allowing them to tap your phone conversations.  With an email 
message, it passes through all these computers, and all the 
necessary software along it's path from you to your friend.  
Sometimes it's stored on these computers along the way as well, 
because the computer can't send it along right away.

Unfortunately, this leaves you at the mercy of other people, and 
while the vast majority of them are quite scrupulous about not 
reading other people's mail, not all of them are.  If, for example, 
their computer has been hacked into, they may not even be aware that 
someone is monitoring the mail as it passes through their computer.  
And it's not only while your message is stored in a file that it's 
vulnerable to prying eyes, either.  For example, there is a hardware 
device called a "network sniffer," normally used by people whose 
responsibility it is to ensure that the networks are functioning 
properly, which can be plugged into a network and are capable of 
recording all traffic passing through a network -- including your 
message.  It is also possible for people who have the access to the 
system software -- whether legitimately, or by accident, or through 
actively hacking into a system -- to set up exactly the same sort of 
"sniffer" program to record everything that passes through a 
computer.  You may think that this isn't a problem if your friend 
uses the same computer or BBS as you, but it is sometimes also 
possible to monitor the traffic within the same computer, as it is 
passed from one program to another on it's way to being delivered to 
your friend.

Let me give you a real world example.  I am aware of a computer at a 
company, where all of the staff for an office uses the same computer 
to send messages to each other, and their friends and colleagues
around the world through the Internet.  This computer had a user X
who was the boss in one office, and who normally communicated with
his boss through email.  Now user X had several employees working
for him, and once a year he was required to report on the
performance of those employees to his boss, and from these reports,
the raises that the employees got for the next year would be
determined.  Now, as it turned out, one of the employees of user X
was actively reading his email messages as he sent them to his boss,
exactly how is a little beyond the scope of this story, and when it
came time for the performance reports to go out, he was able to
intercept and alter his.  This was, in fact, later caught (I
wouldn't know about the story otherwise) and the employee who did it
was punished, and security on this computer was increased, but had
it not been caught....

Another good example of how your privacy may not be all you think it
is on a computer network is that some companies and universities on 
the Internet now reserve the right to read all of their user's 
email, both incoming and outgoing.  You do not need to be notified 
of the monitoring, and may not be aware of it's taking place.  You 
may already be sharing everything from your most intimate thoughts 
to important business or research information with both your 
intended recipient and someone else...

As you can see, this leaves a lot of possibilities for abuse, and it
doesn't end there, either.  It is also possible for an unscrupulous
user of a computer -- even one that you or your friend doesn't know 
about -- to send you or your friend an email message that will, for 
all intents and purposes, look like it had come from your friend or 
from you, without you ever knowing about it.  It is not an uncommon 
prank on the Internet for newer users, upon learning how to send 
"forged" email messages, to fill someone's email inbox with messages 
from "Santa.Claus@North.Pole" or some such.

Now, how could encryption help?  Let's address each of the problems
in turn.  The last problem we described, outright forgery of an
email message, is, as it turns out, one of the easiest to solve.  It
is possible, using a type of cryptography known as "Public Key
Cryptography," to create a pair of cryptographic "keys" that can be 
used to defeat this.  These keys are yours exclusively -- in all 
respects, the same as the keys to your house or your car. What is 
special about the keys used by Public Key cryptography, as opposed 
to those used by other types of cryptography, is that you keep only 
one of them secret.  The other key you make public -- essentially, 
you give it to your friends and colleagues.  Using your secret key, 
you can then "sign" your message. Using the public key that you've 
given them, your friends can check the signature on your message and 
be certain that the message did, in fact, come from you.  Without 
your secret key, no one else can sign the message and have your 
friends think it came from you, and they will then be suspicous of 
anything that they receive from you which isn't properly signed.

Of course, although this solves the problem of people forging mail 
from you, this does leave you with the problem of how safe is your 
secret key.  With the most widely used public key cryptography 
software, known as PGP or "Pretty Good Privacy," there are several 
levels of security available to you.  Which you should choose is 
beyond the scope of this discussion, but it is well documented in 
the user's documentation which comes with it.  It is predicted, 
however that even with the lowest level of security provided by PGP, 
that the time it would take for someone to "break" your key -- be 
able to forge your signature -- would take several YEARS of 
dedicated computer time.  With cryptography, your security is viewed 
in terms of economics.  In other words, how much time and money 
would people interested in forging your messages spend in order to 
be able to do it?  There are not many people who would be willing to 
spend the money to buy a computer, and all the software necessary, 
then let the computer run -- without ever shutting it off -- for 
several years, simply to be able to write a message from you or I 
and have our friends think that it, in fact came from us.  So unless 
you lose your secret key, or give it away, or have it physically 
stolen from your computer (where PGP keeps it encrypted), your key 
is pretty safe.

But not all forgery involves the wholesale substitution of one 
message for another.  It can also be something more subtle.  For 
example, suppose in the case of the employee changing his 
performance report that I gave above, that the employee had chosen 
to reword it, making himself come out much better than originally 
intended, and deserving a big raise?  What then?  Fortunately for 
you and I, one nice byproduct of signing your messages is that it 
also eliminates the possibility that the contents of your message 
was in any way altered during its passage through the computer 
networks.  Even the slightest change -- one letter changed -- will 
mean that your friend will get an error indicating that the message 
is not the one that you originally signed.

That eliminates the problem of forging your email, but it is still
possible to read your email, even if you've signed it.  Sometimes
you don't want this to happen, either.  Perhaps you want to send
someone some important information that could hurt your business if
someone else were to read it.  Perhaps the contents of the message 
may be embarassing if someone else reads it -- either for you or for 
someone you know.  Or maybe you simply don't like the idea of other 
people being able to "eavesdrop" on your email conversations. In any 
case, to prevent people from being able to read the contents of your 
message, you need to encrypt it.  Now, if you already have a package 
like PGP, and have generated keys to use for signing your messages, 
then you're in luck. Those same keys can be used to encrypt your 
mail messages as well.  Simply by using a slight variation on 
signing your message, you can now, using those same keys, encrypt 
the messages you send, and sign them as well.  But there's a twist.

The twist is this: the pair of keys you generated that allowed you
to sign your messages and your friends verify that the signature 
doesn't allow you to encrypt a message and send it to them.  What it 
does allow you to do is to receive messages from them that are 
encrypted though!  Here is how it works.  The key you gave them is 
known as your public key.  Anyone who has your public key can verify 
your signature on a message, ensuring for themselves that the 
message, as they received it, was both unaltered in transit and did 
in fact come from you.  The key that you kept for yourself, your 
secret key, is special in that it allows you to decrypt -- decode -- 
any message that is encrypted using your public key.  That way, 
people who have a copy of your public key can encrypt a message and 
send it to you, and only you can read it.  So, in order to send your 
friends an encrypted message, you need their public key. If you've 
exchanged public keys already, and can verify eachother's signatures 
on your messages already, then you already have all you need to do 
this.  You simply encrypt a message to your friend with his or her 
public key and then sign it with your own private key.  That way, 
when your friend receives the message, they can be sure that the 
message came from you, wasn't altered in any way -- even 
inadvertantly -- and that only you, your friend, and anyone you 
choose to tell about it will be able to tell what you and your 
friend are saying to eachother.

It may seem like a long way to go, and a lot of trouble to go 
through, just to make sure that what you and your friend are saying 
to each other is what you really mean to be saying to each other, 
and that your conversations are private.  Let's face it, right now, 
for most people, it is a bit of a hassle to do.  But if you're in a 
restaurant or bar talking to your friends, and you want to talk 
about something private, you don't shout about it, you may perhaps 
put your heads together and whisper, or simply lower your voice so 
that people at the next table or chair don't hear.  On the phone, 
and particularly on a portable or cellular phone, you may simply not 
discuss some topics.  You might even not want to put something down 
in writing in a letter, for fear of it being taken out of context, 
or being read by someone who you didn't want to have reading it, and 
wait to call or until you see them in person to discuss it.  So why 
not have the same options available to you when you want to send 
something through the computer?

Being able to keep your personal files on a computer safe is another
benefit of cryptography.  Let's say you're a researcher doing 
important research and you're keeping your notes on a computer that 
you share with other people.  Maybe you don't want them seeing your 
research notes and talking about what you're working on with others 
before you get a chance to publish your results.  Or that you're a 
teacher making up a test on your computer and you don't want to have 
your students somehow get access to the test before they are 
supposed to take it.  Or that you're a businessman making up your 
business plans and budgets for the next year.  Or you're simply a 
student who doesn't want everyone else who walks into your dorm room 
to have instant access to everything and anything you have on your 
computer.  Cryptography makes it easy to take care of.

In all of these situations, all you need to do is encrypt your files
on your computer.  You can even do it using the same public and
private key you would use for your email messages.  In fact, it's
even easier to do than signing and encrypting your email messages.
For this you only need your secret key, and all you need to do is 
run the appropriate program, giving it the name(s) of the file(s) 
you wish to keep private, and it's done.  Later, when you want to 
work on the file(s), you run the same program, again supplying your 
secret key, and it will decrypt your data for you.  Just don't 
forget to re-encrypt it when you're done!

Even though you may not think that you need cryptography right now,
that it's not worth the hassle, or that you don't have anything that
needs all that much protection on your computer -- what happens when
all of the sudden you do?  With the ever faster growth of the things
that it is possible to do with your computer -- soon it will
probably even be possible to bank by computer, and it's already 
possible to buy and sell things through computers -- it seems likely 
that the day will come when you do have information that you don't 
want either accidentally or maliciously tampered with on your 
computer.

As I said before, cryptography is a question of economics -- how
much effort your "opponent" is willing to expend trying to read what
you don't want them to, with you trying to increase the effort
required, and your opponent trying to decrease them.  Without using 
cryptography -- the effort required is fairly minimal.  If you're 
using a DOS PC, all someone has to do is walk up to it and power it 
on in most cases.  With other operating systems, it is usually a 
little harder -- but not very much.  Using cryptography, you can 
make it not worth your opponent's while to even bother with your 
data, and if they decide to try anyway...well, like I said before 
there aren't very many people who are willing to wait years before 
they can read the little goodie that they've gotten their hands on, 
and the rest won't succeed anyway.

Your using cryptography is a question of economics too.  How much 
does the software cost, how much time does it take to learn it, how 
much time does it take to run -- all this figures into whether or 
not you're going to use cryptography yourself.  Well, the good news 
is that PGP is free for personal use.  It may take you an hour or 
two of your time to set up and read the documentation, but just 
think -- when was the last time you waited an hour or two to talk to 
someone so you could discuss something with them in person?  Isn't 
it worth being able to protect your privacy?  You buy insurance 
before you get sick, and before you get into a car accident -- just 
in case -- and you spend your own money doing it.  Isn't it worth 
the time to get cryptography up and running on your computer -- 
before something happens -- especially when the software you need is 
free?


-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBLwIFJm+2Xy4M5cZFAQGF6QP/eMlYNJajBQUljm47ZfebL+u834C/U9h0
OZdI5ggDalPK6N9H9oXVlCyD0uJlVmwri85TPbQdW4FN0EpsQmEYC8rxjR7ZR8VC
5G/NixS5a8uNmybv291bYwmWkPB0Wlt3w1zw+GNeUTQDOTKA7Eye9euJRMSq7LTI
INNJlRewmsw=
=kuCq
-----END PGP SIGNATURE-----
[ RETURN TO DIRECTORY ]