Encryption
Chapter 2
KEU, Computer Science Faculty
IT Department
Encryption
The two primary types of algorithms are private key and public key
algorithms. Also known Symmetric and Asymmetric algorithm.
Private key (Symmetric)
Private key algorithms are easier to set up for a small number of
users.
All of the secrecy from private key algorithms comes from
keeping the key secure. The key, if exposed, will allow any
person who has the key to decrypt the message.
Private key cryptography is also known as symmetric
cryptography because whatever process is done to encrypt the
message, the reverse process is done to decrypt the message.
2
Encryption
Public Key (Asymmetric)
In public key cryptography, there are two keys that are related.
Public key cryptography is also known as asymmetric cryptography
because the process done to encrypt the message is not done in
reverse to decrypt the message
The two keys in public key cryptography are known as the private
key and the public key.
These keys are related, that anything encrypted with the public
key can be decrypted with the private key, and anything encrypted
with the private key can be decrypted with the public key.
The security in public key cryptography is in keeping the private
key secure. The public key is called the public key because anyone
can have access to it.
3
Encryption
The private key in public key cryptography acts as a trap دام تله door
that decrypts a message encrypted with the public key.
There can be many components to implement public key
cryptography. The technical structures necessary to implement public
key cryptography are collectively known as public key
infrastructure (PKI).
With PKI, public keys are published as certificates on a certificate
authority. PKI may have all of the following components:
Certification Authority (CA)
Registration Authority (RA)
Certificate Repository منبع
Certificate Revocation List لست لغو و ابطال گواهی
4
Symmetric Encryption
Symmetric Encryption or conventional ) (متداول/ private-key / single-
key
sender and recipient share a common key
DES, triple DES (3DES), AES
all classical encryption algorithms are private-key
was only type prior to invention of public-key in 1970’s
and by far most widely used
تنها نوع قبل از کلید عمومی بوده
A symmetric encryption scheme
has five components
Plaintext: This is the original message or data that is fed into the
algorithm as input.
Encryption algorithm: The encryption algorithm performs various
substitutions and transformations on the plaintext.
Secret key: The secret key is also input to the algorithm. The exact
substitutions and transformations performed by the algorithm depend
on the key.
Ciphertext: This is the scrambled message produced as output. It
depends on the plaintext and the secret key. For a given message,
two different keys will produce two different ciphertexts .
Decryption algorithm: This is essentially the encryption algorithm run
in reverse. It takes the ciphertext and the same secret key and
produces the original plaintext. 6
A symmetric encryption scheme
has five components
A cryptosystem is a 5-tuple (E, D, M, K, C),
M is the set of plaintexts,
K the set of keys,
C is the set of ciphertexts,
D: C x K M is the set of deciphering functions.
E: M x K C is the set of enciphering functions,
7
8
Symmetric Cipher Model
Some Basic Terminology
plaintext - original message
ciphertext - coded message
cipher - algorithm for transforming plaintext to ciphertext
key - info used in cipher known only to sender/receiver
encipher (encrypt) - converting plaintext to ciphertext
decipher (decrypt) - recovering ciphertext from plaintext
cryptography - study of encryption principles/methods
cryptanalysis (codebreaking) - study of principles/ methods
of deciphering ciphertext without knowing key
cryptology - field of both cryptography and cryptanalysis
Requirements
two requirements for secure use of symmetric encryption:
a strong encryption algorithm
a secret key known only to sender / receiver
mathematically have:
Y = E(K, X)
X = D(K, Y)
assume encryption algorithm is known
implies a secure channel to distribute key
Cryptography
can characterize cryptographic system by:
type of encryption operations used
substitution
transposition
product
number of keys used
single-key or private
two-key or public
way in which plaintext is processed
block
stream
Cryptanalysis
objective to recover key not just message
general approaches:
cryptanalytic attack
brute-force attack
if either succeed all key use compromised
Cryptanalytic Attacks
ciphertext only
only know algorithm & ciphertext, is statistical, know or can
identify plaintext
known plaintext
know/suspect مشکوکplaintext & ciphertext
chosen plaintext
select plaintext and obtain ciphertext
chosen ciphertext
select ciphertext and obtain plaintext
chosen text
select plaintext or ciphertext to en/decrypt
More Definitions
Unconditional security
no matter how much computer power or time is available, the
cipher cannot be broken since the ciphertext provides
insufficient information to uniquely determine the
corresponding plaintext
Computational security
given limited computing resources (eg time needed for
calculations is greater than age of universe), the cipher cannot
be broken
Brute Force Search
همیشه ممکن است به سادگی هر کلید را امتحان کنید
always possible to simply try every key
most basic attack, proportional متناسبto key size
assume either know / recognise plaintext
تشخیص می دهید/ ض کنید متن ساده را می شناسید
Key Size (bits) Number of Time required at 1 Time required at 106
Alternative Keys decryption/µs decryptions/µs
32 232 = 4.3 109 231 µs = 35.8 minutes 2.15 milliseconds
56 256 = 7.2 1016 255 µs = 1142 years 10.01 hours
128 2128 = 3.4 1038 2127 µs = 5.4 1024 years 5.4 1018 years
168 2168 = 3.7 1050 2167 µs = 5.9 1036 years 5.9 1030 years
26 characters 26! = 4 1026 2 1026 µs = 6.4 1012 years 6.4 106 years
(permutation)
Classical Substitution Ciphers
where letters of plaintext are replaced by other letters or by
numbers or symbols
or if plaintext is viewed as a sequence of bits, then substitution
involves replacing plaintext bit patterns with ciphertext bit
patterns
Caesar Cipher
earliest known substitution cipher
by Julius Caesar
first attested use in military affairs
replaces each letter by 3rd letter on
example:
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
Caesar Cipher
can define transformation as:
a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
mathematically give each letter a number
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
then have Caesar cipher as:
c = E(k, p) = (p + k) mod (26)
p = D(k, c) = (c – k) mod (26)
Cryptanalysis of Caesar Cipher
only have 26 possible ciphers
A maps to A,B,..Z
could simply try each in turn
a brute force search
given ciphertext, just try all shifts of letters
do need to recognize when have plaintext
eg. break ciphertext "GCUA VQ DTGCM"
Monoalphabetic Cipher
rather than just shifting the alphabet
could shuffle (jumble) the letters arbitrarily
each plaintext letter maps to a different random
ciphertext letter
hence key is 26 letters long
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
Monoalphabetic Cipher Security
now have a total of 26! = 4 x 1026 keys
with so many keys, might think is secure
but would be !!!WRONG!!!
problem is language characteristics
Language Redundancy and
Cryptanalysis
human languages are redundant
eg "th lrd s m shphrd shll nt wnt"
letters are not equally commonly used
in English E is by far the most common letter
followed by T,R,N,I,O,A,S
other letters like Z,J,K,Q,X are fairly rare
have tables of single, double & triple letter
frequencies for various languages.
END
24