An apparatus for encryption and decryption, capable of use in encryption
and decryption of advanced encryption standard. Byte substitution
operation and inverse byte substitution operation are to be combined.
Byte substitution operation can be expressed as
y=M*multiplicative_inverse(x)+c while inverse byte substitution operation
can be expressed as x=multiplicative_inverse(M.sup.-1*(y+c)), wherein M
and M.sup.-1 are inverse matrix of each other and c is a constant matrix.
Since the two equations employ a look-up table, that is,
multiplicative_inverse(x), the lookup tables for use in byte substitution
and inverse byte substitution operations are to be combined according to
the invention so as to lower hardware complexity of the implementation.
In addition, main operations of column mixing operation and inverse
column mixing operation are to be rearranged to combine the two
operations in part, resulting in simplified hardware implementation.