SlideShare una empresa de Scribd logo
Information and Network Security:25
Algorithmic Steps of AES
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Some Comments on AES
1. an iterative rather than feistel cipher
2. key expanded into array of 32-bit words
1. four words form round key in each round
3. 4 different stages are used as shown
4. has a simple structure
5. only AddRoundKey uses key
6. AddRoundKey a form of Vernam cipher
7. each stage is easily reversible
8. decryption uses keys in reverse order
9. decryption does recover plaintext
10. final round has only 3 stages
Substitute Bytes
• a simple substitution of each byte
• uses one table of 16x16 bytes containing a permutation of all 256 8-
bit values
• each byte of state is replaced by byte indexed by row (left 4-bits) &
column (right 4-bits)
• eg. byte {95} is replaced by byte in row 9 column 5
• which has value {2A}
• S-box constructed using defined transformation of values in GF(28)
• designed to be resistant to all known attacks
• We now turn to a discussion of each of the four transformations used
in AES.
• For each stage, we mention the forward (encryption) algorithm, the
inverse (decryption) algorithm, and the rationale for the design of
that stage.
• The Substitute bytes stage uses an S-box to perform a byte-by-byte
substitution of the block. There is a single 8-bit wide S-box used on
every byte.
• This S-box is a permutation of all 256 8-bit values, constructed using a
transformation which treats the values as polynomials in GF(28) –
however it is fixed, so really only need to know the table when
implementing.
• Decryption requires the inverse of the table. These tables are given in
Stallings Table 5.2.
• The table was designed to be resistant to known cryptanalytic attacks.
• Specifically, the Rijndael developers sought a design that has a low
correlation between input bits and output bits, with the property that
the output cannot be described as a simple mathematical function of
the input, with no fixed points and no “opposite fixed points”.
Substitute Bytes
Byte Substitution operates on each byte of state independently, with the input byte used to index a
row/col in the table to retrieve the substituted value.
Substitute Bytes Example
Shift Rows
• a circular byte shift in each each
• 1st row is unchanged
• 2nd row does 1 byte circular shift to left
• 3rd row does 2 byte circular shift to left
• 4th row does 3 byte circular shift to left
• decrypt inverts using shifts to right
• since state is processed by columns, this step permutes bytes
between the columns
• The ShiftRows stage provides a simple “permutation” of the data, whereas
the other steps involve substitutions.
• Further, since the state is treated as a block of columns, it is this step which
provides for diffusion of values between columns.
• It performs a circular rotate on each row of 0, 1, 2 & 3 places for respective
rows.
• When decrypting it performs the circular shifts in the opposite direction for
each row.
• This row shift moves an individual byte from one column to another, which
is a linear distance of a multiple of 4 bytes, and ensures that the 4 bytes of
one column are spread out to four different columns.
Shift Rows
Mix Columns
• each column is processed separately
• each byte is replaced by a value dependent on all 4 bytes in the
column
• effectively a matrix multiplication in GF(28) using prime poly m(x)
=x8+x4+x3+x+1
• The forward mix column transformation, called MixColumns, operates on
each column individually. Each byte of a column is mapped into a new
value that is a function of all four bytes in that column.
• It is a substitution that makes use of arithmetic over GF(2^8). Each byte of
a column is mapped into a new value that is a function of all four bytes in
that column.
• It is designed as a matrix multiplication where each byte is treated as a
polynomial in GF(28). The inverse used for decryption involves a different
set of constants.
• The constants used are based on a linear code with maximal distance
between code words – this gives good mixing of the bytes within each
column. Combined with the “shift rows” step provides good avalanche, so
that within a few rounds, all output bits depend on all input bits.
Mix Columns
Mix Columns Example
AES Arithmetic
• uses arithmetic in the finite field GF(28)
• with irreducible polynomial
m(x) = x8 + x4 + x3 + x + 1
which is (100011011) or {11b}
• e.g.
{02} • {87} mod {11b} = (1 0000 1110) mod {11b}
= (1 0000 1110) xor (1 0001 1011) = (0001 0101)
• AES uses arithmetic in the finite field GF(28), with the
irreducible polynomial m(x) = x8 + x4 + x3 + x + 1. AES operates
on 8-bit bytes. Addition of two bytes is defined as the bitwise
XOR operation. Multiplication of two bytes is defined as
multiplication in the finite field GF(28). In particular, multiplication
of a value by x (i.e., by {02}) can be implemented as a 1-bit left
shift followed by a conditional bitwise XOR with (0001 1011) if
the leftmost bit of the original value (prior to the shift) is 1.
Mix Columns
• can express each col as 4 equations
• to derive each new byte in col
• decryption requires use of inverse matrix
• with larger coefficients, hence a little harder
• have an alternate characterisation
• each column a 4-term polynomial
• with coefficients in GF(28)
• and polynomials multiplied modulo (x4+1)
• coefficients based on linear code with maximal
distance between codewords
• In practise, you implement Mix Columns by expressing the
transformation on each column as 4 equations (Stallings equation 5.4)
to compute the new bytes for that column.
• This computation only involves shifts, XORs & conditional XORs (for
the modulo reduction).
• The decryption computation requires the use of the inverse of the
matrix, which has larger coefficients, and is thus potentially a little
harder & slower to implement.
• The designers & the AES standard provide an alternate characterisation of
Mix Columns, which treats each column of State to be a four-term
polynomial with coefficients in GF(28).
• Each column is multiplied by a fixed polynomial a(x) given in Stallings eqn
5.7. Whilst this is useful for analysis of the stage, the matrix description is
all that’s required for implementation.
• The coefficients of the matrix are based on a linear code with maximal
distance between code words, which ensures a good mixing among the
bytes of each column.
• The mix column transformation combined with the shift row
transformation ensures that after a few rounds, all output bits depend on
all input bits. In addition, the choice of coefficients in MixColumns, which
are all {01}, {02}, or {03}, was influenced by implementation considerations.
Add Round Key
XOR state with 128-bits of the round key
again processed by column (though effectively a series of byte
operations)
inverse for decryption identical
since XOR own inverse, with reversed keys
designed to be as simple as possible
a form of Vernam cipher on expanded key
requires other stages for complexity / security
• Lastly is the Add Round Key stage which is a simple bitwise
XOR of the current block with a portion of the expanded key.
• Note this is the only step which makes use of the key and
obscures the result, hence MUST be used at start and end of
each round, since otherwise could undo effect of other steps.
• But the other steps provide confusion/diffusion/non-linearity.
That us you can look at the cipher as a series of XOR with key
then scramble/permute block repeated.
• This is efficient and highly secure it is believed.
Add Round Key
Assignment
• Explain the Algorithmic steps of AES

Más contenido relacionado

La actualidad más candente

3.9 external sorting
3.9 external sorting3.9 external sorting
3.9 external sorting
Krish_ver2
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
Syed Zaid Irshad
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
CSCJournals
 
Network Layer Part 4
Network Layer Part 4Network Layer Part 4
Network Layer Part 4
Tutun Juhana
 
Polyphase
PolyphasePolyphase
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AESCFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
idescitation
 
Insertion sort
Insertion sortInsertion sort
Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
Rafay Farooq
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
Pranay Neema
 
Information and network security 26 aes decryption and implementational issues
Information and network security 26 aes decryption and implementational issuesInformation and network security 26 aes decryption and implementational issues
Information and network security 26 aes decryption and implementational issues
Vaibhav Khanna
 
Marge Sort
Marge SortMarge Sort
Marge Sort
Ankit92Chitnavis
 
Input buffering
Input bufferingInput buffering
Input buffering
RushikeshKadam23
 
Introduction to programming in MATLAB
Introduction to programming in MATLABIntroduction to programming in MATLAB
Introduction to programming in MATLAB
mustafa_92
 
ECE_465_Sidharth_proj2_f13
ECE_465_Sidharth_proj2_f13ECE_465_Sidharth_proj2_f13
ECE_465_Sidharth_proj2_f13
Sidharth Kumar
 
Insertion sort and shell sort
Insertion sort and shell sortInsertion sort and shell sort
Insertion sort and shell sort
Praveen Kumar
 
IRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
IRJET-Securing Mobile Technology Of Gsm Using A5/1 AlgorithmIRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
IRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
IRJET Journal
 
Sorting Algorithm
Sorting AlgorithmSorting Algorithm
Sorting Algorithm
Al Amin
 
Sidharth_report_proj1
Sidharth_report_proj1Sidharth_report_proj1
Sidharth_report_proj1
Sidharth Kumar
 
Bp150520
Bp150520Bp150520

La actualidad más candente (19)

3.9 external sorting
3.9 external sorting3.9 external sorting
3.9 external sorting
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher SystemUsing Cipher Key to Generate Dynamic S-Box in AES Cipher System
Using Cipher Key to Generate Dynamic S-Box in AES Cipher System
 
Network Layer Part 4
Network Layer Part 4Network Layer Part 4
Network Layer Part 4
 
Polyphase
PolyphasePolyphase
Polyphase
 
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AESCFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
CFA based SBOX and Modified Mixcolumn Implementation of 8 Bit Datapath for AES
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Information and network security 26 aes decryption and implementational issues
Information and network security 26 aes decryption and implementational issuesInformation and network security 26 aes decryption and implementational issues
Information and network security 26 aes decryption and implementational issues
 
Marge Sort
Marge SortMarge Sort
Marge Sort
 
Input buffering
Input bufferingInput buffering
Input buffering
 
Introduction to programming in MATLAB
Introduction to programming in MATLABIntroduction to programming in MATLAB
Introduction to programming in MATLAB
 
ECE_465_Sidharth_proj2_f13
ECE_465_Sidharth_proj2_f13ECE_465_Sidharth_proj2_f13
ECE_465_Sidharth_proj2_f13
 
Insertion sort and shell sort
Insertion sort and shell sortInsertion sort and shell sort
Insertion sort and shell sort
 
IRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
IRJET-Securing Mobile Technology Of Gsm Using A5/1 AlgorithmIRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
IRJET-Securing Mobile Technology Of Gsm Using A5/1 Algorithm
 
Sorting Algorithm
Sorting AlgorithmSorting Algorithm
Sorting Algorithm
 
Sidharth_report_proj1
Sidharth_report_proj1Sidharth_report_proj1
Sidharth_report_proj1
 
Bp150520
Bp150520Bp150520
Bp150520
 

Similar a Information and network security 25 algorithmic steps of aes

AES.ppt
AES.pptAES.ppt
AES.ppt
BincySam2
 
AES.ppt
AES.pptAES.ppt
AES.ppt
ssuser6602e0
 
CR 05 - Advanced Encryption Standard.ppt
CR 05 - Advanced Encryption Standard.pptCR 05 - Advanced Encryption Standard.ppt
CR 05 - Advanced Encryption Standard.ppt
ssuseraaf866
 
advance encryption standard chapter 5.ppt
advance encryption standard chapter 5.pptadvance encryption standard chapter 5.ppt
advance encryption standard chapter 5.ppt
roueida mohammed
 
Information security Seminar #3
Information security Seminar #3 Information security Seminar #3
Information security Seminar #3
Alexander Kolybelnikov
 
Cryptography
CryptographyCryptography
Cryptography
Mannat Gill
 
Aes
AesAes
Modified aes algorithm using multiple s boxes
Modified aes algorithm using multiple s boxesModified aes algorithm using multiple s boxes
Modified aes algorithm using multiple s boxes
chuxuantinh
 
modified aes algorithm using multiple s-boxes
modified aes algorithm using multiple s-boxesmodified aes algorithm using multiple s-boxes
modified aes algorithm using multiple s-boxes
chutinhha
 
Information and data security advanced encryption standard (aes)
Information and data security advanced encryption standard (aes)Information and data security advanced encryption standard (aes)
Information and data security advanced encryption standard (aes)
Mazin Alwaaly
 
AES.pptx
AES.pptxAES.pptx
AES.pptx
RizwanBasha12
 
Module 2.pptx
Module 2.pptxModule 2.pptx
Module 2.pptx
seethal9
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
IJERA Editor
 
Fault Detection AES
Fault Detection AESFault Detection AES
Fault Detection AES
Sumathi Reddy
 
Ch05
Ch05Ch05
Information and network security 20 data encryption standard des
Information and network security 20 data encryption standard desInformation and network security 20 data encryption standard des
Information and network security 20 data encryption standard des
Vaibhav Khanna
 
Unit -2.ppt
Unit -2.pptUnit -2.ppt
Unit -2.ppt
DHANABALSUBRAMANIAN
 
Chapter 5 module 3
Chapter 5 module 3Chapter 5 module 3
Chapter 5 module 3
daneshwarihatti
 
Aes
AesAes
AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
هيثم فرج
 

Similar a Information and network security 25 algorithmic steps of aes (20)

AES.ppt
AES.pptAES.ppt
AES.ppt
 
AES.ppt
AES.pptAES.ppt
AES.ppt
 
CR 05 - Advanced Encryption Standard.ppt
CR 05 - Advanced Encryption Standard.pptCR 05 - Advanced Encryption Standard.ppt
CR 05 - Advanced Encryption Standard.ppt
 
advance encryption standard chapter 5.ppt
advance encryption standard chapter 5.pptadvance encryption standard chapter 5.ppt
advance encryption standard chapter 5.ppt
 
Information security Seminar #3
Information security Seminar #3 Information security Seminar #3
Information security Seminar #3
 
Cryptography
CryptographyCryptography
Cryptography
 
Aes
AesAes
Aes
 
Modified aes algorithm using multiple s boxes
Modified aes algorithm using multiple s boxesModified aes algorithm using multiple s boxes
Modified aes algorithm using multiple s boxes
 
modified aes algorithm using multiple s-boxes
modified aes algorithm using multiple s-boxesmodified aes algorithm using multiple s-boxes
modified aes algorithm using multiple s-boxes
 
Information and data security advanced encryption standard (aes)
Information and data security advanced encryption standard (aes)Information and data security advanced encryption standard (aes)
Information and data security advanced encryption standard (aes)
 
AES.pptx
AES.pptxAES.pptx
AES.pptx
 
Module 2.pptx
Module 2.pptxModule 2.pptx
Module 2.pptx
 
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES AlgorithmFPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
FPGA Implementation of an Area Optimized Architecture for 128 bit AES Algorithm
 
Fault Detection AES
Fault Detection AESFault Detection AES
Fault Detection AES
 
Ch05
Ch05Ch05
Ch05
 
Information and network security 20 data encryption standard des
Information and network security 20 data encryption standard desInformation and network security 20 data encryption standard des
Information and network security 20 data encryption standard des
 
Unit -2.ppt
Unit -2.pptUnit -2.ppt
Unit -2.ppt
 
Chapter 5 module 3
Chapter 5 module 3Chapter 5 module 3
Chapter 5 module 3
 
Aes
AesAes
Aes
 
AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
 

Más de Vaibhav Khanna

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
Vaibhav Khanna
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
Vaibhav Khanna
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
Vaibhav Khanna
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
Vaibhav Khanna
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
Vaibhav Khanna
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
Vaibhav Khanna
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
Vaibhav Khanna
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
Vaibhav Khanna
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
Vaibhav Khanna
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
Vaibhav Khanna
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
Vaibhav Khanna
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
Vaibhav Khanna
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
Vaibhav Khanna
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
Vaibhav Khanna
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
Vaibhav Khanna
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
Vaibhav Khanna
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
Vaibhav Khanna
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
Vaibhav Khanna
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
Vaibhav Khanna
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
Vaibhav Khanna
 

Más de Vaibhav Khanna (20)

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
 

Último

Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 

Último (20)

Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 

Information and network security 25 algorithmic steps of aes

  • 1. Information and Network Security:25 Algorithmic Steps of AES Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Some Comments on AES 1. an iterative rather than feistel cipher 2. key expanded into array of 32-bit words 1. four words form round key in each round 3. 4 different stages are used as shown 4. has a simple structure 5. only AddRoundKey uses key 6. AddRoundKey a form of Vernam cipher 7. each stage is easily reversible 8. decryption uses keys in reverse order 9. decryption does recover plaintext 10. final round has only 3 stages
  • 3. Substitute Bytes • a simple substitution of each byte • uses one table of 16x16 bytes containing a permutation of all 256 8- bit values • each byte of state is replaced by byte indexed by row (left 4-bits) & column (right 4-bits) • eg. byte {95} is replaced by byte in row 9 column 5 • which has value {2A} • S-box constructed using defined transformation of values in GF(28) • designed to be resistant to all known attacks
  • 4. • We now turn to a discussion of each of the four transformations used in AES. • For each stage, we mention the forward (encryption) algorithm, the inverse (decryption) algorithm, and the rationale for the design of that stage. • The Substitute bytes stage uses an S-box to perform a byte-by-byte substitution of the block. There is a single 8-bit wide S-box used on every byte.
  • 5. • This S-box is a permutation of all 256 8-bit values, constructed using a transformation which treats the values as polynomials in GF(28) – however it is fixed, so really only need to know the table when implementing. • Decryption requires the inverse of the table. These tables are given in Stallings Table 5.2. • The table was designed to be resistant to known cryptanalytic attacks. • Specifically, the Rijndael developers sought a design that has a low correlation between input bits and output bits, with the property that the output cannot be described as a simple mathematical function of the input, with no fixed points and no “opposite fixed points”.
  • 6. Substitute Bytes Byte Substitution operates on each byte of state independently, with the input byte used to index a row/col in the table to retrieve the substituted value.
  • 8. Shift Rows • a circular byte shift in each each • 1st row is unchanged • 2nd row does 1 byte circular shift to left • 3rd row does 2 byte circular shift to left • 4th row does 3 byte circular shift to left • decrypt inverts using shifts to right • since state is processed by columns, this step permutes bytes between the columns
  • 9. • The ShiftRows stage provides a simple “permutation” of the data, whereas the other steps involve substitutions. • Further, since the state is treated as a block of columns, it is this step which provides for diffusion of values between columns. • It performs a circular rotate on each row of 0, 1, 2 & 3 places for respective rows. • When decrypting it performs the circular shifts in the opposite direction for each row. • This row shift moves an individual byte from one column to another, which is a linear distance of a multiple of 4 bytes, and ensures that the 4 bytes of one column are spread out to four different columns.
  • 11. Mix Columns • each column is processed separately • each byte is replaced by a value dependent on all 4 bytes in the column • effectively a matrix multiplication in GF(28) using prime poly m(x) =x8+x4+x3+x+1
  • 12. • The forward mix column transformation, called MixColumns, operates on each column individually. Each byte of a column is mapped into a new value that is a function of all four bytes in that column. • It is a substitution that makes use of arithmetic over GF(2^8). Each byte of a column is mapped into a new value that is a function of all four bytes in that column. • It is designed as a matrix multiplication where each byte is treated as a polynomial in GF(28). The inverse used for decryption involves a different set of constants. • The constants used are based on a linear code with maximal distance between code words – this gives good mixing of the bytes within each column. Combined with the “shift rows” step provides good avalanche, so that within a few rounds, all output bits depend on all input bits.
  • 15. AES Arithmetic • uses arithmetic in the finite field GF(28) • with irreducible polynomial m(x) = x8 + x4 + x3 + x + 1 which is (100011011) or {11b} • e.g. {02} • {87} mod {11b} = (1 0000 1110) mod {11b} = (1 0000 1110) xor (1 0001 1011) = (0001 0101)
  • 16. • AES uses arithmetic in the finite field GF(28), with the irreducible polynomial m(x) = x8 + x4 + x3 + x + 1. AES operates on 8-bit bytes. Addition of two bytes is defined as the bitwise XOR operation. Multiplication of two bytes is defined as multiplication in the finite field GF(28). In particular, multiplication of a value by x (i.e., by {02}) can be implemented as a 1-bit left shift followed by a conditional bitwise XOR with (0001 1011) if the leftmost bit of the original value (prior to the shift) is 1.
  • 17. Mix Columns • can express each col as 4 equations • to derive each new byte in col • decryption requires use of inverse matrix • with larger coefficients, hence a little harder • have an alternate characterisation • each column a 4-term polynomial • with coefficients in GF(28) • and polynomials multiplied modulo (x4+1) • coefficients based on linear code with maximal distance between codewords
  • 18. • In practise, you implement Mix Columns by expressing the transformation on each column as 4 equations (Stallings equation 5.4) to compute the new bytes for that column. • This computation only involves shifts, XORs & conditional XORs (for the modulo reduction). • The decryption computation requires the use of the inverse of the matrix, which has larger coefficients, and is thus potentially a little harder & slower to implement.
  • 19. • The designers & the AES standard provide an alternate characterisation of Mix Columns, which treats each column of State to be a four-term polynomial with coefficients in GF(28). • Each column is multiplied by a fixed polynomial a(x) given in Stallings eqn 5.7. Whilst this is useful for analysis of the stage, the matrix description is all that’s required for implementation. • The coefficients of the matrix are based on a linear code with maximal distance between code words, which ensures a good mixing among the bytes of each column. • The mix column transformation combined with the shift row transformation ensures that after a few rounds, all output bits depend on all input bits. In addition, the choice of coefficients in MixColumns, which are all {01}, {02}, or {03}, was influenced by implementation considerations.
  • 20. Add Round Key XOR state with 128-bits of the round key again processed by column (though effectively a series of byte operations) inverse for decryption identical since XOR own inverse, with reversed keys designed to be as simple as possible a form of Vernam cipher on expanded key requires other stages for complexity / security
  • 21. • Lastly is the Add Round Key stage which is a simple bitwise XOR of the current block with a portion of the expanded key. • Note this is the only step which makes use of the key and obscures the result, hence MUST be used at start and end of each round, since otherwise could undo effect of other steps. • But the other steps provide confusion/diffusion/non-linearity. That us you can look at the cipher as a series of XOR with key then scramble/permute block repeated. • This is efficient and highly secure it is believed.
  • 23. Assignment • Explain the Algorithmic steps of AES