HDCP Encryption/Decryption Code Released 225
rtj writes "We have released an open-source (BSD licensed) implementation of the HDCP encryption/decryption algorithms. 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 640x480 frames/second on a 2.33GHz Intel Xeon CPU. This isn't quite fast enough to decrypt 1080p content in real-time on a single core, but decryption can be parallelized across multiple cores. There are also many opportunities for further optimisation, such as using SSE instructions. We are releasing the code in hopes that others will further optimize it and use it in their HDCP-related projects."
Re:Obligatory (Score:1, Insightful)
No one on Digg to see it anymore :)
Re:No hardware? (Score:5, Insightful)
NEVER underestimate a determined hacker.
Especially one who's been told it can't be done.
GPU Implementation (Score:5, Insightful)
Re:No hardware? (Score:3, Insightful)
No, they can't do 1080p IN REAL TIME.
Re:No hardware? (Score:5, Insightful)
I think you greatly underestimate the advantage an ASIC has over a general purpose CPU (even the latest Intel CPUs with AES-NI) when it comes to crypto.
How about you RTFA:
"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. "
Re:No hardware? (Score:5, Insightful)
In other words, the HDCP hardware decryptor is more powerful than the main CPU.
Um. No. Not at all. CPU's are highly generalized computational engines. A CPU's instruction set contains every instruction needed to perform every operation by a computer, including I/O to peripheral busses, etc. A GPU is a highly specialized processor designed to complement a CPU and offload graphics-specific computations that requires a large number of high speed mathematical computations. It's only purpose is to take data from the CPU and render it quickly for a display. The functionality of a GPU can be implemented in a CPU, although with a huge degradation in performance. The functionality of a CPU can not be implemented in a GPU.
In summary:
1. A CPU is the brain of the computer and the GPU is only meant to complement it.
2. GPU's are specialized and cannot replace the function of a CPU.
3. CPU's can perform the functions of a GPU but at a much slower speed.
Every HDCP device should be slapped with a huge carbon and recycling tax -- with an extra punitive rate, since the waste is introduced intentionally.
What a crock. Thanks to technologies like CUDA you can write your own programs that leverage the GPU's in your existing video cards. It's likely only a matter of time before you start to see GPU-based implementations of this code, which means the nVidia or ATI card in your existing PC could easily decrypt HDCP content in real-time. So are you willing to pay excessive taxes for the video card in your PC? When implemented in existing DVI & HDMI chipsets, HDCP really doesn't require all that much more physical overhead, certainly not enough to justify an absurd carbon tax. Highly specialized hardware like that is significantly more efficient than even the GPU in your PC.
Re:No hardware? (Score:2, Insightful)
"No Linux for the desktop"
I DARE YOU HACKERS !
Re:No hardware? (Score:5, Insightful)
This is the "specialized-vs-generic advantage" I mentioned. You do waste a lot less power, but you still do waste it for no gain whatsoever.
A parable: a crazy dictator ordered his workers to make a huge earth mound and then to level it, with nothing but shovels. Another dictator ordered his troops to make a mound of the same size and then level it, but this time he granted them heavy machinery. Which dictator uses his people better?
Re:No hardware? (Score:4, Insightful)
The one with shovels, because it's more entertaining?
Re:Congrats! (Score:3, Insightful)
a raid 5.1 of 10k rpm sas drives say, 12 spindles, should be enough. maybe 4 500GB SSDs would be as well.
So no i don't have A disk that can do it, but you can do it with a few disks.
Re:Congrats! (Score:3, Insightful)
You've got a disk which can store decompressed 1080p in real time?You've got a disk which can store decompressed 1080p in real time?
It's my understanding that many new-fangled media devices have "pause" buttons that would enable you to break the task into manageable chunks.
Re:No hardware? (Score:3, Insightful)
That's a clever argument: these chips do the job much more efficiently than CPUs, therefore they are free.
"I merely murdered the man; it's not as though I also raped his wife, shot his dog, poisoned his well, and burned the house down. You should let me go."
It's waste. If it served a useful purpose, perhaps it could be justified. Life is full of tradeoffs and we all value things differently. But in this case, the user payed for two chips (to encrypt and then decrypt) and electricity to run them, and got nothing for it. We're talking absolute zero here, without the faintest iota of mitigation.
And the user didn't get to shop in a free market where he could avoid this; a cartel made sure that he couldn't watch movies without this unmitigated waste. That is seriously fucked up and a legitimate basis for government action.
Re:No hardware? (Score:1, Insightful)
I'm waiting... (Score:3, Insightful)
China. Where's my pass-through video card I can put in my MCPC to overlay text and graphics on my TV? I want to feed my TIVO into my MCPC so I can control my own PIP and overlays. I couldn't care less about pirating the stuff myself. If I want a local copy of something, it's already out in the wild - I'll get it that way. I just want to be able to control my media and view what I want how I want.
Re:GPU Implementation (Score:2, Insightful)
Re:So I have to ask (Score:2, Insightful)
"never pays for anything"
I pay for physical goods that aren't in infinite supply.
"and complaining when companies try and protect their revenue."
Sorry, but when it hurts legitimate customers in the process, it's not worth it. DRM, HDCP... it's all the same annoyance. Eventually (often extremely quickly) it will be bypassed by the pirates and it will only hurt the legitimate customers (some will either be angry and stop buying future media, and others may even turn to piracy because still want the media). In the end, their 'protection' only hurts themselves and actual customers, not pirates. So, yes, people are going to complain.
Re:No hardware? (Score:3, Insightful)
And the answer was:
"It rans fine on my desktop. WORKSFORME/PBCAK."