lecture 6 overview

22
Lecture 6 Overview

Upload: jeb

Post on 21-Feb-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Lecture 6 Overview. The minimum requirements. A symmetric-key cryptosystem A block cipher Capable of supporting a block size of 128 bits Capable of supporting key length of 128, 192, and 256 bits Available on a worldwide, non-exclusive, royalty-free basis. Criteria for Evaluation. Security - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 6 Overview

Lecture 6 Overview

Page 2: Lecture 6 Overview

The minimum requirements• A symmetric-key cryptosystem• A block cipher• Capable of supporting a block size of 128 bits• Capable of supporting key length of 128, 192,

and 256 bits• Available on a worldwide, non-exclusive,

royalty-free basis

CS 450/650 Lecture 6: AES 2

Page 3: Lecture 6 Overview

Criteria for Evaluation• Security– Soundness of the mathematical basis for an

algorithm’s claimed strength– Research community search for flaws

• Computational Efficiency• Memory Requirements• Flexibility• Simplicity

CS 450/650 Lecture 6: AES 3

Page 4: Lecture 6 Overview

Advanced Encryption Standard• 10, 12, 14 rounds for 128, 192, 256 bit keys– Regular Rounds (9, 11, 13)– Final Round is different (10th, 12th, 14th)

• Each regular round consists of 4 steps– Byte substitution (BSB)– Shift row (SR)– Mix column (MC)– Add Round key (ARK)

CS 450/650 Lecture 6: AES 4

Page 5: Lecture 6 Overview

AES Overview

Plaintext (128) ARK Subkey0

Ciphertext (128) ARK Subkey10

SR

BSB

9 rounds

CS 450/650 Lecture 6: AES 5

Page 6: Lecture 6 Overview

Round i operations

Subkeyi

CS 450/650 Lecture 6: AES 6

128-bit substitution boxes

transposition step of circular shift

Left shift and XOR of bits

portion of key is XORed

confusion

confusion

diffusion and confusion

confusion

Page 7: Lecture 6 Overview

Shift Row (128-bit)b0 b4 b8 b12

b1 b5 b9 b13

b2 b6 b10 b14

b3 b7 b11 b15

b0 b4 b8 b12

b5 b9 b13 b1

b10 b14 b2 b6

b15 b3 b7 b11

CS 450/650 Lecture 6: AES 7

Page 8: Lecture 6 Overview

Mix Column

2 3 1 1

1 2 3 1

1 1 2 3

3 1 1 2

S0,i

S1,i

S2,I

S3,i

S’0,I

S’1,I

S’2,I

S’3,i

= *

Multiplying by 1 no changeMultiplying by 2 shift left one bitMultiplying by 3 shift left one bit and XOR with original value

More than 8 bits 100011011 is subtracted CS 450/650 Lecture 6: AES 8

Page 9: Lecture 6 Overview

Add Key

b0 b4 b8 b12

b1 b5 b9 b13

b2 b6 b10 b14

b3 b7 b11 b15

k0 k4 k8 k12

k1 k5 k9 k13

k2 k6 k10 k14

k3 k7 k11 k15

b’x bx kx= XOR

CS 450/650 Lecture 6: AES 9

Page 10: Lecture 6 Overview

Key Generation

4 bytes 4 bytes 4 bytes 4 bytes

4 bytes 4 bytes 4 bytes 4 bytes

Circular left shift 1byte

S-box

XORXOR Round constant

CS 450/650 Lecture 6: AES 10

XOR

XOR

Page 11: Lecture 6 Overview

DES vs AES

DES AESDate 1976 1999

Block size 64 bits 128 bits

Key length 56 bits 128, 192, 256, … bits

Encryption primitives Substitution and permutation Substitution, shift, bit mixing

Cryptographic primitives

Confusion and diffusion Confusion and diffusion

Design Open Open

Design rationale Closed Open

Selection process Secret Secret (accepted public comment)

Source IBM, enhanced by NSA Belgian cryptographers

11CS 450/650 Lecture 6: AES

Page 12: Lecture 6 Overview

Lecture 8 Algorithm Background

CS 450/650

Fundamentals of Integrated Computer Security

Slides are modified from Hesham El-Rewini

Page 13: Lecture 6 Overview

Analysis of Algorithms• Algorithms– Time Complexity– Space Complexity

• An algorithm whose time complexity is bounded by a polynomial is called a polynomial-time algorithm. – An algorithm is considered to be efficient if it runs

in polynomial time.

CS 450/650 Lecture 8: Algorithm Background 13

Page 14: Lecture 6 Overview

Time and Space• Should be calculated as function of problem

size (n)– Sorting an array of size n, – Searching a list of size n, – Multiplication of two matrices of size n by n

• T(n) = function of n (time)

• S(n) = function of n (space)

14CS 450/650 Lecture 8: Algorithm Background

Page 15: Lecture 6 Overview

Growth Rate• We Compare functions by comparing their

relative rates of growth.

1000n vs. n2

15CS 450/650 Lecture 8: Algorithm Background

Page 16: Lecture 6 Overview

Definitions T(n) = O(f(n)): T is bounded above by fThe growth rate of T(n) <= growth rate of f(n)

T(n) = (g(n)): T is bounded below by gThe growth rate of T(n) >= growth rate of g(n)

T(n) = (h(n)): T is bounded both above and below by hThe growth rate of T(n) = growth rate of h(n)

T(n) = o(p(n)): T is dominated by pThe growth rate of T(n) < growth rate of p(n)

16CS 450/650 Lecture 8: Algorithm Background

Page 17: Lecture 6 Overview

Time Complexity C O(n) O(log n) O(nlogn) O(n2) … O(nk)

O(2n) O(kn) O(nn)

17CS 450/650 Lecture 8: Algorithm Background

Polynomial

ExponentialO(2log n)

Page 18: Lecture 6 Overview

P, NP, NP-hard, NP-complete• A problem belongs to the class P if the problem can be

solved by a polynomial-time algorithm• A problem belongs to the class NP if the correctness of the

problem’s solution can be verified by a polynomial-time algorithm

• A problem is NP-hard if it is as hard as any problem in NP– Existence of a polynomial-time algorithm for an NP-hard problem

implies the existence of polynomial solutions for every problem in NP

• NP-complete problems are the NP-hard problems that are also in NP

18CS 450/650 Lecture 8: Algorithm Background

Page 19: Lecture 6 Overview

Relationships between different classes

NP

P NP-complete

NP-hard

19CS 450/650 Lecture 8: Algorithm Background

Page 20: Lecture 6 Overview

Partitioning ProblemGiven a set of n integers, partition the integers into two subsets such that the difference between the sum of the elements in the two subsets is minimum

13, 37, 42, 59, 86, 100

20CS 450/650 Lecture 8: Algorithm Background

Page 21: Lecture 6 Overview

Bin Packing Problem• Suppose you are given n items of sizes

s1, s2,..., sn

• All sizes satisfy 0 si 1

• The problem is to pack these items in the fewest number of bins, – given that each bin has unit capacity

21CS 450/650 Lecture 8: Algorithm Background

Page 22: Lecture 6 Overview

Bin Packing ProblemExample (Optimal; Solution) for 7 items of sizes:

0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8.

0.8

0.2

0.3

0.7

0.50.10.4

Bin 1 Bin 2 Bin 322CS 450/650 Lecture 8: Algorithm Background