RIJNDAEL Arta Doci University Of Colorado.

Slides:



Advertisements
Similar presentations
Computer Science Lecture 7 Rijndael – Advanced Encryption Algorithm Professor Wayne Patterson Howard University Fall 2009.
Advertisements

Origins  clear a replacement for DES was needed Key size is too small Key size is too small The variants are just patches The variants are just patches.
Chap. 5: Advanced Encryption Standard (AES) Jen-Chang Liu, 2005 Adapted from lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 5
The Advanced Encryption Standard (AES) Simplified.
Announcements: Quiz grades entered Quiz grades entered Homework 4 updated with more details. Homework 4 updated with more details. Discussion forum is.
 Stream ciphers o Encrypt chars/bits one at a time o Assume XOR w the key, need long key to be secure  Keystream generators (pseudo-random key) o Synchronous.
Advanced Encryption Standard
Cryptography and Network Security
1 The AES block cipher Niels Ferguson. 2 What is it? Block cipher: encrypts fixed-size blocks. Design by two Belgians. Chosen from 15 entries in a competition.
Algorithm Scheme. AddRoundKey Each round uses four different words from the expanded key array. Each column in the state matrix is XORed with a different.
Advanced Encryption Standard(AES) Presented by: Venkata Marella Slide #9-1.
AES clear a replacement for DES was needed
Advanced Encryption Standard. This Lecture Why AES? NIST Criteria for potential candidates The AES Cipher AES Functions and Inverse Functions AES Key.
1 AES Proposal : Rijndael Joan Daeman Vincent Rijmen.
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
Cryptography and Network Security (AES) Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 10/18/2009 INCS 741: Cryptography 10/18/20091Dr.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Introduction to Modern Cryptography Lecture 3 (1) Finite Groups, Rings and Fields (2) AES - Advanced Encryption Standard.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Cryptography and Network Security Chapter 5 Fourth Edition by William Stallings.
ICS 454 Principles of Cryptography Advanced Encryption Standard (AES) (AES) Sultan Almuhammadi.
Lecture 23 Symmetric Encryption
CS470, A.SelcukAfter the DES1 Block Ciphers After the DES CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Chapter 5 Advanced Encryption Standard. Origins clear a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
Cryptography and Network Security
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Number Theory and Advanced Cryptography 1. Finite Fields and AES
Cryptography and Network Security
Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's virtually indecipherable."
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
AES Background and Mathematics CSCI 5857: Encoding and Encryption.
Information Security Lab. Dept. of Computer Engineering 122/151 PART I Symmetric Ciphers CHAPTER 5 Advanced Encryption Standard 5.1 Evaluation Criteria.
Rijndael Advanced Encryption Standard. Overview Definitions Definitions Who created Rijndael and the reason behind it Who created Rijndael and the reason.
AES Advanced Encryption Standard. Requirements for AES AES had to be a private key algorithm. It had to use a shared secret key. It had to support the.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
AES (Advanced Encryption Standard) By- Sharmistha Roy M.Tech, CSE 1 st semester NIT, Agartala.
AES: Rijndael 林志信 王偉全. Outline Introduction Mathematical background Specification Motivation for design choice Conclusion Discussion.
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Lecture 23 Symmetric Encryption
Fifth Edition by William Stallings
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
The Advanced Encryption Standard Part 2: Mathematical Background
Lecture 4 Overview. Data Encryption Standard Combination of substitution and transposition – Repeated for 16 cycles – Provides confusion and diffusion.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 7 September 9, 2004.
Module :MA3036NI Symmetric Encryption -3 Lecture Week 4.
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
The Advanced Encryption Standard Part 1: Overview
Understanding Cryptography by Christof Paar and Jan Pelzl Chapter 4 – The Advanced Encryption Standard (AES) ver. October 28, 2009.
Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza
Triple DES.
School of Computer Science and Engineering Pusan National University
The Advanced Encryption Standard: Rijndael
ADVANCED ENCRYPTION STANDARD
AES Objectives ❏ To review a short history of AES
Advanced Encryption Standard (Symmetric key Algorithm)
Fifth Edition by William Stallings
The Encryption Standards
Advanced Encryption Standard
Advanced Encryption Standard
Cryptography and Network Security Chapter 5
Introduction to Modern Cryptography
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Advanced Encryption Standard
Introduction to Modern Cryptography
Presentation transcript:

RIJNDAEL Arta Doci University Of Colorado.

Topics Covered Introduction Characteristics of Rijndael Algorithm and its building blocks Mathematics behind Rijndael Conclusion

Rijndael, the Advanced Encryption Standard, is a symmetric block cipher. It uses the same key between sender and receiver to encrypt and decrypt the message. Speed and cost make symmetric algorithms as the algorithm of choice for encrypting large amounts of data. Rijndael = Rijmen & Daemen

Characteristics of Rijndael: Iterated block cipher Parallel structure (based on the S- P Network model structure) Byte Oriented Predecessor: SQUARE.

Block Cipher: Two Principles of a good block cipher, as defined by Claude Shannon, are: 1. ‘Confusion’ which stands for substitution operations. 2. ‘Diffusion’ which stands for transposition or permutation operations.

S-P Network Model (Shannon) Divide each Block of Data into smaller manageable pieces of the same length. In parallel each piece goes through: Confusion (substitution): S-Box Diffusion (Permutation): P-Box

INPUT(Block of Plaintext, Key): Divide plaintext into blocks of length 1(byte) * 16, thus creating a 4 X 4 matrix, i.e. the STATE matrix. State[Row,Column]=Byte[Row+4Column] Byte0Byte4Byte8Byte12 Byte1Byte5Byte9Byte13 Byte2Byte6Byte10Byte14 Byte3Byte7Byte11Byte15 State[0,0]State[0,1]State[0,2]State[0,3] State[1,0]State[1,1]State[1,2]State[1,3] State[2,0]State[2,1]State[2,2]State[2,3] State[3,0]State[3,1]State[3,2]State[3,3] EXAMPLE: Create State Matrix from a given block…

Pseudo Code: Rijndael_Cipher (byte [] block_of_data, byte [] KEY) { Expand_Key(KEY, Expanded_KEY); Add_Key(State[], Expanded_KEY[0]); DO (Nr – 1 times) ROUND(State, Expanded_KEY[i]); Last_Round (State, Expanded_KEY[Nr]); }

Pseudo Code (continued): Round(State, Expanded_KEY[i]) { Substitute_Bytes(State); Shift_Rows(State); Mix_Columns(State); Add_Key(State[],Expanded_KEY[i]); } Last_Round (State, Expanded_KEY[Nr]) { Substitute_Bytes(State); Shift_Rows(State); Add_Key(State[],Expanded_KEY[i]); }

ROUND 1 Last_ROUND Nr Nr - 1 ROUND Nr - 1 EXTENDED_KEYEXTENDED_KEY KEY ROUND 0 KEY ROUND 1 SUB_ SUB_BYTES ADD_ROUND KEY MIX_ MIX_COLUMN S SHIFT_ROWSSHIFT_ROWS INPUT PLAINTEXT ENCRYPTED DATA Encryption KEY ROUND Nr-1 ROUND KEY OUTPUT SECRET KEY Round 0 ROUND 0 KEY ROUND Nr

Number of Rounds Block size is fixed at 128 bits; key can be 128,192, or 256. Nr is the number of rounds which is a function of N k (Block length divided by 32 ), and N b (Key length divided by 32 ) NrNkNk 468 NbNb

Expand_Key This procedure will 1.Expand the key From a cipher Key of bytes [4][Nk] to another array of (4) * (Nb*(Nr + 1)) = 4* (10 + 1) = 44 bytes. 2.Select a round key for each round. This procedure avoids: 1. Weak Keys by introducing asymmetry. 2. Key-related attacks(Biham) 3. Cipher keys that are partially known or that can be chosen by an imposter.

Add_Key Add_Key will be called 1. Once in the beginning of rounds 2. Nr-1 times in the Round 3. Once in the final round. It just XOR-s the 16 bytes of the state with the 16 bytes of key (for the 128 bit key). EXAMPLE: Add_Key illustrated….

Substitute_Bytes (Non-Linear step) Substitutes each byte of the State with a byte from the S-Box as follows: S-Box State [row, column] = S-Box [state [row, column]]. S-Box S-Box ---- MORE LATER…

Shift_Rows It will not change the values, but will just change their order. It does a left circular shift to each row as below: Row 0  Shift 0; Row 1  Shift 1; Row 2  Shift 2; Row 3  Shift 3; State[ 0,0] State[ 0,1] State[ 0,2] State[ 0,3] State[ 1,0] State[ 1,1] State[ 1,2] State[ 1,3] State[ 2,0] State[ 2,1] State[ 2,2] State[ 2,3] State[ 3,0] State[ 3,1] State[ 3,2] State[ 3,3] State[ 0,0] State[ 0,1] State[ 0,2] State[ 0,3] State[ 1,1] State[ 1,2] State[ 1,3] State[ 1,0] State[ 2,2] State[ 2,3] State[ 2,0] State[ 2,1] State[ 3,3] State[ 3,0] State[ 3,1] State[ 3,2]

Mathematics Behind Rijndael… Field Finite Field Inverses

Rijndael operates on the: Binary Finite Field, GF(2 8 ). FIELD. Definition and Example. FINITE FIELD. The field with a finite number of elements. Rijndael uses polynomial basis. Rijndael is byte oriented. Each byte, which will be stored in Hex and it will represent a polynomial of at most degree 7: b 7 X 7 + b 6 X 6 + b 5 X 5 + b 4 X 4 + b 3 X 3 + b 2 X 2 + b 1 X 1 + b o. Example: { } = 0Xd4 = X 7 + X 6 + X 4 + X 2

The set of all polynomials of degree at most 7 with coefficients GF(2) and with the two defined operations: Addition: Just XOR-in Multiplication: Shift to the left. and modulo an irreducible polynomial. Galois Theorem: For any prime p and integer n, there exists a field of order p n and it is unique. Cyclic Group Theorem: GF (p n )*, i.e. multiplicative Group, is cyclic; The nonzero elements are powers of some primitive root. Example: HOW do we construct such a field? Irreducible? Primitive Root? FINITE FIELD GF(2 ^ 8)

Finding the multiplicative inverse… Multiplicative inverses in GF(256) using Look Up Tables: 1. Example: Building Log Table. 2. Building Anti Log Table. Reverse the Log process {03} (06) ={55}; {06} = {03} (55). 3. Building Inverse Table(using Log/Antilog). g (x) has as inverse g (ff ) – ( x). Example:{12}= {03} (e0), so the inverse will be g (ff ) – ( e0) = g 1f = {aa}

S-BOX The only non-linear step … field S-Box is based on the mapping: X -> X –1 ; where X –1 represents multiplicative inverse in the field. 1. Replaces each byte with its inverse GF (2 8 ), g (a); beside 00 mapped to itself. 2. Applies an affine transformation (a bitwise modulo-two matrix, XOR-ed with the hexadecimal number 63. EXAMPLE: Lets find S RD [12]. ??

Mix_Columns Mix_Columns multiplies two numbers: (A column that is considered as a polynomial) * (A mixing polynomial (modulo x 4 + 1)). Mixing polynomial is {03}*x 3 + {01} * x 2 + {01} * x + {02}. It should be relatively prime with the polynomial x 4 + 1={11}=(x+1) 4, Thus, the fixed polynomial will have an inverse (mod x 4 + 1) and we can decrypt…..

Conclusion Secure –Excellent resistance to known attacks. Elegant mathematical structure Efficient

Q & A