You are on page 1of 17

# Introduction to Cryptography

Christopher Martin

What is Cryptography?
There are two kinds of cryptography in the world: the
files, and the kind that will keep major governments
- Bruce Schneier, preface to Applied Cryptography
Cryptography is the science of keeping things secret,
this is known formally as confidentiality.

## But what can crypto do for me?

Authentication
Proof of identity

Integrity
Proof of content

Nonrepudiation
Proof of transmission

Terminology
1. Plaintext or Cleartext

The message

2. Ciphertext

## The encrypted message

3. Encryption or Enciphering

## The process of turning plaintext into ciphertext

E(M) = C

4. Decryption or Deciphering

## The opposite of the above

D(C) = M or D(E(M)) = M

Son of Terminology
1. Cryptography

## Art and science of keeping secrets secret

Practitioners are called Cryptographers

2. Cryptanalysis

## The art and science of making secrets not.

Breaking Cryptography
Practitioners are called Cryptanalysts

3. Cryptology

## The branch of mathematics that encompasses

both of the above.
Practitioners are called Cryptologists

1. Key

## The shared secret used to keep the message

secret.
Can be one value from any sized range, called the
keyspace

2. Cryptographic Algorithm

## The series of steps applied to the message and

the key
Also called a cipher

3. Cryptosystem

## A single algorithm, plus all possible plaintexts,

ciphertexts, and keys

## A brief digression on secrecy

All secrecy resides in the key
Kerchoffs Law

Restricted Algorithms

## Types of encryption algorithms

Asymmetric
Also known as public key
Uses two keys, public and private

Symmetric
Uses one key that is shared between parties

Historical/Classical
Substitution ciphers, polyalphabetic cipers, codes

Hash
Not technically encryption algorithms but are part
of cryptography

Symmetric Encryption
Ek(M) = C, Dk(C) = M, Dk(Ek(M)) = M
The encryption key can be calculated from the
decryption key, and vice versa
Usually, however, there is only one key

## The primary Achilles heel is that the key must be

shared between n parties
DES, 3DES, Blowfish, Twofish, Serpent, IDEA, AES
(Rijndael)
Can operate in two modes: stream and block, and
most modern algorithms have variable key size

Subset of Symmetric ciphers
Offers theoretically perfect security
Key is comprised of a large sheet of truly
random letters.
Each key is used only once
Encryption is the addition modulo 26 of the
key letter, and the plaintext letter

Asymmetric Encryption
Ek-pub(M) = C, Dk-priv(C) = M,
Dk-priv(Ek-pub(M)) = M
Given the public key, it is computationally
infeasible to calculate the private key
Can also be used for digital signatures
Examples: RSA, DSA, ElGamal,Diffe-Hellman

Hashing Algorithms
There is no key involved in hashing
Takes an arbitrary sized input, and produces a
unique fixed size output
The smallest change in the input should produce a
totally different output

## The process is non reversible

Examples: MD4, MD5, SHA-1, SHA-128,
SHA-256

Attacking Cryptography
Cryptanalysis
Ciphertext Only Attack
Known Plaintext Attack
Chosen Plaintext Attack

## Chosen Ciphertext Attack

Chosen Key Attack
Rubber Hose Cryptanalysis

## Where to use cryptography?

Anywhere you want to have something remain
secret
SSL, TLS, IPv6, SSH, IPSec all keep information
secure in transit
Any Symmetric Algorithm can keep your files safe
in storage
There are file systems available that will encrypt your
data on the fly. EncFS and Loop-AES for unix, EFS for
windows, FileVault for Mac OS X
You can add encryption at the application level, or at the
server level for storing database information securely

## Where can I get cryptography?

Your best bet it to have it bundled with the
hardware that does what you want.
OpenBSD is the de facto standard for operating
system supported cryptography.

## Add on libraries like OpenSSL and

libTomCrypt are also available for most unix
like platforms.
Not really recommended unless you are an expert

Conclusions
Cryptography is only one part of a multi
layered security system
Its not a magic bullet
Its fun

Sources
1. Applied Cryptography, Bruce Schneier
1996, Wiley and Sons
2. Practical Cryptography, Bruce Schneier
and Niels Ferguson
2003, Wiley Publishing
3. Silence on the Wire, Michael Zalewski
2005, No Starch Press