
8201, 8202, 8203, 8204 Acceleration Processor Data Sheet, DS-0157-05
Page 60
Exar Confidential
Slice_Size[15:0]
- or -
bits [31:2] =
AAD_Size[11:0]
bits [19:16] =
MAC_Size[3:0]
31:16
0
The value of this field depends on the type of hash
operation.
For slice hash operations (HASH_OP = 000 or 010),
this field represents the hash slice size.
The slice size is in bytes and must be a multiple of
64 bytes.
Note: The total data size of one command can be an
arbitrary number of bytes. The 820x will split the
data into slices according to the Slice_Size. If the
last slice is less than the Slice_Size, the 820x will
pad the data with zeroes so that it is a multiple of
64 bytes.
Each slice is treated as a complete hash operation
(with length padding). The 820x will send the host
the hash value per slice of data.
For AES-GCM-MAC hash operations (HASH_OP =
111) this field represents the Additional
Authenticated Data size, AAD_Size[11:0].
The AAD size values is in bytes with a range of
0x000 - 0xFFF, which translates into 0 - 4095 bytes
Note: In GMAC mode, the host software does not
need to fill out the AAD Size because the AAD will
be written to the Hash engine as source data, and
so the Hash engine will calculate the length by itself.
For all hash MAC operations (HASH_OP = 011 or
1xx), this field represents MAC_Size[3:0].
For an encode operation, MAC_Size represents the
number of words that will be inserted into the data
stream.
0
MAC is not inserted into the data stream
after calculated
1 - 15
Insert 2 to 16 words into the data stream
The number of inserted MAC words for MD5 is 16
bytes, for SHA1 20 bytes, for SHA2 32 bytes. The
820x will truncate the MAC value according to the
configuration before inserted the MAC into the data
stream.
For decode operations, MAC_Size represents the
MAC size on the information bus (see
The hash engine will compare the calculated MAC
with the MAC on the information bus of this length.
For example, if the calculated HMAC with SHA256 is
32 bytes and the MAC_Size is 24 bytes, the hash
engine will compare the first 24 bytes of the
calculated HMAC with the MAC on the information
bus.
This feature is useful in SSL. The MAC will be
inserted at the end of the data stream that is
processed by the hash engine.
Field Name
Bits
Default Description