2.3
Clock Gating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
3 Data Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1
Command Pointer Ring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
3.1.1
3.1.2
Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Descriptor Format . . . . . . . . . . . . . . . . . . . . . . . . . .
39
41
3.1.2.1 Desc_result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2.2 Desc_cmd_base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.2.3 Desc_cmd_cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.2.4 Desc_cmd_enc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.2.5 Desc_cmd_hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.2.6 Desc_cmd_pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1.2.7 Desc_srcX and Desc_dstX . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.1.3
Command Structure Conventions . . . . . . . . . . . . . . . . . . . . . . .
67
3.1.3.1 Initial Hash engine Value (IHV) . . . . . . . . . . . . . . . . . . . . . . 67
3.1.3.2 MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1.3.3 Initialization Vector (IV) and Additional Authenticated Data (AAD)
71
3.1.3.4 Key Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.1.3.5 Data Stream Information Fields . . . . . . . . . . . . . . . . . . . . . . 76
3.1.3.6 Hash Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.1.3.7 IPAD & OPAD for HMAC & SSL3.0-MAC (SHA256 | MD5) . . . . . 79
3.1.3.8 AES-GCM and GMAC Operations . . . . . . . . . . . . . . . . . . . . . . 80
3.1.3.9 MAC Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.1.3.10 IPsec Packet Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.1.4
Free Pool Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
3.2
3.3
Result Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Command Operation Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
4 Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.1
Encode Operations Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
4.1.1
4.1.2
4.1.3
4.1.4
Hash Engine before Compression Engine . . . . . . . . . . . . . . . . . .
Hash Engine after Compression Engine . . . . . . . . . . . . . . . . . . .
Hash Engine after Pad Engine. . . . . . . . . . . . . . . . . . . . . . . . .
Hash Engine after Encryption Engine. . . . . . . . . . . . . . . . . . . .
98
99
100
101
820x – Data Sheet, DS-0157-D
Page4
Hifn Confidential