• Combine the source data with the MAC value, and then send it to the Out_AFIFO
• Report the Hash core status to the Channel Manager after each command completes
5.6.4
Hash Core
The Hash engine contains two Hash cores. Each core supports six operation modes:
• slice hash only
• file hash only
• slice hash + file hash
• MAC
• SSL3.0 MAC
• XCBC-MAC (with SHA1, SHA256, and MD5 algorithms).
5.6.4.1
Hash Core Operation Modes
Slice Hash only
In this mode, one core calculates the hash value, while the other is used for real time
verification. Each slice is treated as a complete hash operation (with length padding).
File Hash only
In this mode, one core calculates the hash value, while the other is used for real time
verification. Hash engine will load the initial hash value into the hash cores during
initialization, and performs length padding on the last block of data (one command, one
block data).
A File Hash operation performs the hash operation on the entire data block of one
command. A File Hash command can be either stateless or stateful. If the hash of one file
can be done in one command, it is considered stateless; otherwise if the hash of one file
requires two or more commands, it is considered stateful.
Example of a stateless File Hash (one file per command):
The Hash core uses the default initial hash value, and adds length padding at the end
of the data block. The output hash is considered complete.
Example of a stateful file hash (one file uses three commands):
a. The Hash core uses the default initial hash value for the data block of the first com-
mand, and does not add padding. The output hash is considered incomplete but is
used as the IHV for the second command.
b. For the second command, the Hash core uses the IHV calculated from the first com-
mand, and does not add padding. The output hash is considered incomplete but is
used as the IHV for the third command.
820x – Data Sheet, DS-0157-D
Page116
Hifn Confidential