/
ECE454/CS594 ECE454/CS594

ECE454/CS594 - PowerPoint Presentation

olivia-moreira
olivia-moreira . @olivia-moreira
Follow
380 views
Uploaded On 2015-10-02

ECE454/CS594 - PPT Presentation

Computer and Network Security Dr Jinyuan Stella Sun Dept of Electrical Engineering and Computer Science University of Tennessee Fall 2011 1 Secret Key Cryptography Modes of operation ID: 147079

plaintext cbc blocks ciphertext cbc plaintext ciphertext blocks block key mode encryption stream time ofb ecb cipher bit message

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "ECE454/CS594" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

ECE454/CS594 Computer and Network Security

Dr. Jinyuan (Stella) SunDept. of Electrical Engineering and Computer ScienceUniversity of Tennessee Fall 2011

1Slide2

Secret Key Cryptography

Modes of operation Stream cipher

2Slide3

Encrypting A Large Message

How to encrypt a message > 64 bits? Electronic Code Book (ECB) Cipher Block Chaining (CBC) Output Feedback Mode (OFB)

Cipher Feedback Mode (CFB)

Counter Mode (CTR)

3Slide4

ECB Mode

4ECB Encryption

ECB Decryption

Message is broken into 64-bit blocks

Each block is independently encoded with the same secret keySlide5

Pros and Cons of ECB

5 Suitable for use in secure transmission of single values (e.g. an encryption key) Error in one received

ciphertext

block does not affect the correct decryption of other

ciphertext

blocks

Identical plaintext blocks produce identical

ciphertext

blocks resulting in recognizable pattern

Ciphertext

blocks can be easily rearranged or modifiedSlide6

ECB Rearranging and Modification Attacks

6 10,000’s digit of salary easily modified 10,000’s digit blocks easily swappedSlide7

CBC Mode

7

Selects a random number: IV (initialization vector) that is

XORed

with the first plaintext block.

Why?

Then

generates its own random numbers: the

ciphertext

from the previous block,

XORed

with the next plaintext block

CBC Encryption

CBC DecryptionSlide8

Pros and Cons of CBC

8 Suitable for use in general-purpose block-oriented transmission, and authentication The same block repeating in the plaintext will not cause repeats in the

ciphertext

Subject to modification attack: (but error propagates)

Subject to

ciphertext

block rearranging attack

IV: needs to be shared between sender and receiver, either a fixed value or sent encrypted

(How to encrypt?)Slide9

CBC Modification Attack

9Original message

Decrypted message after modification

Solution? Slide10

CBC Rearranging Attack

10

If the

ciphertext

blocks are rearranged as: C

1

, C

5, C

3

, C

2

, C

4

, C

6

The resulting plaintext blocks can be deduced…Slide11

AES Example: ECB vs. CBC

11

AES in ECB mode

AES in CBC mode

Similar plaintext

blocks produce

similar ciphertext

blocks (not good!)Slide12

Output Feedback Mode (OFB)

12 OFB is a stream cipher: encryption is done by

XORing

plaintext with one-time pad

One-time pad:

b

0

|

b

1

|

b

2

|

b

3

…, where

b0 is a random 64-bit IV, b1 is the secret key encrypted b0, and so on…

k-bit OFBSlide13

Pros and Cons of OFB

13

Suitable for use in stream-oriented transmission over noisy channel (e.g., satellite

communication

)

One-time pad can be generated in advance, only XOR operations are performed in real-time

Bit

errors do not propagate: error in one

ciphertext

block only

garbles

the corresponding plaintext block

Message can arrive in arbitrarily sized chunks

, get encrypted and transmitted immediately

Plaintext

modification attack: if attacker knows <plaintext,

ciphertext

>, he can XOR the plaintext and

ciphertext

, and XOR the result with any message of his choosing

Must not reuse the same IV or secret key

(Why?)Slide14

Cipher Feedback Mode (CFB)

14

Similar to OFB

k bits shifted in the register are the k bits of

ciphertext

from the previous block (k can be any number: 1, 8, 64, 128, etc.)

k-bit CFBSlide15

Pros and Cons of CFB

15

Suitable for use in general-purpose stream-oriented transmission, and authentication

Less subject to tampering: with k-bit CFB, the change of any k-bit of plaintext in a predictable way will cause unpredictably garbling the next b/k blocks

One-time pad cannot be pre-computed, encryption needs to be done in real-time

Error in a k-bit

ciphertext

block propagates: it garbles the next b/k plaintext blocksSlide16

Counter Mode (CTR)

16

Similar to OFB

Instead of chaining the encryption of one-time pad,

the IV is incremented and encrypted to get successive blocks of the one-time pad

Counter ModeSlide17

Pros and Cons of CTR

17 Suitable for use in general-purpose block-oriented transmission, and high speed encryption

One-time pad can be pre-computed

Decrypting at any point rather than the beginning: ideal for random access applications

Hardware/software efficiency: parallel encryption/decryption on multiple blocks of plaintext or

ciphertext

Provable security: at least as secure as other modes

Simplicity: unlike ECB and CBC, no decryption algorithm is needed in

CTR (

also true for OFB and CFB

)

Must not reuse the same IV or key, same as OFB

Because:

An

attacker could get the XOR of two plaintext blocks by

XORing

the two corresponding

ciphertext

blocksSlide18

Generating MACs

18 Integrity: protect against undetected modifications, cannot be guaranteed by any mode of operation if attacker knows the plaintext

Plaintext + CBC residue (when message not secret)Slide19

Privacy and Integrity: The Don’ts

19 Privacy: CBC encryption

Integrity: CBC residue

Ciphertext

+ CBC residue?

Encrypt {plaintext + CBC residue}?

Encrypt {plaintext + CRC}?

Slide20

Ciphertext + CBC Residue

20

Problem?

Slide21

Encrypt {plaintext + CBC residue}

21

Problem?

Slide22

Encrypt {plaintext + CRC}

22

Longer CRC maybe Okay

Slide23

Privacy and Integrity: The Do’s

23 Privacy: CBC encryption + Integrity: CBC residue, but with different keys

CBC + weak cryptographic checksum

CBC + CBC residue with related keys

CBC + cryptographic hash: keyed hash preferred

OCB: offset codebook mode: both privacy and integrity in a single cryptographic pass, desirable

Slide24

3DES: CBC Outside vs. Inside

24

CBC on the outside

(Why this one?)

CBC on the insideSlide25

Stream Ciphers

A key is input into a pseudorandom generator to produce a pseudorandom keystreamPseudorandom stream: unpredictable without knowing keyKeystream is bitwise XORed with plaintext stream

25Slide26

Design Considerations

The encryption sequence should have a large period without repetitionsThe keystream k should approximate the properties of a true random number stream as close as possibleInput key K need be sufficiently long

When properly designed, a stream cipher can be as secure as block cipher of comparable key length

Advantage of stream ciphers: almost always faster and use far less code than block ciphers

26Slide27

RC4

Designed by Ron Rivest in 1987 for RSA securityVariable key-size stream cipher with byte-oriented applicationsPopular uses: SSL/TLS (Secure Sockets Layer/Transport Layer Security), WEP (Wired Equivalent Privacy) protocol and the newer WiFi Protected Access (WPA)A variable-length key (1—256 bytes) is used to initialize a 256-byte state vector S

A byte in the

keystream

k

is generated from S by selecting one of the 256 entries for encryption/decryption

The entries in S are permuted after generating each

k

27Slide28

RC4 (Cont’d)

28Slide29

RC4 Keystream Generation

29Slide30

Strength of RC4

30

No practical attack on RC4 is known

Must not reuse key

A known vulnerability in WEP: relevant to the generation of the key input to RC4 but not RC4 itselfSlide31

Reading Assignments

[Kaufman] Chapter 431