In the previous two parts we have reviewed the basics of the DCI standard and its main features.
Thus, in Part II of the tutorial we have seen the main characteristics of an unencrypted DCP and the different elements that integrate it: the video and audio MXFs (essence media) and the metadata files; Volindex, Assetmap, CPL and Packing List. But, as we mentioned at the beginning of the tutorial, one of the priorities of the majors when creating the DCI standard was anti-copy security and piracy prevention, since we are talking about a high quality digital master that is easily reproducible and copyable.
In order to secure the contents, it was decided to use an encryption system for the media contents (the audio and video MXFs), leaving the Packing List as a security measure for the XML metadata files, with a hash check as mentioned above.
These MXF media contents are encrypted using 128-bit AES encryption algorithm. AES (Advanced Encryption Standard) is a highly secure encryption standard that, to date, has not been decrypted. To get an idea of its security, it is enough to remember that it was developed on behalf of the US government, which has adopted it to encrypt its classified information.
So, the same encrypted MXF packets are sent to the cinemas, but how do the cinemas decrypt them? This is where the last XML file that integrates the DCP, the KDM or Key Delivery Message, comes into play.
To explain what a KDM is, we must first explain a couple of concepts. All digital cinema servers that comply with the DCI standard (virtually all existing in cinemas), have a software private key (Private Key) recorded in an internal memory that is not accessible or reprogrammable by anyone outside the manufacturer. Likewise, the manufacturer provides the owner of the server with a public key (Public Key) that is also unique for each server.
What is the KDM and how is it generated? The KDM is an XML file encrypted using another encryption standard, RSA. Thus, using the public Key corresponding to each cinema, a KDM is generated for each one of them in which the AES decryption key of the media content, of the MXFs, is included and encrypted. This KDM is unique for each server and can only be opened by the server that has the Private Key corresponding to the Public Key used to create the KDM.
The KDM also includes metadata about the days that the movie has been contracted and the age rating, among other information, and a Signing Certificate generated by the system that created the DCP with information about the company and system with which the DCP was created, day of creation, etc… This Signing Certificate is also encrypted by RSA and is related to the Private Key of the system used to generate the DCP.
As proof of the importance of this encryption, it is common practice, even among the different offices of multinationals in the sector, to send films as encrypted DCPs, with a specific KDM for the systems that will generate a new DCP with the changes corresponding to the local versions.
On the other hand, it is possible for the DCP to include other files and subfolders, the most common being Supplemental DCPs and subtitles.
Supplemental DCPs arise as a way to simplify and cheapen the generation of national versions of films, including or removing scenes, signs, audio tracks, etc….. In practice they are nothing more than subfolders that include a “mini DCP” with the audio, video and/or subtitle elements that we want to insert or change in an existing DCP. It includes, as it is logical, a new playlist (CPL) in which the player is told which contents to play at any given moment. The new contents are generated as additional reels, as an EDL with video and/or audio inserts.
Regarding the subtitles, they are also XML files with a special formatting. An XML file must be created for each reel and they must follow a very strict naming convention. Likewise, in the subdirectory where the XML file is located, the file with the typeface to be used in .TTF format or, if images are used, the .PNG files corresponding to all the subtitles must be included. In the case of stereoscopic DCPs it is also possible to play with the depth of the subtitle with respect to the image, in order to give it more or less depth.

This concludes this third part of the tutorial, in the next one we will take a look at the most common programs for creating and checking DCPs, as well as some links of interest.