Differences between revisions 1 and 17 (spanning 16 versions)
Revision 1 as of 2005-10-04 01:42:05
Size: 858
Editor: yakko
Comment:
Revision 17 as of 2005-10-05 23:27:50
Size: 4965
Editor: yakko
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
What was the original set of criteria used by NIST to evaluate candidate AES ciphers? '''What was the original set of criteria used by NIST to evaluate candidate AES ciphers?'''
Line 11: Line 11:
What was the final set? {{{
In general they said:
   1. Security strength equal to or greater than 3DES
   2. Significantly improved efficiency
   3. Symmetric block cipher with a block length of 128 bits.
   4. Support key lengths of 128, 192, and 256 bits.
Line 13: Line 18:
What is the power analysis? The specific evaluation criteria:
   1. Security: This referes to the effort required to cryptanalyze an algorithm.
   2. Cost: Practical, Efficient enough to use on high bandwidth links and high speed applications.
   3. Algorithm and Implementation Characteristics: flexibility, suitability for a variety of hardware and software implementations, simplicity
}}}
Line 15: Line 24:
What is the difference between Rijndael and AES? '''What was the final set?'''
Line 17: Line 26:
What is the purpose of the '''state''' array? {{{
General Security:
Software Implementations: Speed
Hardware Implementations: small hardware size to keep cost down.
Attacks on Implementations: timing attacks and power attacks.
Encryption versus decryption: Are they the same...
Key agility: ability to change keys quickly and efficiently
Other versatility and fexibility: Parameter flexibility (other key and block sizes, change in the number of rounds),
                                  Implementation Flexibility (optimizing cipher elements for particular environments).
Potential for instruction-level parallelism:The ability to exploit ILP in processors.
}}}
Line 19: Line 38:
How is the S-Box constructed? '''What is the power analysis?'''
Line 21: Line 40:
Briefly describe Sub Bytes. {{{
Observing the power used to detect a multiply or add operation or to see if ones or zeros are being written.
}}}
Line 23: Line 44:
Briefly describe Shift Rows. '''What is the difference between Rijndael and AES?'''
Line 25: Line 46:
How many bytes in '''State''' are affected by Shift Rows? {{{
Rijndael took different blocks sizes of 128, 192, 256. AES only takes 128.
}}}
Line 27: Line 50:
Briefly describe Mix Columns. '''What is the purpose of the '''state''' array?'''
Line 29: Line 52:
Briefly describe Add Round Key. {{{
The state array holds the input block that is massaged through each round.
}}}
Line 31: Line 56:
Breifly describe the key expansion algorithm. '''How is the S-Box constructed?'''
Line 33: Line 58:
What is the difference between Sub Bytes and Sub Word? ----
Line 35: Line 60:
What is the difference between Shift Rows and Rot Word? {{{#!latex2
\usepackage{amsmath}%
\setcounter{MaxMatrixCols}{30}%
\usepackage{amsfonts}%
\usepackage{amssymb}%
\usepackage{graphicx}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}[theorem]{Acknowledgement}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}[theorem]{Axiom}
\newtheorem{case}[theorem]{Case}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conclusion}[theorem]{Conclusion}
\newtheorem{condition}[theorem]{Condition}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{criterion}[theorem]{Criterion}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{exercise}[theorem]{Exercise}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{solution}[theorem]{Solution}
\newtheorem{summary}[theorem]{Summary}
\newenvironment{proof}[1][Proof]{\noindent\textbf{#1.} }{\ \rule{0.5em}{0.5em}}
%%end-prologue%%
\begin{enumerate}
\item Initialize the $S-Box$ with the byte values in ascending sequence row
by row\newline
$\left[
\begin{array}{cccc}
00 & 01 & ... & 0F \\
10 & 11 & ... & 1F \\
\vdots & & \ddots & \\
F0 & F1 & & FF%
\end{array}%
\right] $\newline
Thus any element value in row A element B is 0xAB
Line 37: Line 102:
What is the difference between teh AES decryption algorithm and the equivalent inverse cipher? \item Map each byte in the S-Box to its multiplicative inverse in $GF(2^{8})$
where $00\rightarrow 00$.

\item Each byte in the S-Box consists of 8 bits labeled $%
(b_{7},b_{6},...,b_{0})$. Apply the following transformation to each bit of
each byte:%
\[
b_{i}^{\prime}=b_{i}\oplus b_{\left( i+4\right) \operatorname{mod}8}\oplus
b_{\left( i+5\right) \operatorname{mod}8}\oplus b_{\left( i+6\right)
\operatorname{mod}8}\oplus b_{\left( i+7\right) \operatorname{mod}8}\oplus
c_{i}
\]
where $c_{i}$ is the $i^{th}$ bit of byte $c$ with the value $\left\{
63\right\} $. That is $\left( c_{7}c_{6}c_{5}c_{4}c_{3}c_{2}c_{1}%
c_{0}\right) =\left( 01100011\right) $.
\end{enumerate}
}}}

----

'''Briefly describe Sub Bytes.'''

----

SubBytes: Uses the S-box described above to perform a byte-by-byte substitution of the state (or input) block as show in attachment:AES-SubBytes.png In the decryption algorithm an Inverse-S-Box is used. [[latex2($S:EA \rarrow 87$ and $S^{-1}:87 \rarrow EA$)]].

----

'''Briefly describe Shift Rows.'''

{{{
A simple permutation
}}}

'''How many bytes in ''State'' are affected by Shift Rows?'''

'''Briefly describe Mix Columns.'''

'''Briefly describe Add Round Key.'''

'''Breifly describe the key expansion algorithm.'''

'''What is the difference between Sub Bytes and Sub Word?'''

'''What is the difference between Shift Rows and Rot Word?'''

'''What is the difference between teh AES decryption algorithm and the equivalent inverse cipher?'''

Advanced Encryption Standard

Evaluation Criteria for AES

The AES Cipher

Review Questions

What was the original set of criteria used by NIST to evaluate candidate AES ciphers?

In general they said:
   1. Security strength equal to or greater than 3DES
   2. Significantly improved efficiency
   3. Symmetric block cipher with a block length of 128 bits.
   4. Support key lengths of 128, 192, and 256 bits.

The specific evaluation criteria:
   1. Security: This referes to the effort required to cryptanalyze an algorithm. 
   2. Cost: Practical, Efficient enough to use on high bandwidth links and high speed applications.
   3. Algorithm and Implementation Characteristics: flexibility, suitability for a variety of hardware and software implementations, simplicity

What was the final set?

General Security:
Software Implementations: Speed
Hardware Implementations: small hardware size to keep cost down.
Attacks on Implementations: timing attacks and power attacks.
Encryption versus decryption: Are they the same...
Key agility: ability to change keys quickly and efficiently
Other versatility and fexibility: Parameter flexibility (other key and block sizes, change in the number of rounds), 
                                  Implementation Flexibility (optimizing cipher elements for particular environments).
Potential for instruction-level parallelism:The ability to exploit ILP in processors.

What is the power analysis?

Observing the power used to detect a multiply or add operation or to see if ones or zeros are being written.

What is the difference between Rijndael and AES?

Rijndael took different blocks sizes of 128, 192, 256. AES only takes 128.

What is the purpose of the state array?

The state array holds the input block that is massaged through each round.

How is the S-Box constructed?


\usepackage{amsmath}%
\setcounter{MaxMatrixCols}{30}%
\usepackage{amsfonts}%
\usepackage{amssymb}%
\usepackage{graphicx}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}[theorem]{Acknowledgement}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}[theorem]{Axiom}
\newtheorem{case}[theorem]{Case}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conclusion}[theorem]{Conclusion}
\newtheorem{condition}[theorem]{Condition}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{criterion}[theorem]{Criterion}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{exercise}[theorem]{Exercise}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{solution}[theorem]{Solution}
\newtheorem{summary}[theorem]{Summary}
\newenvironment{proof}[1][Proof]{\noindent\textbf{#1.} }{\ \rule{0.5em}{0.5em}}
%%end-prologue%%
\begin{enumerate}
\item Initialize the $S-Box$ with the byte values in ascending sequence row
by row\newline
$\left[
\begin{array}{cccc}
00 & 01 & ... & 0F \\
10 & 11 & ... & 1F \\
\vdots  &  & \ddots  &  \\
F0 & F1 &  & FF%
\end{array}%
\right] $\newline
Thus any element value in row A element B is 0xAB

\item Map each byte in the S-Box to its multiplicative inverse in $GF(2^{8})$
where $00\rightarrow 00$.

\item Each byte in the S-Box consists of 8 bits labeled $%
(b_{7},b_{6},...,b_{0})$. Apply the following transformation to each bit of
each byte:%
\[
b_{i}^{\prime}=b_{i}\oplus b_{\left(  i+4\right)  \operatorname{mod}8}\oplus
b_{\left(  i+5\right)  \operatorname{mod}8}\oplus b_{\left(  i+6\right)
\operatorname{mod}8}\oplus b_{\left(  i+7\right)  \operatorname{mod}8}\oplus
c_{i}
\]
where $c_{i}$ is the $i^{th}$ bit of byte $c$ with the value $\left\{
63\right\}  $. That is $\left(  c_{7}c_{6}c_{5}c_{4}c_{3}c_{2}c_{1}%
c_{0}\right)  =\left(  01100011\right)  $.
\end{enumerate}


Briefly describe Sub Bytes.


SubBytes: Uses the S-box described above to perform a byte-by-byte substitution of the state (or input) block as show in attachment:AES-SubBytes.png In the decryption algorithm an Inverse-S-Box is used. latex2($S:EA \rarrow 87$ and $S^{-1}:87 \rarrow EA$).


Briefly describe Shift Rows.

A simple permutation

How many bytes in State are affected by Shift Rows?

Briefly describe Mix Columns.

Briefly describe Add Round Key.

Breifly describe the key expansion algorithm.

What is the difference between Sub Bytes and Sub Word?

What is the difference between Shift Rows and Rot Word?

What is the difference between teh AES decryption algorithm and the equivalent inverse cipher?

Csce877Ch5Notes (last edited 2020-01-26 20:31:17 by scot)