Hardware-based security for high-level protection.

XIP3324B: HKDF/HMAC/SHA-512

SHA-512 IP Core with Extended Functionalities


Introduction

XIP3324B from Xiphera is a versatile Intellectual Property (IP) core designed for SHA-512 cryptographic hash function with extended support for HMAC message authentication code and HKDF key derivation function that are based on using SHA-512. SHA-512 is one of the most commonly used hash functions and is used in numerous cryptographic applications. XIP3324B offers a good balance between performance and resource requirements.

XIP3324B has been designed for easy integration with FPGA- and ASIC-based designs in a vendor-agnostic design methodology, and the functionality of XIP3324B does not rely on any FPGA manufacturer-specific features.

Key features

  • Versatility: IP3324B supports the widely used cryptographic hash function SHA-512. It also has native support for commonly used message authentication code (HMAC) based on SHA-512 and key derivation function (HKDF) based on HMAC. This allows using XIP3324B for multiple cryptographic functions —for example, TLS 1.3 [4] —more easily and efficiently than an IP core that supports only SHA-512.
  • Constant Latency: The execution time of XIP3324B is independent of the message and key values (apart from message length), and consequently provides protection against timing-based side-channel attacks.
  • Performance: XIP3324B provides high performance and reaches hashing speeds of several hundreds of Mbps.
  • Compact Size: XIP3324B has compact size (for example, 2483 ALMs and, 6 M20K blocks in Intel ® Cyclone ® 10 GX family) permitting integration into resource constrained FPGA designs.
  • Standard Compliance: XIP3324B is compliant with NIST FIPS 180-4 Secure Hash Standard (SHS) [2], FIPS 198-1 The Keyed-Hash Message Authentication Code (HMAC) [1], and RFC 5869 HMAC-based Extract-and-Expand Key Derivation Function (HKDF) [3]. Consequently, XIP3324B can be used in multiple cryptographic applications.

Functionality

XIP3324B supports four main functionalities:

  • SHA-512: Computes a SHA-512 hash for an input message.
  • HMAC: Computes an HMAC authentication tag for an input message using an authentication key.
  • HKDF-extract: Computes the HKDF-extract function that calculates a pseudorandom key from initial key material.
  • HKDF-expand: Computes the HKDF-expand function that expands the pseudorandom key to several additional pseudorandom keys of desired lengths for specific cryptographic algorithms.

XIP3324B has a convenient 64-bit FIFO interface allowing for easy integration with rest of the FPGA design. The data inputs are loaded into XIP3324B with byte-level granularity using the numbytes signal that denotes the number of active bytes in a 64-bit word (0...4). The key inputs are loaded through a separate port allowing full isolation between keys and data.


For more technical and commercial details, including FPGA resources & peak performance as well as ordering instructions, open the full product brief in PDF. Contact us by sending and email to email_career.png, and we’ll get back to you as soon as possible.

Open full product brief

Block diagram

Internal high-level block diagram of XIP3324B

Internal high-level block diagram of XIP3324B

Footnotes

[1] FIPS PUB 198-1, The Keyed-Hash Message Authentication Code (HMAC). Technical report, National Institute of Standards & Technology, Gaithersburg, MD, United States, 2008.

[2] FIPS PUB 180-4 Secure Hash Standard (SHS). Technical report, National Institute of Standards & Technology, Gaithersburg, MD, United States, 2015.

[3] Dr. Hugo Krawczyk and Pasi Eronen. HMAC-based Extract-and-Expand Key Derivation Function (HKDF). RFC 5869, May 2010.

[4] Eric Rescorla. The Transport Layer Security (TLS) Protocol Version 1.3. RFC 8446, August 2018.


Visit the product family page