Size: 4735
Comment:
|
Size: 4965
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 24: | Line 24: |
What was the final set? | '''What was the final set?''' |
Line 38: | Line 38: |
What is the power analysis? | '''What is the power analysis?''' |
Line 44: | Line 44: |
What is the difference between Rijndael and AES? | '''What is the difference between Rijndael and AES?''' |
Line 50: | Line 50: |
What is the purpose of the '''state''' array? | '''What is the purpose of the '''state''' array?''' |
Line 56: | Line 56: |
How is the S-Box constructed? | '''How is the S-Box constructed?''' |
Line 122: | Line 122: |
Briefly describe Sub Bytes. | '''Briefly describe Sub Bytes.''' |
Line 124: | Line 124: |
{{{ SubBytes: Uses the S-box described above to perform a byte-by-byte substitution of the state (or input) block as show in XXX }}} |
---- |
Line 128: | Line 126: |
Briefly describe Shift Rows. | 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.''' |
Line 134: | Line 136: |
How many bytes in '''State''' are affected by Shift Rows? | '''How many bytes in ''State'' are affected by Shift Rows?''' |
Line 136: | Line 138: |
Briefly describe Mix Columns. | '''Briefly describe Mix Columns.''' |
Line 138: | Line 140: |
Briefly describe Add Round Key. | '''Briefly describe Add Round Key.''' |
Line 140: | Line 142: |
Breifly describe the key expansion algorithm. | '''Breifly describe the key expansion algorithm.''' |
Line 142: | Line 144: |
What is the difference between Sub Bytes and Sub Word? | '''What is the difference between Sub Bytes and Sub Word?''' |
Line 144: | Line 146: |
What is the difference between Shift Rows and Rot Word? | '''What is the difference between Shift Rows and Rot Word?''' |
Line 146: | Line 148: |
What is the difference between teh AES decryption algorithm and the equivalent inverse cipher? | '''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?