An advanced encryption system (AES) architecture includes a maximum
parallel encryption module which implements one round of the AES
algorithm in one clock cycle, and a maximum parallel key scheduling
module which generates sub-keys in one clock cycle in parallel with the
encryption module, thereby permitting feedback modes of operation to be
used without adversely affecting AES throughput. A controller controls
the operation of the encryption and key scheduling modules such that one
round is completed per clock cycle. The controller is preferably part of
a hierarchical distributed control scheme comprising communicating finite
state machines (FSMs). The architecture also preferably includes
asynchronous input and output buffers.