Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.