For more information on using the encryption software, see AR: 70605. Before you start, download and extract the zip files. To generate the AES encrypted HDCP keys, you must have the following keys:
- 32-byte AES key
- Valid HDCP keys
Follow the steps mentioned here to generate the AES encrypted HDCP key block:
- Unzip the project and go to the
hdcp_util/keysdirectory. You can find the encryption block in this directory. - Modify the
gDefaultKeyarray in the following file to a user specified 32 bytes unique key. This is the 32-byte AES key mentioned in point (1) abovehdcp_util/keys/key-encryptor/common/src/keyfile.c
- Navigate to hdcp_util/keys/key-encryptor/build/linux folder and
execute the following command from linux terminal.
./build.sh
This creates the hdcp-enc.bin file in the same folder.
- 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. - The AES encrypted HDCP key block is now created as an array in the keymgmt_data.c file.
- 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.