chapter 3 block ciphers and the data encryption standard

61
Chapter 3 Chapter 3 Block Ciphers and Block Ciphers and the Data Encryption the Data Encryption Standard Standard

Upload: adrienne-finley

Post on 15-Mar-2016

55 views

Category:

Documents


3 download

DESCRIPTION

Chapter 3 Block Ciphers and the Data Encryption Standard. Block vs Stream Ciphers. block ciphers process messages into blocks, each of which is then en/decrypted like a substitution on very big characters 64-bits or more - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 3  Block Ciphers and  the Data Encryption Standard

Chapter 3 Chapter 3 Block Ciphers and Block Ciphers and

the Data Encryption Standardthe Data Encryption Standard

Page 2: Chapter 3  Block Ciphers and  the Data Encryption Standard

Block vs Stream CiphersBlock vs Stream Ciphers block ciphers process messages into blocks, block ciphers process messages into blocks,

each of which is then en/decrypted each of which is then en/decrypted like a substitution on very big characterslike a substitution on very big characters

• 64-bits or more 64-bits or more stream ciphers stream ciphers process messages a bit or byte process messages a bit or byte

at a time when en/decryptingat a time when en/decrypting many current ciphers are block ciphersmany current ciphers are block ciphers

Page 3: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 4: Chapter 3  Block Ciphers and  the Data Encryption Standard

Simplified DESSimplified DES ciphertext =IP-1(fk2(SW(fk1(IP(plaintext)))) IP: Initial permutation; IP( )=(2, 6, 3, 1, 4, 8, 5, 7) f: a complex function involving both permutation and

substitution SW: a simple permutation function switching the two

halves of the data IP-1 : the inverse of IP; IP-1( )=(4, 1, 3, 5, 7, 2, 8, 6) Ex: 11110011

Page 5: Chapter 3  Block Ciphers and  the Data Encryption Standard

Key Generation for Simplified DESKey Generation for Simplified DES K1=P8(Shift(P10(key))) K2=P8(Shift(Shift(P10(key)))) P10( )=(3, 5, 2, 7, 4, 10, 1, 9, 8, 6) LS-1: Left-rotate 1 bit P8( )=(6, 3, 7, 4, 8, 5, 10, 9) LS-2: Left-rotate 2 bits Ex: 1010000010 K1=10100100; K2=01000011

Page 6: Chapter 3  Block Ciphers and  the Data Encryption Standard

P10( )=(3, 5, 2, 7, 4, 10, 1, 9, 8, 6)

P8( )=(6, 3, 7, 4, 8, 5, 10, 9)

K1=P8(Shift(P10(key)))K2=P8(Shift(Shift(P10(key))))

Page 7: Chapter 3  Block Ciphers and  the Data Encryption Standard

IP( )=(2, 6, 3, 1, 4, 8, 5, 7)

row: 0&3; column: 1&2

P4( )=(2, 4, 3, 1)

ciphertext =IP-1(fk2(SW(fk1(IP(plaintext))))

E/P( )=(4, 1, 2, 3, 2, 3, 4, 1)

fK(L,R)=(LF(R, K), R)

3012010331023210

1

2313312001232301

0 SS

IP-1( )=(4, 1, 3, 5, 7, 2, 8, 6)

Page 8: Chapter 3  Block Ciphers and  the Data Encryption Standard

Block Cipher PrinciplesBlock Cipher Principles most symmetric block ciphers are based on a most symmetric block ciphers are based on a Feistel Feistel

Cipher StructureCipher Structure needed since must be able to needed since must be able to decryptdecrypt ciphertext to ciphertext to

recover messages efficientlyrecover messages efficiently for an n-bit general substitution block ciphersfor an n-bit general substitution block ciphers would need table of 2would need table of 2nn entries entries the number of different reversible mappings is 2the number of different reversible mappings is 2nn! ! the size of the key is n*2the size of the key is n*2nn

approximate the substitution block cipher by using idea approximate the substitution block cipher by using idea of a product cipher of a product cipher

Page 9: Chapter 3  Block Ciphers and  the Data Encryption Standard

Claude Shannon and Substitution-Claude Shannon and Substitution-Permutation CiphersPermutation Ciphers

in 1949 Claude Shannon introduced idea of in 1949 Claude Shannon introduced idea of substitution-permutation (S-P) networkssubstitution-permutation (S-P) networks• modern substitution-transposition product cipher modern substitution-transposition product cipher

these form the basis of modern block ciphers these form the basis of modern block ciphers S-P networks are based on the two primitive S-P networks are based on the two primitive

cryptographic operations we have seen before: cryptographic operations we have seen before: • substitutionsubstitution (S-box) (S-box)• permutation permutation (P-box)(P-box)

provide provide confusionconfusion and and diffusiondiffusion of message of message

Page 10: Chapter 3  Block Ciphers and  the Data Encryption Standard

Confusion and DiffusionConfusion and Diffusion cipher needs to completely obscure

statistical properties of original message a one-time pad does this diffusion – dissipates statistical structure of

plaintext over bulk of ciphertext having each plaintext digit affect many

ciphertext digits, or each ciphertext digit is affected by many plaintext digits

Ex: a plaintext M=m1m2m3….

k

iinn my

1

)26(mod

Page 11: Chapter 3  Block Ciphers and  the Data Encryption Standard

Confusion and DiffusionConfusion and Diffusion Every block cipher involves a transformation

of a block of plaintext into a block of ciphertext, where the transformation depends on the key.

confusion – makes the relationship between the statistics of the ciphertext and the value of the key as complex as possible.

A simple linear substitution function would add little confusion.

Page 12: Chapter 3  Block Ciphers and  the Data Encryption Standard

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 substitution-permutation network concept

Page 13: Chapter 3  Block Ciphers and  the Data Encryption Standard

Feistel Cipher StructureFeistel Cipher Structure

Page 14: Chapter 3  Block Ciphers and  the Data Encryption Standard

Feistel Cipher Design Principles 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

subkey generation • greater complexity can make analysis harder, but slows

cipher round function

• greater complexity can make analysis harder, but slows cipher

fast software en/decryption & ease of analysis• are more recent concerns for practical use and testing

Page 15: Chapter 3  Block Ciphers and  the Data Encryption Standard

Feistel Cipher DecryptionFeistel Cipher Decryption

Page 16: Chapter 3  Block Ciphers and  the Data Encryption Standard

Feistel Cipher DecryptionFeistel Cipher Decryption

),(),(

),(

11

1

11

1

iiiiiii

ii

iiii

ii

KLEFREKREFRELELERE

KREFLERERELE

Page 17: Chapter 3  Block Ciphers and  the Data Encryption Standard

Data Encryption Standard (DES)Data Encryption Standard (DES)

most widely used block cipher in world most widely used block cipher in world adopted in 1977 by NBS (now NIST)adopted in 1977 by NBS (now NIST)

• as FIPS PUB 46as FIPS PUB 46 encrypts encrypts 64-bit data64-bit data using using 56-bit key56-bit key DES standard is publicDES standard is public has been considerable controversy over its has been considerable controversy over its

securitysecurity

Page 18: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES HistoryDES History IBM developed Lucifer cipherIBM developed Lucifer cipher

• by team led by Feistelby team led by Feistel• used 64-bit data blocks with 128-bit keyused 64-bit data blocks with 128-bit key

then redeveloped as a commercial cipher with then redeveloped as a commercial cipher with input from NSA and othersinput from NSA and others

in 1973 NBS issued request for proposals for a in 1973 NBS issued request for proposals for a national cipher standardnational cipher standard

IBM submitted their revised Lucifer which was IBM submitted their revised Lucifer which was eventually accepted as the DESeventually accepted as the DES

Page 19: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES EncryptionDES Encryption 56-bit key: add 856-bit key: add 8thth, 16, 16thth, 24, 24thth

, ..bits as odd parity bits, ..bits as odd parity bits

KKii: 48-bit: 48-bit

DES: IPDES: IP-1 -1 f fK16K16SW SW f fK15K15 … SW … SW f fK1K1IPIP

Page 20: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 21: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES Key ScheduleDES Key Schedule

forms subkeys used in each roundforms subkeys used in each round consists of:consists of:

• initial permutation of the key (PC1) which initial permutation of the key (PC1) which selects 56-bits in two 28-bit halves: Cselects 56-bits in two 28-bit halves: Cii and D and Dii

• 16 stages consisting of: 16 stages consisting of: – selecting 24-bits from each half selecting 24-bits from each half – permuting them by PC2 for use in function f, permuting them by PC2 for use in function f, – rotating rotating each halfeach half separately either 1 or 2 places separately either 1 or 2 places

depending on the depending on the key rotation schedulekey rotation schedule K K

Page 22: Chapter 3  Block Ciphers and  the Data Encryption Standard

RRii = = LLii–1–1 FF(R(Rii–1–1, , KKii))LLii = = RRii–1–1

Page 23: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 24: Chapter 3  Block Ciphers and  the Data Encryption Standard

Initial Permutation IPInitial Permutation IP

first step of the data computation first step of the data computation IP reorders the input data bits IP reorders the input data bits even bits to LH half, odd bits to RH half even bits to LH half, odd bits to RH half quite regular in structure (easy in h/w)quite regular in structure (easy in h/w) example:example:

IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb)IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb)

Page 25: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES Round StructureDES Round Structure uses two 32-bit L & R halvesuses two 32-bit L & R halves as for any Feistel cipher can describe as:as for any Feistel cipher can describe as:

LLii = = RRii–1–1

RRii = = LLii–1–1 FF(R(Rii–1–1, , KKii)) takes 32-bit R half and 48-bit subkey and:takes 32-bit R half and 48-bit subkey and:

• expands R to 48-bits using perm Eexpands R to 48-bits using perm E• adds to subkeyadds to subkey• passes through 8 S-boxes to get 32-bit resultpasses through 8 S-boxes to get 32-bit result• finally permutes this using 32-bit perm Pfinally permutes this using 32-bit perm P

Page 26: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES Round StructureDES Round Structure

Page 27: Chapter 3  Block Ciphers and  the Data Encryption Standard

Substitution Boxes SSubstitution Boxes S

have eight S-boxes which map 6 to 4 bits have eight S-boxes which map 6 to 4 bits outer bits 1 & 6 : outer bits 1 & 6 : rowrow inner bits 2-5 : inner bits 2-5 : columncolumn example:example:

SS11(011001) = 1001(011001) = 1001

Page 28: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 29: Chapter 3  Block Ciphers and  the Data Encryption Standard

SS1 1 row 0row 0

Page 30: Chapter 3  Block Ciphers and  the Data Encryption Standard

DES DecryptionDES Decryption decrypt must unwind steps of data computation decrypt must unwind steps of data computation with Feistel design, do encryption steps again with Feistel design, do encryption steps again using subkeys in reverse order (SK16 … SK1)using subkeys in reverse order (SK16 … SK1) note that IP undoes final FP step of encryption note that IP undoes final FP step of encryption 1st round with SK16 undoes 16th encrypt round1st round with SK16 undoes 16th encrypt round …….. 16th round with SK1 undoes 1st encrypt round 16th round with SK1 undoes 1st encrypt round then final FP undoes initial encryption IP then final FP undoes initial encryption IP thus recovering original data value thus recovering original data value

Page 31: Chapter 3  Block Ciphers and  the Data Encryption Standard

Avalanche Effect Avalanche Effect

desirable property of any encryption algorithmdesirable property of any encryption algorithm a small change of a small change of plaintextplaintext or or keykey produces a produces a

significant change in ciphertextsignificant change in ciphertext a change in ore bit of a change in ore bit of plaintextplaintext or or keykey produces produces

a change in many bits of ciphertexta change in many bits of ciphertext DES exhibits strong avalancheDES exhibits strong avalanche

Page 32: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 33: Chapter 3  Block Ciphers and  the Data Encryption Standard

Strength of DES – Key SizeStrength of DES – Key Size

56-bit keys have 256-bit keys have 25656 = 7.2 x 10 = 7.2 x 101616 values values brute force search looks hardbrute force search looks hard recent advances have shown is possiblerecent advances have shown is possible

• in 1997 on Internet in a few months in 1997 on Internet in a few months • in 1998 on dedicated h/w (EFF) in a few days in 1998 on dedicated h/w (EFF) in a few days • in 1999 above combined in 22hrs!in 1999 above combined in 22hrs!

still must be able to recognize plaintextstill must be able to recognize plaintext now considering alternatives to DESnow considering alternatives to DES

Page 34: Chapter 3  Block Ciphers and  the Data Encryption Standard

Strength of DES – Timing AttacksStrength of DES – Timing Attacks

Key or plaintext is obtained by observing how Key or plaintext is obtained by observing how long it takes a given implementation to perform long it takes a given implementation to perform decryption on various ciphertexts.decryption on various ciphertexts.

use knowledge of consequences of implementation use knowledge of consequences of implementation to derive knowledge of some/all subkey bitsto derive knowledge of some/all subkey bits

specifically use fact that calculations can take specifically use fact that calculations can take varying times depending on the value of the inputs varying times depending on the value of the inputs to it.to it.

Page 35: Chapter 3  Block Ciphers and  the Data Encryption Standard

Strength of DES – Analytic AttacksStrength of DES – Analytic Attacks

now have several analytic attacks on DESnow have several analytic attacks on DES these these utilise some deep structure of the cipher utilise some deep structure of the cipher

• by gathering information about encryptions by gathering information about encryptions • can eventually recover some/all of the sub-key bits can eventually recover some/all of the sub-key bits • if necessary then exhaustively search for the rest if necessary then exhaustively search for the rest

generally these are statistical attacksgenerally these are statistical attacks includeinclude

• differential cryptanalysis differential cryptanalysis • linear cryptanalysis linear cryptanalysis • related key attacks related key attacks

Page 36: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential CryptanalysisDifferential Cryptanalysis

one of the most significant recent (public) one of the most significant recent (public) advances in cryptanalysis advances in cryptanalysis

Murphy, Biham & Shamir published 1990Murphy, Biham & Shamir published 1990 powerful method to analyse block ciphers powerful method to analyse block ciphers used to analyse most current block ciphers used to analyse most current block ciphers

with varying degrees of successwith varying degrees of success DES reasonably resistant to it: DES reasonably resistant to it: 224747 chosen chosen

plaintextsplaintexts

Page 37: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential CryptanalysisDifferential Cryptanalysis

a statistical attack against Feistel ciphers a statistical attack against Feistel ciphers uses cipher structure not previously used uses cipher structure not previously used design of S-P networks has output of design of S-P networks has output of

function function ff influenced by both input & key influenced by both input & key hence cannot trace values back through hence cannot trace values back through

cipher without knowing values of the key cipher without knowing values of the key Differential Cryptanalysis compares two Differential Cryptanalysis compares two

related pairs of encryptionsrelated pairs of encryptions

Page 38: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential Cryptanalysis Compares Differential Cryptanalysis Compares Pairs of Encryptions Pairs of Encryptions

with a known difference in the input with a known difference in the input searching for a known difference in outputsearching for a known difference in output when same subkeys are usedwhen same subkeys are used

Page 39: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential CryptanalysisDifferential Cryptanalysis

have some input difference giving some have some input difference giving some output difference with probability poutput difference with probability p

if find instances of some higher probability if find instances of some higher probability input / output difference pairs occurringinput / output difference pairs occurring

can infer subkey that was used in roundcan infer subkey that was used in round then must iterate process over many rounds then must iterate process over many rounds

(with decreasing probabilities)(with decreasing probabilities)

Page 40: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential CryptanalysisDifferential Cryptanalysis

Page 41: Chapter 3  Block Ciphers and  the Data Encryption Standard

Differential CryptanalysisDifferential Cryptanalysis perform attack by repeatedly encrypting plaintext pairs with perform attack by repeatedly encrypting plaintext pairs with

known input XOR until obtain desired output XOR known input XOR until obtain desired output XOR when foundwhen found

• if intermediate rounds match required XOR have a if intermediate rounds match required XOR have a right pairright pair• if not then have a if not then have a wrong pairwrong pair, relative ratio is S/N for attack , relative ratio is S/N for attack

can then deduce keys values for the roundscan then deduce keys values for the rounds• right pairs suggest same key bitsright pairs suggest same key bits• wrong pairs give random values wrong pairs give random values

for large numbers of rounds, probability is so low that more for large numbers of rounds, probability is so low that more pairs are required than exist with 64-bit inputs pairs are required than exist with 64-bit inputs

Biham and Shamir have shown how a 13-round iterated Biham and Shamir have shown how a 13-round iterated characteristic can break the full 16-round DES characteristic can break the full 16-round DES

Page 42: Chapter 3  Block Ciphers and  the Data Encryption Standard

Linear CryptanalysisLinear Cryptanalysis

another recent development another recent development also a statistical method also a statistical method must be iterated over rounds, with must be iterated over rounds, with

decreasing probabilitiesdecreasing probabilities developed by Matsui et al in early 90'sdeveloped by Matsui et al in early 90's based on finding linear approximationsbased on finding linear approximations can attack DES with can attack DES with 224747 known plaintexts, known plaintexts,

still in practise infeasiblestill in practise infeasible

Page 43: Chapter 3  Block Ciphers and  the Data Encryption Standard

Linear CryptanalysisLinear Cryptanalysis

find linear approximations with prob p != ½find linear approximations with prob p != ½P[i1,i2,...,ia](+)C[j1,j2,...,jb] = P[i1,i2,...,ia](+)C[j1,j2,...,jb] = K[k1,k2,...,kc]K[k1,k2,...,kc]

where ia,jb,kc are bit locations in P,C,Kwhere ia,jb,kc are bit locations in P,C,K gives linear equation for key bitsgives linear equation for key bits get one key bit using max likelihood algget one key bit using max likelihood alg using a large number of trial encryptions using a large number of trial encryptions effectiveness given by: effectiveness given by: |p–½||p–½|

Page 44: Chapter 3  Block Ciphers and  the Data Encryption Standard

Block Cipher Design PrinciplesBlock Cipher Design Principles

basic principles still like Feistel in 1970’sbasic principles still like Feistel in 1970’s number of roundsnumber of rounds

• more is better, exhaustive search best attackmore is better, exhaustive search best attack function f:function f:

• provides “confusion”, is nonlinear, avalancheprovides “confusion”, is nonlinear, avalanche key schedulekey schedule

• complex subkey creation, key avalanchecomplex subkey creation, key avalanche

Page 45: Chapter 3  Block Ciphers and  the Data Encryption Standard

Modes of OperationModes of Operation

block ciphers encrypt fixed size blocksblock ciphers encrypt fixed size blocks eg. DES encrypts 64-bit blocks, with 56-bit key eg. DES encrypts 64-bit blocks, with 56-bit key need way to use in practise, given usually have need way to use in practise, given usually have

arbitrary amount of information to encrypt arbitrary amount of information to encrypt four were defined for DES in ANSI standard four were defined for DES in ANSI standard ANSI ANSI

X3.106-1983 Modes of UseX3.106-1983 Modes of Use subsequently now have 5 for DES and AESsubsequently now have 5 for DES and AES have have blockblock and and streamstream modes modes

Page 46: Chapter 3  Block Ciphers and  the Data Encryption Standard
Page 47: Chapter 3  Block Ciphers and  the Data Encryption Standard

Electronic CodeBook (ECB)Electronic CodeBook (ECB) message is broken into independent blocks message is broken into independent blocks

which are encrypted which are encrypted each block is a value which is substituted, like each block is a value which is substituted, like

a codebook, hence name a codebook, hence name each block is encoded independently of the each block is encoded independently of the

other blocks other blocks CCii = DES = DESK1K1 (P (Pii))

uses: secure transmission of single valuesuses: secure transmission of single values

Page 48: Chapter 3  Block Ciphers and  the Data Encryption Standard

Electronic CodeBook (ECB)Electronic CodeBook (ECB)

Page 49: Chapter 3  Block Ciphers and  the Data Encryption Standard

Advantages and Limitations of ECBAdvantages and Limitations of ECB

repetitions in message may show in ciphertext repetitions in message may show in ciphertext • if aligned with message block if aligned with message block • particularly with data such graphics particularly with data such graphics • or with messages that change very little, which become or with messages that change very little, which become

a code-book analysis problem a code-book analysis problem weakness due to encrypted message blocks being weakness due to encrypted message blocks being

independent independent main use is sending a few blocks of data main use is sending a few blocks of data

Page 50: Chapter 3  Block Ciphers and  the Data Encryption Standard

Cipher Block Chaining (CBC) Cipher Block Chaining (CBC) message is broken into blocks message is broken into blocks but these are linked together in the encryption but these are linked together in the encryption

operation operation each previous cipher blocks is chained with each previous cipher blocks is chained with

current plaintext block, hence name current plaintext block, hence name use Initial Vector (IV) to start process use Initial Vector (IV) to start process

CCii = DES = DESK1K1(P(Pii XOR C XOR Ci-1i-1))CC-1-1 = IV = IV

uses: bulk data encryption, authenticationuses: bulk data encryption, authentication

Page 51: Chapter 3  Block Ciphers and  the Data Encryption Standard

Cipher Block Chaining (CBC)Cipher Block Chaining (CBC)

Page 52: Chapter 3  Block Ciphers and  the Data Encryption Standard

Advantages and Limitations of CBCAdvantages and Limitations of CBC

each ciphertext block depends on each ciphertext block depends on allall message blocks message blocks thus a change in the message affects all ciphertext blocks thus a change in the message affects all ciphertext blocks

after the change as well as the original block after the change as well as the original block need need Initial ValueInitial Value (IV) known to sender & receiver (IV) known to sender & receiver

• however if IV is sent in the clear, an attacker can change bits of the however if IV is sent in the clear, an attacker can change bits of the first block, and change IV to compensate first block, and change IV to compensate

• hence either IV must be a fixed value (as in EFTPOS) or it must be hence either IV must be a fixed value (as in EFTPOS) or it must be sent encrypted in ECB mode before rest of message sent encrypted in ECB mode before rest of message

at end of message, handle possible last short block at end of message, handle possible last short block • by padding either with known non-data value (eg nulls)by padding either with known non-data value (eg nulls)• or pad last block with count of pad size or pad last block with count of pad size

– eg. [ b1 b2 b3 0 0 0 0 5] <- 3 data bytes, then 5 bytes pad+count eg. [ b1 b2 b3 0 0 0 0 5] <- 3 data bytes, then 5 bytes pad+count

Page 53: Chapter 3  Block Ciphers and  the Data Encryption Standard

Cipher FeedBack (CFB)Cipher FeedBack (CFB) message is treated as a stream of bits message is treated as a stream of bits added to the output of the block cipher added to the output of the block cipher result is feed back for next stage (hence name) result is feed back for next stage (hence name) standard allows any number of bit (1,8 or 64 or standard allows any number of bit (1,8 or 64 or

whatever) to be feed back whatever) to be feed back • denoted CFB-1, CFB-8, CFB-64 etc denoted CFB-1, CFB-8, CFB-64 etc

is most efficient to use all 64 bits (CFB-64)is most efficient to use all 64 bits (CFB-64)CCii = P = Pii XOR DES XOR DESK1K1(C(Ci-1i-1))CC-1-1 = IV = IV

uses: stream data encryption, authenticationuses: stream data encryption, authentication

Page 54: Chapter 3  Block Ciphers and  the Data Encryption Standard

Cipher FeedBack (CFB)Cipher FeedBack (CFB)

Page 55: Chapter 3  Block Ciphers and  the Data Encryption Standard

Advantages and Limitations of CFBAdvantages and Limitations of CFB

appropriate when data arrives in bits/bytes appropriate when data arrives in bits/bytes most common stream mode most common stream mode limitation is need to stall while do block limitation is need to stall while do block

encryption after every n-bits encryption after every n-bits note that the block cipher is used in note that the block cipher is used in

encryptionencryption mode at mode at bothboth ends ends errors propagate for several blocks after errors propagate for several blocks after

the error the error

Page 56: Chapter 3  Block Ciphers and  the Data Encryption Standard

Output FeedBack (OFB)Output FeedBack (OFB) message is treated as a stream of bits message is treated as a stream of bits output of cipher is added to message output of cipher is added to message output is then feed back (hence name) output is then feed back (hence name) feedback is independent of message feedback is independent of message can be computed in advancecan be computed in advance

CCii = P = Pii XOR O XOR Oii OOii = DES = DESK1K1(O(Oi-1i-1))OO-1-1 = IV = IV

uses: stream encryption over noisy channelsuses: stream encryption over noisy channels

Page 57: Chapter 3  Block Ciphers and  the Data Encryption Standard

Output FeedBack (OFB)Output FeedBack (OFB)

Page 58: Chapter 3  Block Ciphers and  the Data Encryption Standard

Advantages and Limitations of OFBAdvantages and Limitations of OFB used when error feedback a problem or where need to

encryptions before message is available superficially similar to CFB but feedback is from the output of cipher and is independent

of message a variation of a Vernam cipher

• hence must never reuse the same sequence (key+IV) sender and receiver must remain in sync, and some recovery

method is needed to ensure this occurs originally specified with m-bit feedback in the standards subsequent research has shown that only OFB-64 should

ever be used

Page 59: Chapter 3  Block Ciphers and  the Data Encryption Standard

Counter (CTR)Counter (CTR)

similar to OFB but encrypts counter value similar to OFB but encrypts counter value rather than any feedback valuerather than any feedback value

must have a different key & counter value must have a different key & counter value for every plaintext block (never reused)for every plaintext block (never reused)CCii = P = Pii XOR O XOR Oii

OOii = DES = DESK1K1(i)(i) uses: high-speed network encryptionsuses: high-speed network encryptions

Page 60: Chapter 3  Block Ciphers and  the Data Encryption Standard

Counter (CTR)Counter (CTR)

Page 61: Chapter 3  Block Ciphers and  the Data Encryption Standard

Advantages and Limitations of CTRAdvantages and Limitations of CTR

efficiencyefficiency• can do parallel encryptionscan do parallel encryptions• in advance of needin advance of need• good for bursty high speed linksgood for bursty high speed links

random access to encrypted data blocksrandom access to encrypted data blocks provable security (good as other modes)provable security (good as other modes) but must ensure never reuse key/counter but must ensure never reuse key/counter

values, otherwise could break (cf OFB)values, otherwise could break (cf OFB)