Principles of Cryptography
Preface
People mean different things when they talk about
cryptography. Children play with toy ciphers and secret languages.
However, these have little to do with real security and strong
encryption. Strong encryption is the kind of encryption that can be
used to protect information of real value against organized
criminals, multinational corporations, and major governments. Strong
encryption used to be only military business; however, in the
information society it has become one of the central tools for
maintaining privacy and confidentiality.
As we move into an information society, the technological means
for global surveillance of millions of individual people are
becoming available to major governments. Cryptography has become one
of the main tools for privacy, trust, access control, electronic
payments, corporate security, and countless other fields.
Cryptography is no longer a military thing that should not be
messed with. It is time to demystify cryptography and make full use
of the advantages it provides for the modern society.
In the following, basic terminology and the main methods of
cryptography are presented. Any opinions and evaluations presented
here are speculative, and the author can be held responsible for its
correctness  although every attempt is made to make sure that this
information is as correct and uptodate as possible.
Basic Terminology
Suppose that someone wants to send a
message to a receiver, and wants to be sure that noone else can
read the message. However, there is the possibility that someone
else opens the letter or hears the electronic communication.
In cryptographic terminology, the message is called
plaintext or cleartext. Encoding the contents of the
message in such a way that hides its contents from outsiders is
called encryption. The encrypted message is called the
ciphertext. The process of retrieving the plaintext from the
ciphertext is called decryption. Encryption and decryption
usually make use of a key, and the coding method is such that
decryption can be performed only by knowing the proper key.
Cryptography is the art or science of keeping messages
secret. Cryptanalysis is the art of breaking ciphers,
i.e. retrieving the plaintext without knowing the proper key. People
who do cryptography are cryptographers, and practitioners of
cryptanalysis are cryptanalysts.
Cryptography deals with all aspects of secure messaging,
authentication, digital signatures, electronic money, and other
applications. Cryptology is the branch of mathematics that
studies the mathematical foundations of cryptographic methods.
Basic Cryptographic Algorithms
A method of encryption and decryption is called a cipher. Some cryptographic methods
rely on the secrecy of the algorithms; such algorithms are only of
historical interest and are not adequate for realworld needs. All
modern algorithms use a key to control encryption and
decryption; a message can be decrypted only if the key matches the
encryption key.
There are two classes of keybased encryption algorithms,
symmetric (or secretkey) and asymmetric (or
publickey) algorithms. The difference is that symmetric
algorithms use the same key for encryption and decryption (or the
decryption key is easily derived from the encryption key), whereas
asymmetric algorithms use a different key for encryption and
decryption, and the decryption key cannot be derived from the
encryption key.
Symmetric algorithms can be divided into stream ciphers
and block ciphers. Stream ciphers can encrypt a single bit of
plaintext at a time, whereas block ciphers take a number of bits
(typically 64 bits in modern ciphers), and encrypt them as a single
unit.
Asymmetric ciphers (also called publickey algorithms or
generally publickey cryptography) permit the encryption key
to be public (it can even be published in a newspaper), allowing
anyone to encrypt with the key, whereas only the proper recipient
(who knows the decryption key) can decrypt the message. The
encryption key is also called the public key and the
decryption key the private key or secret key.
Modern cryptographic algorithms are no longer pencilandpaper
ciphers. Strong cryptographic algorithms are designed to be executed
by computers or specialized hardware devices. In most applications,
cryptography is done in computer software.
Generally, symmetric algorithms are much faster to execute on a
computer than asymmetric ones. In practice they are often used
together, so that a publickey algorithm is used to encrypt a
randomly generated encryption key, and the random key is used to
encrypt the actual message using a symmetric algorithm. This is
sometimes called hybrid encryption.
Descriptions of many good cryptographic algorithms are widely and
publicly available from any major bookstore, scientific library,
patent office, or on the Internet. The most studied and probably the
most widely spread symmetric cipher is DES; the upcoming AES
might replace it as the most widely used encryption algorithm. RSA is
probably the best known asymmetric encryption algorithm. The books page lists
several good textbooks on cryptography and related topics.
[The Next Page]
Information:
Enigma Story (illustrated)
· cryptography
· secure key generator
security expert
· system security
· JSCrypto info
· references
Tools:
JSHTML compiler
· PGPfone™
· PGPdisk™
steganography
· JSsreganography
· JSCODER/DECODER guide
· JSCODER/DECODER
Toys:
Lottery
· Cryptool 1
· Cryptool 2
· Calculator
· Calendar
adapted by Rafal Swiecki, p. eng. email
November, 2004
This document is in the public domain.
