P07A.AES - almuhammadi
Download
Report
Transcript P07A.AES - almuhammadi
ICS 454
Cryptography
Advanced Encryption Standard
(AES)
Sultan Almuhammadi
Outline
Background
AES Encryption and Decryption
Security Issues
Implementation Issues
Background
In 1977, the National Bureau of Standards (NBS)
adopted DES.
In 1994, the National Institute of Standards and
Technology (NIST), reaffirmed DES for federal use for
another 5 years.
In 1999, NIST adopted 3DES.
Pros:
168-bit key overcomes brute-force attack.
Cons:
Triple rounds relatively slow in software.
64-bit block size larger is better.
3DES is not a good candidate for long-term use.
Background
In 1997, NIST called for a new Advanced
Encryption Standard (AES)
AES Requirements:
Must have equal or better security than 3DES.
Must improve the efficiency.
Must be a 128-bit symmetric block cipher.
Must support 128/192/256 bit key lengths.
In 2001, NIST selected Rijndael (by Rijmen and
Daemen) as the new AES.
AES will replace 3DES eventually. Until then,
NIST approves 3DES for US government use.
AES (Encryption)
Not a Feistel structure
(data block is
processed in parallel
in each round)
Key Expansion
provides 128-bit round
keys (4 words each).
Each round has 4
stages:
Substitute bytes: using
an S-box to perform a
byte-by-byte
substitution of the block
ShiftRows: a simple
permutation
MixColumns:
substitution using
arithmetic over GF(28)
AddRoundKey: bitwise
XOR of the current
block with a round key
byte-by-byte substitution using S-box
Simple permutation
Substitution using arithmetic over GF(28)
XOR with round key
AES (Decryption)
Each stage is easily
reversible:
Inv. Sub bytes: An
inverse S-box is used.
Inv. ShiftRows: Inverse
permutation
Inv. MixColumns:
Inverse substitution
using arithmetic over
GF(28)
AddRoundKey: XOR
with a round key in
reverse order
(B RK) RK = B
AES Security Issues
Only the AddRoundKey stage makes use of the key.
Other stages are reversible without the key add no
security.
AddRoundKey stage by itself is just an XOR scheme
attackable.
Other three stages provide confusion/diffusion/
nonlinearity (i.e. scrambling the block), but no security.
The four stages together in each round make it both
efficient and highly secure.
The S-box is designed such that:
It is resistant to known cryptanalytic attacks
It has no fixed point (S-box(n) = n)
it is not self-inverse. Eg. S-box(95) = 2A, but Inv.S-box(95) = AD
AES Implementation Issues
Very efficient on 8-bit processor:
AddRoundKey: bytewise XOR operation
ShiftRows: simple byte shifting
SubBytes: operates at byte-level
MixColumns: multiplies matrices in GF(28)
On 32-bit processor, a more efficient
implementation can be achieved with
operations defined on 32-bit words.
AES Demo
Pls visit the link below for a full AES demo:
http://www.cs.bc.edu/~straubin/cs38105/blockciphers/rijndael_ingles2004.swf