UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67830

HDCP 1.x - How should the HDCP keys be formatted for the HDCP 1.x?

Description

How should the HDCP keys be formatted for the HDCP 1.x?

This article specifically covers how to format the array in the software application that is used in the example design for HDMI.

Solution

The HDMI reference application has two (empty) HDCP 1.x key arrays.

  1. The Hdcp14Key1 array - This array holds the HDCP 1.x RX KSV and Keys.
  2. The Hdcp14Key2 array - This array holds the HDCP 1.x RX KSV and Keys.

The array has a size of 328 bytes. The contents are the KSV Key Selection Vector (5 bytes padded with zeros to 8 bytes), and key set (320 bytes), where each key is 7 bytes padded with zeros to 8 bytes.

In order to format the HDCP 1.x keys for the key_utility, follow the steps below:

  1. Discard the 20 byte SHA-1.
  2. Pad each key on the right with one byte of 0s (KSV is already padded).
  3. You should now have 1 x 8 byte KSV + 40 x 8 byte Keys.
  4. Byte swap each 8 byte set to reverse their order (convert from Little-endian to Big-endian).
  5. The final result should be a 328 byte HDCP 1.4 keyset.
  6. You should now AES encrypt the keyset before storing it in an external EEPROM.
AR# 67830
Date Created 09/07/2016
Last Updated 09/16/2016
Status Active
Type General Article
IP
  • HDMI