Hardware-based security for high-level protection.

XIP3322B: HKDF/HMAC/SHA-256

SHA-256 IP Core with Extended Functionalities


Introduction

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

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

Key features

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

Functionality

XIP3322B supports four main functionalities:

  • SHA-256: Computes a SHA-256 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.

XIP3322B has a convenient 32-bit FIFO interface allowing for easy integration with rest of the FPGA design. The data inputs are loaded into XIP3322B with byte-level granularity using the numbytes signal that denotes the number of active bytes in a 32-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

Figure 1: Internal high-level block diagram of XIP3322B

Figure 1: Internal high-level block diagram of XIP3322B


Visit the product family page