Remember that HDCP master key that was leaked a few weeks back? Remember how Intel tried to downplay the leak at the time claiming that they key was useless unless incorporated into hardware? Well, it seems that it might not be that useless after all.
Researchers Rob Johnson and Mikhail Rubnich of Stony Brook University, New York, have released an open source (BSD licensed) implementation of the HDCP encryption/decryption algorithm.
The HDCP cipher is designed to be efficient when implemented in hardware, but it is terribly inefficient in software, primarily because it makes extensive use of bit operations. Our implementation uses bit-slicing to achieve high speeds by exploiting bit-level parallelism. We have created a few high-level routines to make it as easy as possible to implement HDCP, as shown in the following example.
The code isn't yet fast enough to be able to decrypt 1080p content in real-time on a single core, but decryption can be parallelized across multiple cores. To achieve a decrypt rate of 30 frames per second for 1080p the code needs a high-end 64-bit CPU and some 1.6GB of RAM. The researchers see the possibility for further optimization, such as by using SSE instructions.