AES Visualization
Laura Devendorf / Final Project / CS178 / Built with Processing
This is a learning tool / visualization of the AES encryption process. Users are able to input their own values and watch as they are manipulated.
Applet:
Controls
Slider
The slider will advance the progress of the current step.
State Value
Input the initial state value here and hit enter when you're are done. This wil update any states shown on the screen. It's recommended that you do this before running the program because it makes it prettier but you are also able to change it at any time.
Input the key value. When in "All Values" mode, the keys can be viewed by rotating the camera horizontally by 180 degrees.
Rotation & Zoom Camera Controls
Zoom
Mouse Wheel
Pan
on Mac, Command+MouseMove
Double Click
Reset at center
Click Pull
rotate camera
Check Box Views
All Values
show's all the states at once in the order they are complteted. The actions are listed to the left and the round number is indecated by color.
Byte Frequency
Maps each value to a 16 x 16 grid each time a certian byte value is observed in a state. The coordinates funciton similar to the sbox where the first most significate 4 bits is the column index, and the last for bits is the row index. The color indicate which round the byte appeared in as cooreclated with the colors in the all Values view.
SubBytes
Illustrates the action taken in the subBytes step. Move slider to advance the progress.
Shift Rows
Illustrates the action taken in the Shift Rows step. Move slider to advance the progress.
Mix Columns
Illustrates the action taken in the Mix Columns step. Move slider to advance the progress.
Add Round Key
Illustrates the action taken in the Add Round Key step. Move slider to advance the progress.
Key Scheduler
Illustrates the action taken in the key scheduling step. Move slider to advance the progress.