The master key of HDCP anti-copying for HD content has been leaked and published on World Wide Web. While Intel has claimed that the hack or crack to exploit the HDCP is hard to implement, and most likely to be hardware-based, a software code that implements the HDCP encryption and decryption algorithm has been developed and published.
The open source (BSD licensed) HDCP Encryption and Decryption Code is developed by Rob Johnson and Mikhail Rubnich. The release source code is proof of concept only, though it’s capable of cracking and decrypting the HDCP protected signal from a 1080p (Full HD) source at real-time on a very powerful machine.
The code includes the block cipher, stream cipher, and hashing algorithms necessary to perform an HDCP handshake and to encrypt or decrypt video. The code passes the test vectors provided in the HDCP specification and can encrypt video at a rate of about 180 640×480 frames/second on a 2.33GHz Intel Xeon CPU. The machine is not quite fast enough to decrypt 1080p content in real-time on a single core, as HDCP cipher is designed to be efficient when implemented in hardware but inefficient in software, primarily because it makes extensive use of bit operations. But decryption can be parallelized across multiple cores, and the implementation uses bit-slicing to achieve high speeds by exploiting bit-level parallelism. With bit-slicing method, output can be generated at up to 64 frames of video in parallel.
The developers hope that the code might be useful to other people researching or implementing the HDCP protocol, as there are many opportunities for further optimization, such as using SSE instructions.