Embed
Email

Data security _5_

Document Sample

Description

Data security , encryption , decryption

Shared by: myknol koko
Stats
views:
12
posted:
11/7/2011
language:
English
pages:
164
11/7/2011

Review





7 November 2011 Security 3

Cryptology



A form of communication which is primarily

concerned with the secure transmission

Cryptography (through encryption) of a secret message

over an insecure channel.



+

Deals with attacks on encrypted intercepted

Cryptanalysis messages to recover the secret message.





= Cryptology

Why do we need cryptography?

 Computers are used by millions of people for

many purposes

 Banking

 Shopping

 Tax returns

 Military

 Student records

 …

 Privacy is a crucial issue in many of these

applications

 Security is to make sure that nosy people

cannot read or secretly modify messages

intended for other recipients

7 November 2011 Cryptography and Computer Security 5

Why do we need security?

 Protect vital information while still allowing

access to those who need it

 Trade secrets, medical records, etc.

 Provide authentication and access control

for resources

 Guarantee availability of resources

 Ex: 5 9’s (99.999% reliability)







7 November 2011 Cryptography and Computer Security 6

Who is vulnerable?

 Financial institutions and banks

 Internet service providers

 Pharmaceutical companies

 Government and defense agencies

 Contractors to various government agencies

 Multinational corporations

 ANY ONE ON THE NETWORK





7 November 2011 Cryptography and Computer Security 7

Common security attacks and

their countermeasures

 Finding a way into the network

 Firewalls

 Exploiting software bugs, buffer overflows

 Intrusion Detection Systems

 Denial of Service

 Ingress filtering, IDS

 TCP hijacking

 IPSec

 Packet sniffing

 Encryption

 Social problems

 Education





7 November 2011 Cryptography and Computer Security 8

Definitions

 Computer Security - generic name for the

collection of tools designed to protect data and

to thwart hackers

 Network Security - measures to protect data

during their transmission

 Internet Security - measures to protect data

during their transmission over a collection of

interconnected networks







7 November 2011 Cryptography and Computer Security 9

OSI Security Architecture

 ITU-T X.800 “Security Architecture for OSI”

 defines a systematic way of defining and

providing security requirements

 for us it provides a useful, if abstract,

overview of concepts we will study









7 November 2011 Cryptography and Computer Security 10

Aspects of Security

 consider 3 aspects of information security:

 security attack

 security mechanism

 security service

Security Attacks

Security Attacks

 Interruption: This is an attack on availability

 Interception: This is an attack on

confidentiality

 Modification: This is an attack on integrity

 Fabrication: This is an attack on authenticity

Security Attack

 any action that compromises the security of

information owned by an organization

 information security is about how to prevent

attacks, or failing that, to detect attacks on

information-based systems

 often threat & attack used to mean same thing

 have a wide range of attacks

 can focus of generic types of attacks

 passive

 active

Passive Attacks

Active Attacks

Security Service

 enhance security of data processing systems

and information transfers of an organization

 intended to counter security attacks

 using one or more security mechanisms

 often replicates functions normally associated

with physical documents

• which, for example, have signatures, dates; need

protection from disclosure, tampering, or

destruction; be notarized or witnessed; be

recorded or licensed

Security Services

 X.800:

“a service provided by a protocol layer of

communicating open systems, which ensures

adequate security of the systems or of data

transfers”



 RFC 2828:

“a processing or communication service

provided by a system to give a specific kind of

protection to system resources”

Security Services (X.800)

 Authentication - assurance that the

communicating entity is the one claimed

 Access Control - prevention of the

unauthorized use of a resource

 Data Confidentiality –protection of data from

unauthorized disclosure

 Data Integrity - assurance that data received is

as sent by an authorized entity

 Non-Repudiation - protection against denial by

one of the parties in a communication

Security Mechanism

 feature designed to detect, prevent, or

recover from a security attack

 no single mechanism that will support all

services required

 however one particular element underlies

many of the security mechanisms in use:

 cryptographic techniques

 hence our focus on this topic

Security Mechanisms (X.800)

 specific security mechanisms:

 encipherment, digital signatures, access



controls, data integrity, authentication

exchange, traffic padding, routing control,

notarization

 pervasive security mechanisms:

 trusted functionality, security labels, event



detection, security audit trails, security

recovery

Model for Network Security

Model for Network Security

 using this model requires us to:

1. design a suitable algorithm for the security

transformation

2. generate the secret information (keys) used

by the algorithm

3. develop methods to distribute and share the

secret information

4. specify a protocol enabling the principals to

use the transformation and secret

information for a security service

Model for Network Access

Security

Model for Network Access

Security

 using this model requires us to:

1. select appropriate gatekeeper functions to

identify users

2. implement security controls to ensure only

authorised users access designated

information or resources

 trusted computer systems may be useful

to help implement this model

Key Security Properties

 Confidentiality



 Authentication



 Integrity



 Non-repudiation



 Availability



 Access Control

Confidentiality (Secrecy)

 INTERCEPTION

 Protect transmitted data Unauthorised party gains

access to data

 Protect against traffic analysis









Timeliness

Authentication

 FABRICATION

 Assurance that message is Insertion of “counterfeit”

from proper source messages



 Protect from third party

masquerade









Mutual Authentication

Integrity

 MODIFICATION

 Message is received as sent Gain access and “tampers”

with messages

 Modification



 Also interested in replay, re-

ordering, deletion, delay

Availability

 INTERRUPTION

 Complete loss of availability Loss of communication (cut the

cable)

 Reduction/Degradation in  DENIAL OF SERVICE

availability Noisy comms (physical noise,

spurious messages)

Non-repudiation

 REPUDIATION ATTEMPT

 Prevents parties from denying Party anonymously publishes

they sent or received a his or her message/key(s) and

message; ie. concerned with falsely claims that they were

protecting against legitimate stolen.

protocol participants, not with

protection from external source



 Receiver can verify and prove

who sent a message



 Sender can verify and prove

who received a message

Access Control

 REPLAY

 Limit & control access to host Record a legitimate message

system/services e.g. a login, and replay later



 Limit & control access to

networks



 Authenticate each party so that

access rights can be assigned

 More fine-grained solutions,

e.g. Digital Rights

Management



Auditing Service

Passive Attacks



Interception





Message Contents Traffic Analysis





 Only monitors channel (threat to confidentiality)

 Difficult to Detect -> Incentive to Prevent

 Countermeasures?

Active Attacks



Interruption Modification Fabrication

Denial of Service (INTEGRITY) Masquerade

(AVAILABILITY) (AUTHENTICITY)





 Modification of, or creation of a false data stream

 Hard to Prevent -> Incentive to Detect and Recover

 REPLAYS are a very powerful form of active attack where a message

is intercepted (passive attack) and then replayed to gain access or to

break a protocol. E.g. fake interfaces at bank teller machines.

Symmetric Encryption

• or conventional / private-key / single-key

• sender and recipient share a common key

• all classical encryption algorithms are

private-key

Basic Terminology

• plaintext - the original message

• ciphertext - the 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) - the study of principles/

methods of deciphering ciphertext without knowing key

• cryptology - the field of both cryptography and

cryptanalysis

Symmetric Cipher Model

Requirements

• two requirements for secure use of

symmetric encryption:

– a strong encryption algorithm

– a secret key known only to sender / receiver

Y = EK(X)

X = DK(Y)

• assume encryption algorithm is known

• implies a secure channel to distribute key

Cryptography

• can characterize 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

Types of Cryptanalytic Attacks

• ciphertext only

– only know algorithm / ciphertext, statistical, can

identify plaintext

• known plaintext

– know/suspect plaintext & ciphertext to attack cipher

• chosen plaintext

– select plaintext and obtain ciphertext to attack cipher

• chosen ciphertext

– select ciphertext and obtain plaintext to attack cipher

• chosen text

– select either plaintext or ciphertext to en/decrypt to

attack cipher

Brute Force Search

• always possible to simply try every key

• most basic attack, proportional to key size

• assume either know / recognise plaintext

More Definitions

• unconditional security

– no matter how much computer power 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

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

0 1 2 3 4 5 6 7 8 9 10 11 12

n o p q r s t u v w x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25



• then have Caesar cipher as:

C = E(p) = (p + k) mod (26)

p = D(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

• then T,R,N,I,O,A,S

• other letters are fairly rare

• cf. Z,J,K,Q,X

• have tables of single, double & triple letter

frequencies

English Letter Frequencies

Use in Cryptanalysis

• key concept - monoalphabetic substitution

ciphers do not change relative letter frequencies

• discovered by Arabian scientists in 9th century

• calculate letter frequencies for ciphertext

• compare counts/plots against known values

• if Caesar cipher look for common peaks/ troughs

– peaks at: A-E-I triple, NO pair, RST triple

– troughs at: JK, X-Z

• for monoalphabetic must identify each letter

– tables of common double/triple letters help

Example Cryptanalysis

• given ciphertext:

UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ

VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX

EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

• count relative letter frequencies (see text)

• guess P & Z are e and t

• guess ZW is th and hence ZWP is the

• proceeding with trial and error fially get:

it was disclosed yesterday that several informal but

direct contacts have been made with political

representatives of the viet cong in moscow

Playfair Cipher

• not even the large number of keys in a

monoalphabetic cipher provides security

• one approach to improving security was to

encrypt multiple letters

• the Playfair Cipher is an example

• invented by Charles Wheatstone in 1854,

but named after his friend Baron Playfair

Playfair Key Matrix

• a 5X5 matrix of letters based on a keyword

• fill in letters of keyword (sans duplicates)

• fill rest of matrix with other letters

• eg. using the keyword MONARCHY

MONAR

CHYBD

EFGIK

LPQST

UVWXZ

Playfair Key Matrix

• Have here the rules for filling in the 5x5

matrix, L to R, top to bottom, first with

keyword after duplicate letters have been

removed, and then with the remain letters,

with I/J used as a single letter. This

example comes from Dorothy Sayer's

book "Have His Carcase", in which Lord

Peter Wimsey solves this, and describes

the use of a probably word attack.

Encrypting and Decrypting

• plaintext encrypted two letters at a time:

1. if a pair is a repeated letter, insert a filler like 'X',

eg. "balloon" encrypts as "ba lx lo on"

2. if both letters fall in the same row, replace each with

letter to right (wrapping back to start from end),

eg. “ar" encrypts as "RM"

3. if both letters fall in the same column, replace each

with the letter below it (again wrapping to top from

bottom), eg. “mu" encrypts to "CM"

4. otherwise each letter is replaced by the one in its

row in the column of the other letter of the pair, eg.

“hs" encrypts to "BP", and “ea" to "IM" or "JM" (as

desired)

Security of the Playfair Cipher

• security much improved over monoalphabetic

• since have 26 x 26 = 676 digrams

• would need a 676 entry frequency table to

analyse (verses 26 for a monoalphabetic)

• and correspondingly more ciphertext

• was widely used for many years (eg. US &

British military in WW1)

• it can be broken, given a few hundred letters

• since still has much of plaintext structure

Polyalphabetic Ciphers

• another approach to improving security is to use

multiple cipher alphabets

• called polyalphabetic substitution ciphers

• makes cryptanalysis harder with more alphabets

to guess and flatter frequency distribution

• use a key to select which alphabet is used for

each letter of the message

• use each alphabet in turn

• repeat from start after end of key is reached

Polyalphabetic Ciphers

• One approach to reducing the "spikyness" of

natural language text is used the Playfair cipher

which encrypts more than one letter at once. We

now consider the other alternative, using

multiple cipher alphabets in turn. This gives the

attacker more work, since many alphabets need

to be guessed, and because the frequency

distribution is more complex, since the same

plaintext letter could be replaced by several

ciphertext letters, depending on which alphabet

is used.

Vigenère Cipher

• simplest polyalphabetic substitution cipher

is the Vigenère Cipher

• effectively multiple caesar ciphers

• key is multiple letters long K = k1 k2 ... kd

• ith letter specifies ith alphabet to use

• use each alphabet in turn

• repeat from start after d letters in message

• decryption simply works in reverse

Example

• write the plaintext out

• write the keyword repeated above it

• use each key letter as a caesar cipher key

• encrypt the corresponding plaintext letter

• eg using keyword deceptive

key: deceptivedeceptivedeceptive

plaintext: wearediscoveredsaveyourself

ciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ

Security of Vigenère Ciphers

• have multiple ciphertext letters for each

plaintext letter

• hence letter frequencies are obscured

• but not totally lost

• start with letter frequencies

– see if look monoalphabetic or not

• if not, then need to determine number of

alphabets, since then can attach each

Autokey Cipher

• ideally want a key as long as the message

• Vigenère proposed the autokey cipher

• with keyword is prefixed to message as key

• knowing keyword can recover the first few letters

• use these in turn on the rest of the message

• but still have frequency characteristics to attack

• eg. given key deceptive

key: deceptivewearediscoveredsav

plaintext: wearediscoveredsaveyourself

ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA

One-Time Pad

• if a truly random key as long as the

message is used, the cipher will be secure

• called a One-Time pad

• is unbreakable since ciphertext bears no

statistical relationship to the plaintext

• since for any plaintext & any ciphertext

there exists a key mapping one to other

• can only use the key once though

• have problem of safe distribution of key

Transposition Ciphers

• now consider classical transposition or

permutation ciphers

• these hide the message by rearranging

the letter order

• without altering the actual letters used

• can recognise these since have the same

frequency distribution as the original text

Rail Fence cipher

• write message letters out diagonally over a

number of rows

• then read off cipher row by row

• eg. write message out as:

m e m a t r h t g p r y

e t e f e t e o a a t

• giving ciphertext

MEMATRHTGPRYETEFETEOAAT

Row Transposition Ciphers

• a more complex scheme

• write letters of message out in rows over a

specified number of columns

• then reorder the columns according to

some key before reading off the rows

Key: 3 4 2 1 5 6 7

Plaintext: a t t a c k p

o s t p o n e

d u n t i l t

w o a m x y z

Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ

Product Ciphers

• ciphers using substitutions or transpositions are

not secure because of language characteristics

• hence consider using several ciphers in

succession to make harder, but:

– two substitutions make a more complex substitution

– two transpositions make more complex transposition

– but a substitution followed by a transposition makes a

new much harder cipher

• this is bridge from classical to modern ciphers

Rotor Machines

• before modern ciphers, rotor machines were

most common product cipher

• were widely used in WW2

– German Enigma, Allied Hagelin, Japanese Purple

• implemented a very complex, varying

substitution cipher

• used a series of cylinders, each giving one

substitution, which rotated and changed after

each letter was encrypted

• with 3 cylinders have 263=17576 alphabets

Steganography

• an alternative to encryption

• hides existence of message

– using only a subset of letters/words in a

longer message marked in some way

– using invisible ink

– hiding in LSB in graphic image or sound file

• has drawbacks

– high overhead to hide relatively few info bits

Modern Block Ciphers

• now look at modern block ciphers

• one of the most widely used types of

cryptographic algorithms

• provide secrecy /authentication services

• focus on DES (Data Encryption Standard)

• illustrate block cipher design principles

Modern Block Ciphers

• Modern block ciphers are widely used to

provide encryption of quantities of

information, and/or a cryptographic

checksum to ensure the contents have not

been altered. We continue to use block

ciphers because they are comparatively fast,

and because we know a fair amount about

how to design them. Will use the widely

known DES algorithm to illustrate some key

block cipher design principles.

Block vs Stream Ciphers

• block ciphers process messages in blocks,

each of which is then en/decrypted

• like a substitution on very big characters

– 64-bits or more

• stream ciphers process messages a bit or

byte at a time when en/decrypting

• many current ciphers are block ciphers

• broader range of applications

Block vs Stream Ciphers

• Block ciphers work a on block / word at a

time, which is some number of bits. All of

these bits have to be available before the

block can be processed. Stream ciphers

work on a bit or byte of the message at a

time, hence process it as a “stream”. Block

ciphers are currently better analysed, and

seem to have a broader range of

applications, hence focus on them.

Block Cipher Principles

• most symmetric block ciphers are based on a

Feistel Cipher Structure

• needed since must be able to decrypt ciphertext to

recover messages efficiently

• block ciphers look like an extremely large

substitution

• would need table of 264 entries for a 64-bit block

• instead create from smaller building blocks

• using idea of a product cipher

Block Cipher Principles

• Most symmetric block encryption algorithms in

current use are based on a structure referred to

as a Feistel block cipher. A block cipher

operates on a plaintext block of n bits to produce

a ciphertext block of n bits. An arbitrary

reversible substitution cipher for a large block

size is not practical, however, from an

implementation and performance point of view.

Block Cipher Principles

• In general, for an n-bit general substitution block

cipher, the size of the key is n x 2n. For a 64-bit

block, which is a desirable length to thwart

statistical attacks, the key size is 64 x 264 = 270 =

1021 bits. In considering these difficulties, Feistel

points out that what is needed is an

approximation to the ideal block cipher system

for large n, built up out of components that are

easily realizable.

Claude Shannon and Substitution-

Permutation Ciphers

• Claude Shannon introduced idea of substitution-

permutation (S-P) networks in 1949 paper

• form basis of modern block ciphers

• S-P nets are based on the two primitive

cryptographic operations seen before:

– substitution (S-box)

– permutation (P-box)

• provide confusion & diffusion of message & key

Confusion and Diffusion

• cipher needs to completely obscure

statistical properties of original message

• a one-time pad does this

• more practically Shannon suggested

combining S & P elements to obtain:

• diffusion – dissipates statistical structure

of plaintext over bulk of ciphertext

• confusion – makes relationship between

ciphertext and key as complex as possible

Electronic Codebook Book (ECB)

– message is broken into independent blocks

which are encrypted each block is a value

which is substituted, like a codebook, hence

name each block is encoded independently of

the other blocks

– Ci = DESK1 (Pi)

– uses: secure transmission of single values

Feistel Cipher Structure

• Horst Feistel devised the feistel cipher

– based on concept of invertible product cipher

• partitions input block into two halves

– process through multiple rounds which

– perform a substitution on left data half

– based on round function of right half & subkey

– then have permutation swapping halves

• implements Shannon’s S-P net concept

Feistel Cipher Structure

• One of Feistel's main contributions was the

invention of a suitable structure which adapted

Shannon's S-P network in an easily inverted

structure. It partitions input block into two

halves which are processed through

multiple rounds which perform a

substitution on left data half, based on

round function of right half & subkey, and

then have permutation swapping halves.

Feistel Cipher Structure

• Essentially the same h/w or s/w is used for

both encryption and decryption, with just a

slight change in how the keys are used.

One layer of S-boxes and the following P-

box are used to form the round function.

Feistel Cipher Structure

Stallings Figure 3.2 illustrates the

classical feistel cipher structure,

with data split in 2 halves,

processed through a number of

rounds which perform a

substitution on left half using

output of round function on right

half & key, and a permutation

which swaps halves, as listed

previously.

Feistel Cipher Design Elements

• block size

• key size

• number of rounds

• subkey generation algorithm

• round function

• fast software en/decryption

• ease of analysis

Feistel Cipher Design Elements

• The exact realization of a Feistel network

depends on the choice of the following

parameters and design features:

• block size - increasing size improves

security, but slows cipher

• key size - increasing size improves

security, makes exhaustive key searching

harder, but may slow cipher

• number of rounds - increasing number

improves security, but slows cipher

Feistel Cipher Design Elements

• subkey generation algorithm - greater

complexity can make analysis harder, but

slows cipher

• round function - greater complexity can

make analysis harder, but slows cipher

• fast software en/decryption - more

recent concern for practical use

• ease of analysis - for easier validation

& testing of strength

Feistel Cipher Decryption

The process of decryption with a

Feistel cipher, as shown in Stallings

Figure 3.3, is essentially the same

as the encryption process. The rule

is as follows: Use the ciphertext as

input to the algorithm, but use the

subkeys Ki in reverse order. That is,

use Kn in the first round, Kn–1 in

the second round, and so on until

K1 is used in the last round. This is

a nice feature because it means we

need not implement two different

algorithms, one for encryption and

one for decryption.

Data Encryption Standard (DES)

• most widely used block cipher in world

• adopted in 1977 by NBS (now NIST)

– as FIPS PUB 46

• encrypts 64-bit data using 56-bit key

• has widespread use

• has been considerable controversy over

its security

Data Encryption Standard (DES)

• The most widely used private key block

cipher, is the Data Encryption Standard

(DES). It was adopted in 1977 as Federal

Information Processing Standard 46 (FIPS

PUB 46). DES encrypts data in 64-bit

blocks using a 56-bit key. The DES enjoys

widespread use. It has also been the

subject of much controversy its security.

Block Ciphers:

Modes of Use



• ECB: Electronic Codebook

• CBC: Cipherblock Chaining

• CFB: Cipher Feedback

• OFB: Output Feedback







Cryptography

7/11/2011 | pag. 91

Modes of Operation

• ECB: Electronic CodeBook mode:

– Encrypt each 64-bit block independently

– Attacker could build codebook

• CBC: Cipher Block Chaining mode:

– Encryption: Ci = EK(Pi  Ci-1)

– Decryption: Pi = Ci-1  DK(Ci)

• CFB, OFB: allow byte-wise encryption

– Cipher FeedBack, Output FeedBack

Block Ciphers – ECB:

Electronic Codebook Mode









Cryptography

7/11/2011 | pag. 93

Block Ciphers – ECB:

Electronic Codebook Mode









Cryptography

7/11/2011 | pag. 94

Block Ciphers – CBC:

Cipherblock Chaining Mode









Cryptography

7/11/2011 | pag. 95

DES: Overview

• Block cipher: 64 bits plaintext

at a time INITIAL PERMUTATION

• Initial permutation

ROUND 1

rearranges 64 bits (no

cryptographic effect) ROUND 2

• Encoding is in 16 ...

rounds

ROUND 16



INITIAL PERMUTATION-1

ciphertext

DES: One Round

• 64 bits divided into

left, right halves Li-1 Ri-1

• Right half goes

through function f,

mixed with key  f

• Right half added to

left half

• Halves swapped

(except in last round) Li Ri

DES: InsiDES

• Expand right side

Ri-1

from 32 to 48 bits

(some get reused)

Expansion

• Add 48 bits of key

(chosen by schedule)  Ki

• S-boxes: each set of

6 bits reduced to 4 Eight S-boxes



• P-box permutes 32 P-box

bits

Output

DESign Principles: Inverses

• Equations for round i: Li-1 Ri-1

Li  Ri 1

Ri  Li 1  f Ri 1 

• In other words:  f

Ri 1  Li

Li 1  Ri  f Li 

• So decryption is the

same as encryption

Li Ri

• Last round, no swap:

really is the same

Overview of DES

• 16 cycles of combinations:

– Substitution technique (for confusion)

– Transposition technique (for diffusion)





16x





initial left function

plaintext

phase right F





inverse

ciphertext initial

phase

DES Overview (cont)

• Plaintext encrypted in blocks of 64 bits

• Keys are 64 bits long (only 56 are really needed)

• Standard arithmetic/logical operations - very fast

• Four Modes of Operation

– ECB - Electronic Code Book

– CBC - Cipher Block Chaining

– OFB - Output Feedback

– CFB - Cipher Feedback

DES S-Boxes

• Critical component of DES

• Known (public) implementation standard

but design specs and requirements still

classified

– Some believe requirements and specs contain

a “back door”

– No such weakness yet found by analysis

• Non-linear bit shifting and bit substitutions

– avoids frequency analysis attacks and greatly

weakens differential cryptanalysis attacks as

well

DES S-Boxes (cont)

• “Avalanche criteria”

– condition where every single bit of the ciphertext

depends on every bit of both the cleartext and the key

– DES reaches the avalanche criteria by the 5th round

• Triple DES (3-DES) - simply DES performed

three times with three different keys

– extends key to ~(56 x 3) bits

DES Design Controversy

• although DES standard is public

• was considerable controversy over design

– in choice of 56-bit key (vs Lucifer 128-bit)

– and because design criteria were classified

• subsequent events and public analysis

show in fact design was appropriate

• use of DES has flourished

– especially in financial applications

– still standardised for legacy application use

DES Design Controversy

• Before its adoption as a standard, the

proposed DES was subjected to intense &

continuing criticism over the size of its key

& the classified design criteria.

• Recent analysis has shown despite this

controversy, that DES is well designed.

DES is theoretically broken using

Differential or Linear Cryptanalysis but in

practise is unlikely to be a problem yet.

DES Design Controversy

• Also rapid advances in computing speed

though have rendered the 56 bit key

susceptible to exhaustive key search, as

predicted by Diffie & Hellman.

• DES has flourished and is widely used,

especially in financial applications. It is still

standardized for legacy systems, with

either AES or triple DES for new

applications.

DES Encryption Overview

The overall scheme for DES encryption is

illustrated in Stallings Figure3.4, which takes as

input 64-bits of data and of key.

The left side shows the basic process for

enciphering a 64-bit data block which consists of:

- an initial permutation (IP) which shuffles the 64-

bit input block

- 16 rounds of a complex key dependent round

function involving substitutions & permutations

- a final permutation, being the inverse of IP

The right side shows the handling of the 56-bit key

and consists of:

- an initial permutation of the key (PC1) which

selects 56-bits out of the 64-bits input, in two 28-bit

halves

- 16 stages to generate the 48-bit subkeys using a

left circular shift and a permutation of the two 28-

bit halves

64 bit plaintext block

DES

IP



L0 R0

32 32 K1 (derived from

f 56 bit key)





L1=R0 R1=L0 + f(R0,K1)



repeat 16 times…



K16 (derived from

f 56 bit key)





R16=L15 + f(R15,K16) L16=R15

IP-1



64 bit ciphertext block

IP (Initial Permutation):





8 16 24 32 40 48 56









8 16 24 32 40 48 56

L0 R0



32 32

48 bit subkey

Expansion Permutation

Generator

48

K48 = g(i,K56)

48

48 (The key for

S-Box Substitution each round is

32 deterministically

found from the

P-Box Permutation input 56 bit key).

32





32 32



L1 R1

32



Expansion Permutation

48





1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32









1 48

48

48

48









1 48



X-OR with 48 bit key







1 48

48

S-Box Substitution

32









1 48



S-box S-box S-box S-box S-box S-box S-box S-box

1 2 3 4 5 6 7 8









1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32

32



P-Box Permutation

32





1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32









1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32

IP-1 (Final Permutation):





8 16 24 32 40 48 56









8 16 24 32 40 48 56

Initial Key Permutation





8 16 24 32 40 48 56 64









8 16 24 32 40 48 56

Key Split & Shift & Compress

8 16 24 32 40 48 56



K56







Shift left by Ni Shift left by Ni

Shift accumulates every round Ni = {1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1}

8 16 24 32 40 48 56









K48

8 16 24 32 40 48

DES Advantages:



Very Fast:

Ideally suited for implementation

in hardware (bit shifts, look-ups etc). plaintext block







Dedicated hardware (in 1996) could 56 bit Key

f

run DES at 200 Mbyte/s.



Well suited for voice, video etc. ciphertext block

DES Security:

Not too good:

Trying all 256 possible keys plaintext block

is not that hard these days.

(Thank the NSA for this)

56 bit Key

f

If you spend ~$25k you can build

a DES password cracker that can EFF

will succeed in a few hours.

ciphertext block

Back in 1975 this would have cost

a few billion $$. It is widely believed

that the NSA did this.



Similar algorithms with longer keys are available today (IDEA).

Initial Permutation IP

• first step of the data computation

• IP reorders the input data bits

• even bits to LH half, odd bits to RH half

• quite regular in structure (easy in h/w)

• example:

IP(675a6967 5e5a6b5a) = (ffb2194d

004df6fb)

DES Round Structure

• uses two 32-bit L & R halves

• as for any Feistel cipher can describe as:

Li = Ri–1

Ri = Li–1  F(Ri–1, Ki)

• F takes 32-bit R half and 48-bit subkey:

– expands R to 48-bits using perm E

– adds to subkey using XOR

– passes through 8 S-boxes to get 32-bit result

– finally permutes using 32-bit perm P

DES Round Structure

• Detail here the internal structure of the DES round

function F, which takes R half & subkey, and

processes them through E, add subkey, S & P.

• This follows the classic structure for a feistel cipher.

• Note that the s-boxes provide the “confusion” of

data and key values, whilst the permutation P then

spreads this as widely as possible, so each S-box

output affects as many S-box inputs in the next

round as possible, giving “diffusion”.

Avalanche Effect

• key desirable property of encryption alg

where a change of one input or key bit

results in changing approx half output bits

making attempts to “home-in” by guessing

keys impossible

• DES exhibits strong avalanche

Strength of DES – Key Size

• 56-bit keys have 256 = 7.2 x 1016 values

• brute force search looks hard

• recent advances have shown is possible

– in 1997 on Internet in a few months

– in 1998 on dedicated h/w (EFF) in a few days

– in 1999 above combined in 22hrs!

• still must be able to recognize plaintext

• must now consider alternatives to DES

Strength of DES – Key Size

• Since its adoption as a federal standard,

there have been lingering concerns about the

level of security provided by DES in two

areas: key size and the nature of the

algorithm.

• With a key length of 56 bits, there are 2^56

possible keys, which is approximately

7.2*10^16 keys. Thus a brute-force attack

appeared impractical.

Strength of DES – Key Size

• However DES was finally and definitively

proved insecure in July 1998, when the

Electronic Frontier Foundation (EFF)

announced that it had broken a DES

encryption using a special-purpose "DES

cracker" machine that was built for less than

$250,000. The attack took less than three

days. The EFF has published a detailed

description of the machine, enabling others to

build their own cracker [EFF98].

Strength of DES – Key Size

• There have been other demonstrated breaks of the DES

using both large networks of computers & dedicated h/w,

including:

• - 1997 on a large network of computers in a few months

• - 1998 on dedicated h/w (EFF) in a few days

• - 1999 above combined in 22hrs!

• It is important to note that there is more to a key-search

attack than simply running through all possible keys. Unless

known plaintext is provided, the analyst must be able to

recognize plaintext as plaintext.

• Clearly must now consider alternatives to DES, the most

important of which are AES and triple DES.

Strength of DES – Analytic Attacks

• now have several analytic attacks on DES

• these utilise some deep structure of the cipher

– by gathering information about encryptions

– can eventually recover some/all of the sub-key bits

– if necessary then exhaustively search for the rest

• generally these are statistical attacks

• include

– differential cryptanalysis

– linear cryptanalysis

– related key attacks

Strength of DES – Analytic Attacks

• Another concern is the possibility that cryptanalysis is

possible by exploiting the characteristics of the DES

algorithm. The focus of concern has been on the eight

substitution tables, or S-boxes, that are used in each iteration.

These techniques utilise some deep structure of the cipher by

gathering information about encryptions so that eventually you

can recover some/all of the sub-key bits, and then

exhaustively search for the rest if necessary. Generally these

are statistical attacks which depend on the amount of

information gathered for their likelihood of success. Attacks of

this form include differential cryptanalysis. linear

cryptanalysis, and related key attacks.

Strength of DES – Timing Attacks

• attacks actual implementation of cipher

• use knowledge of consequences of

implementation to derive information about

some/all subkey bits

• specifically use fact that calculations can

take varying times depending on the value

of the inputs to it

• particularly problematic on smartcards

Strength of DES – Timing Attacks

• A timing attack is one in which information about

the key or the plaintext is obtained by observing

how long it takes a given implementation to perform

decryptions on various ciphertexts. A timing attack

exploits the fact that an encryption or decryption

algorithm often takes slightly different amounts of

time on different inputs. The AES analysis process

has highlighted this attack approach, and showed

that it is a concern particularly with smartcard

implementations, though DES appears to be fairly

resistant to a successful timing attack.

DES Design Criteria

• 7 criteria for S-boxes provide for

– non-linearity

– resistance to differential cryptanalysis

– good confusion

• 3 criteria for permutation P provide for

– increased diffusion

Block Cipher Design

• basic principles still like Feistel’s in 1970’s

• number of rounds

– more is better, exhaustive search best attack

• function f:

– provides “confusion”, is nonlinear, avalanche

– have issues of how S-boxes are selected

• key schedule

– complex subkey creation, key avalanche

The RSA Algorithm

Private-Key Cryptography

 traditional private/secret/single key

cryptography uses one key

 shared by both sender and receiver

 if this key is disclosed communications are

compromised

 also is symmetric, parties are equal

Public-Key Cryptography

 probably most significant advance in the 3000

year history of cryptography

 uses two keys – a public & a private key

 asymmetric since parties are not equal

 uses clever application of number theoretic

concepts to function

 complements rather than replaces private key

crypto

Public-Key Cryptography

 public-key/two-key/asymmetric cryptography

involves the use of two keys:

– a public-key, which may be known by anybody, and

can be used to encrypt messages, and verify

signatures

– a private-key, known only to the recipient, used to

decrypt messages, and sign (create) signatures

 is asymmetric because

– those who encrypt messages or verify signatures

cannot decrypt messages or create signatures

Public-Key Cryptography

Why Public-Key Cryptography?

 developed to address two key issues:

– key distribution – how to have secure communications

in general without having to trust a KDC with your key

– digital signatures – how to verify a message comes

intact from the claimed sender

 public invention due to Whitfield Diffie & Martin

Hellman at Stanford Uni in 1976

– known earlier in classified community

Public-Key Characteristics

 Public-Key algorithms rely on two keys with the

characteristics that it is:

– computationally infeasible to find decryption key

knowing only algorithm & encryption key

– computationally easy to en/decrypt messages when the

relevant (en/decrypt) key is known

– either of the two related keys can be used for encryption,

with the other used for decryption (in some schemes)

Public-Key Cryptosystems

Public-Key Applications

 can classify uses into 3 categories:

– encryption/decryption (provide secrecy)

– digital signatures (provide authentication)

– key exchange (of session keys)

 some algorithms are suitable for all uses, others

are specific to one

Security of Public Key Schemes

 like private key schemes brute force exhaustive

search attack is always theoretically possible

 but keys used are too large (>512bits)

 security relies on a large enough difference in

difficulty between easy (en/decrypt) and hard

(cryptanalyse) problems

 more generally the hard problem is known, its

just made too hard to do in practise

 requires the use of very large numbers

 hence is slow compared to private key schemes

RSA

 by Rivest, Shamir & Adleman of MIT in 1977

 best known & widely used public-key scheme

 based on exponentiation in a finite (Galois) field

over integers modulo a prime

– nb. exponentiation takes O((log n)3) operations (easy)

 uses large integers (eg. 1024 bits)

 security due to cost of factoring large numbers

– nb. factorization takes O(e log n log log n) operations (hard)

RSA Key Setup

 each user generates a public/private key pair by:

 selecting two large primes at random - p, q

 computing their system modulus N=p.q

– note ø(N)=(p-1)(q-1)

 selecting at random the encryption key e

 where 1
 solve following equation to find decryption key d

– e.d=1 mod ø(N) and 0≤d≤N

 publish their public encryption key: KU={e,N}

 keep secret private decryption key: KR={d,p,q}

RSA Use

 to encrypt a message M the sender:

– obtains public key of recipient KU={e,N}

– computes: C=Me mod N, where 0≤M
 to decrypt the ciphertext C the owner:

– uses their private key KR={d,p,q}

– computes: M=Cd mod N

 note that the message M must be smaller than

the modulus N (block if needed)

Prime Numbers

 prime numbers only have divisors of 1 and self

– they cannot be written as a product of other numbers

– note: 1 is prime, but is generally not of interest

 eg. 2,3,5,7 are prime, 4,6,8,9,10 are not

 prime numbers are central to number theory

 list of prime number less than 200 is:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61

67 71 73 79 83 89 97 101 103 107 109 113 127 131

137 139 149 151 157 163 167 173 179 181 191 193

197 199

Prime Factorisation

 to factor a number n is to write it as a product of

other numbers: n=a × b × c

 note that factoring a number is relatively hard

compared to multiplying the factors together to

generate the number

 the prime factorisation of a number n is when its

written as a product of primes

– eg. 91=7×13 ; 3600=24×32×52

Relatively Prime Numbers & GCD

 two numbers a, b are relatively prime if have

no common divisors apart from 1

– eg. 8 & 15 are relatively prime since factors of 8 are

1,2,4,8 and of 15 are 1,3,5,15 and 1 is the only common

factor

 conversely can determine the greatest common

divisor by comparing their prime factorizations

and using least powers

– eg. 300=21×31×52 18=21×32 hence

GCD(18,300)=21×31×50=6

Fermat's Theorem

 ap-1 mod p = 1

– where p is prime and gcd(a,p)=1

 also known as Fermat’s Little Theorem

 useful in public key and primality testing

Euler Totient Function ø(n)

 when doing arithmetic modulo n

 complete set of residues is: 0..n-1

 reduced set of residues is those numbers

(residues) which are relatively prime to n

– eg for n=10,

– complete set of residues is {0,1,2,3,4,5,6,7,8,9}

– reduced set of residues is {1,3,7,9}

 number of elements in reduced set of residues is

called the Euler Totient Function ø(n)

Euler Totient Function ø(n)

 to compute ø(n) need to count number of

elements to be excluded

 in general need prime factorization, but

– for p (p prime) ø(p) = p-1

– for p.q (p,q prime) ø(p.q) = (p-1)(q-1)

 eg.

– ø(37) = 36

– ø(21) = (3–1)×(7–1) = 2×6 = 12

Euler's Theorem

 a generalisation of Fermat's Theorem

 aø(n)mod N = 1

– where gcd(a,N)=1

 eg.

– a=3;n=10; ø(10)=4;

– hence 34 = 81 = 1 mod 10

– a=2;n=11; ø(11)=10;

– hence 210 = 1024 = 1 mod 11

Why RSA Works

 because of Euler's Theorem:

 aø(n)mod N = 1

– where gcd(a,N)=1

 in RSA have:

– N=p.q

– ø(N)=(p-1)(q-1)

– carefully chosen e & d to be inverses mod ø(N)

– hence e.d=1+k.ø(N) for some k

 hence :

Cd = (Me)d = M1+k.ø(N) = M1.(Mø(N))q =

M1.(1)q = M1 = M mod N

RSA Example

1. Select primes: p=17 & q=11

2. Compute n = pq =17×11=187

3. Compute ø(n)=(p–1)(q-1)=16×10=160

4. Select e : gcd(e,160)=1; choose e=7

5. Determine d: de=1 mod 160 and d < 160

Value is d=23 since 23×7=161= 10×160+1

6. Publish public key KU={7,187}

7. Keep secret private key KR={23,17,11}

RSA Example cont

 sample RSA encryption/decryption is:

 given message M = 88 (nb. 88<187)

 encryption:

C = 887 mod 187 = 11

 decryption:

M = 1123 mod 187 = 88

Exponentiation

 can use the Square and Multiply Algorithm

 a fast, efficient algorithm for exponentiation

 concept is based on repeatedly squaring base

 and multiplying in the ones that are needed to

compute the result

 look at binary representation of exponent

 only takes O(log2 n) multiples for number n

– eg. 75 = 74.71 = 3.7 = 10 mod 11

– eg. 3129 = 3128.31 = 5.3 = 4 mod 11

RSA Key Generation

 users of RSA must:

– determine two primes at random - p, q

– select either e or d and compute the other

 primes p,q must not be easily derived from

modulus N=p.q

– means must be sufficiently large

– typically guess and use probabilistic test

 exponents e, d are inverses, so use Inverse

algorithm to compute the other

RSA Security

 three approaches to attacking RSA:

– brute force key search (infeasible given size of numbers)

– mathematical attacks (based on difficulty of computing

ø(N), by factoring modulus N)

– timing attacks (on running of decryption)

Factoring Problem

 mathematical approach takes 3 forms:

– factor N=p.q, hence find ø(N) and then d

– determine ø(N) directly and find d

– find d directly

 currently believe all equivalent to factoring

– have seen slow improvements over the years

 as of Aug-99 best is 130 decimal digits (512) bit with GNFS

– biggest improvement comes from improved algorithm

 cf “Quadratic Sieve” to “Generalized Number Field Sieve”

– barring dramatic breakthrough 1024+ bit RSA secure

 ensure p, q of similar size and matching other constraints

Timing Attacks

 developed in mid-1990’s

 exploit timing variations in operations

– eg. multiplying by small vs large number

– or IF's varying which instructions executed

 infer operand size based on time taken

 RSA exploits time taken in exponentiation

 countermeasures

– use constant exponentiation time

– add random delays

– blind values used in calculations

Summary

 have considered:

– prime numbers

– Fermat’s and Euler’s Theorems

– Primality Testing

– Chinese Remainder Theorem

– Discrete Logarithms

– principles of public-key cryptography

– RSA algorithm, implementation, security

Assignments

1. Perform encryption and decryption using RSA

algorithm, as in Figure 1, for the following:

① p = 3; q = 11, e = 7; M = 5

② p = 5; q = 11, e = 3; M = 9



Encryption Decryption

Ciphertext

Plaintext 11 Plaintext

887 mod 187 = 11 11 23 mod 187 = 88

88 88







KU = 7, 187 KR = 23, 187

Figure 1. Example of RSA Algorithm









164


Related docs
Other docs by myknol koko
CaseStudy2
Views: 0  |  Downloads: 0
Chapter 1_ L1 -IIntro
Views: 1  |  Downloads: 0
CaseStudy4
Views: 1  |  Downloads: 0
Ch _30_
Views: 26  |  Downloads: 0
Data security _2_
Views: 11  |  Downloads: 0
CaseStudy2-2003
Views: 12  |  Downloads: 0
The important questions in Statistic
Views: 4  |  Downloads: 0
case study 3
Views: 12  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!