Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 6 Overview.

Similar presentations


Presentation on theme: "Lecture 6 Overview."— Presentation transcript:

1 Lecture 6 Overview

2 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

3 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

4 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

5 AES Overview 9 rounds Plaintext (128) ARK Subkey0 BSB SR
Ciphertext (128) ARK Subkey10 CS 450/650 Lecture 6: AES

6 Round i operations 128-bit substitution boxes confusion
transposition step of circular shift confusion Left shift and XOR of bits diffusion and confusion portion of key is XORed confusion Subkeyi CS 450/650 Lecture 6: AES

7 Shift Row (128-bit) b0 b4 b8 b12 b1 b5 b9 b13 b2 b6 b10 b14 b3 b7 b11
CS 450/650 Lecture 6: AES

8 Mix Column = * Multiplying by 1  no change
2 3 1 S0,i S1,i S2,I S3,i S’0,I S’1,I S’2,I S’3,i = * Multiplying by 1  no change Multiplying by 2  shift left one bit Multiplying by 3  shift left one bit and XOR with original value More than 8 bits  is subtracted CS 450/650 Lecture 6: AES

9 Add Key = b’x bx kx XOR b0 b4 b8 b12 b1 b5 b9 b13 b2 b6 b10 b14 b3 b7
CS 450/650 Lecture 6: AES

10 Circular left shift 1byte
Key Generation 4 bytes Circular left shift 1byte S-box XOR XOR Round constant XOR XOR 4 bytes CS 450/650 Lecture 6: AES

11 DES vs AES DES AES Date 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 Design Open Design rationale Closed Selection process Secret Secret (accepted public comment) Source IBM, enhanced by NSA Belgian cryptographers CS 450/650 Lecture 6: AES

12 Lecture 8 Algorithm Background
CS 450/650 Fundamentals of Integrated Computer Security Slides are modified from Hesham El-Rewini

13 Analysis of 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

14 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) CS 450/650 Lecture 8: Algorithm Background

15 Growth Rate We Compare functions by comparing their relative rates of growth. 1000n vs. n2 CS 450/650 Lecture 8: Algorithm Background

16 Definitions T(n) = O(f(n)): T is bounded above by f
The growth rate of T(n) <= growth rate of f(n) T(n) = W (g(n)): T is bounded below by g The growth rate of T(n) >= growth rate of g(n) T(n) = Q(h(n)): T is bounded both above and below by h The growth rate of T(n) = growth rate of h(n) T(n) = o(p(n)): T is dominated by p The growth rate of T(n) < growth rate of p(n) CS 450/650 Lecture 8: Algorithm Background

17 Time Complexity O(2log n) C O(n) O(log n) O(nlogn) O(n2) … O(nk) O(2n)
O(kn) O(nn) Polynomial O(2log n) Exponential CS 450/650 Lecture 8: Algorithm Background

18 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 CS 450/650 Lecture 8: Algorithm Background

19 Relationships between different classes
NP NP-hard NP-complete P CS 450/650 Lecture 8: Algorithm Background

20 Partitioning Problem Given 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 CS 450/650 Lecture 8: Algorithm Background

21 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 CS 450/650 Lecture 8: Algorithm Background

22 Bin Packing Problem Example (Optimal; Solution) for 7 items of sizes: 0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8. CS 450/650 Lecture 8: Algorithm Background


Download ppt "Lecture 6 Overview."

Similar presentations


Ads by Google