Hardware-based security for high-level protection.

XIP3327C: HKDF/HMAC/SHA-256/SHA-512

SHA-256 IP Core with Extended Functionalities


Introduction

XIP3327C from Xiphera is a versatile Intellectual Property (IP) core designed for SHA-256 and SHA-512 cryptographic hash functions with extended support for HMAC message authentication code and HKDF key derivation function that are based on using SHA-256. SHA-256 and SHA-512 are among the most commonly used hash functions and are used in numerous cryptographic applications. XIP3327C is optimized for low FPGA resource requirements.

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

Key features

  • Versatility: XIP3327C supports the widely used cryptographic hash functions SHA-256 and SHA-512. It also has native support for commonly used message authentication code (HMAC) based on SHA-256 and key derivation function (HKDF) based on HMAC-SHA-256. This allows using XIP3327C for multiple cryptographic functions —for example, TLS 1.3 —more easily and efficiently than an IP core that supports only SHA-256 or SHA-512.
  • Constant Latency: The execution time of XIP3327C is independent of the message and key values,(apart from message length), and consequently provides protection against timing-based side-channel attacks.
  • Compact Size: XIP3327C has compact size (for example, approximately 1000 LUTs and a three memory blocks in Xilinx® Zynq UltraScale+® family) permitting integration into resource constrained FPGA designs.
  • Standard Compliance: XIP3327C 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, XIP3327C can be used in multiple cryptographic applications.

Functionality

XIP3327C supports five main functionalities:

  • SHA-256: Computes a SHA-256 hash for an input message.
  • SHA-512: Computes a SHA-512 hash for an input message.
  • HMAC: Computes an HMAC-SHA-256 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.

XIP3327C has a convenient 32-bit FIFO interface allowing for easy integration with rest of the FPGA design. The data inputs are loaded into XIP3327C 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 XIP3327C

Figure 1: Internal high-level block diagram of XIP3327C


Visit the product family page