Using the Encryption Software - 2.1 English

DisplayPort RX Subsystem LogiCORE IP Product Guide (PG233)

Document ID
PG233
Release Date
2023-05-25
Version
2.1 English

Using the AES Encryption Key Block from the Block RAM

  • 32-byte AES key
  • Valid HDCP keys
Note: AMD does not provide any of the above keys. The application delivered with this software is created with invalid keys and hence does not play HDCP content.

Follow the steps mentioned here to generate the AES encrypted HDCP key block:

  1. Unzip the project and go to the hdcp_util/keys directory. You can find the encryption block in this directory.
  2. Modify the gDefaultKey array in the following file to a user specified 32 bytes unique key. This is the 32-byte AES key mentioned in point (1) above

    hdcp_util/keys/key-encryptor/common/src/keyfile.c

  3. Navigate to hdcp_util/keys/key-encryptor/build/linux folder and execute the following command from linux terminal.

    ./build.sh

    This creates hdcp-enc.bin file in the same folder.

  4. From the same directory, execute the following command to create the AES encrypted file keymgmt_data.c.

    ./hdcp-enc.bin -c devb1_keys.dat devb2_keys.dat …. devb<n>_keys.dat

    Note: The user-provided devb<n>_keys.dat file is expected to have one and only one original HDCP key. An original HDCP key has one 5 byte Key Selection Vector and 40 private keys. If you have multiple HDCP keys, each key should be housed exclusively in one .dat file.
  5. The AES encrypted HDCP key block is now created as an array in the keymgmt_data.c file.
  6. Ensure that the following AES keys in the reference design matches with the keys in step 2.

\**kc705_system_directly**\**sw_directly**\src\keys.c

The HDCP keys are now encrypted and ready to be used. You can any of the following two ways to use the HDCP keys.