HDCP Encryption/Decryption Code Released
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."
Get it on a shirt, on Digg, and in sigs everywhere!
Living With a Nerd
Only about a week or so since the master tables were released.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
So does this negate Intel's statement that you can only do this if you build a chip with the code in it?
Great stuff! Shows Intel's representative's earlier comments about software implementation not being feasible quite wrong.
U+F8FF
3...2....1....
Now porn companies can protect their intellectual property? Maybe now is the time for me to get involved in the porn business.
I guess the next logical step would be a GPU implementation....
Those rates are for a single core. They say that decrypting 1080p is ~7x slower than 640x480, which correspond well to 1080p having 6.75x more pixels.
However, there's no reason for this to be restricted to run on a single core or a single machine. If somebody were to use this for distributing a real time stream (e.g, a sports broadcast) there's no particular reason to not just have each recipient of the stream do their share of the decryption.
Running the number, getting 60 frames of 1080p from the Core 2 requires 5.33 cores, which would correspond to three dual-core machines. This means you can't, with today's machines, just share it with your friend if you both have dual core Core2 machines - but with two friends it should work, assuming enough bandwidth available from each of the friends: 3Gbit/s for the full unencrypted stream, plus 1Gbit/s down for the stream to be decrypted, plus 1Gbit/s up for the part of the stream decrypted on that machine.
You'll also get real time decryption on a single Gulftown CPU: E.g, a Core i7-980X runs 3200MHz and has 6 cores.
Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
What could a end-user do with that?!
http://www.softpedia.com/
If any...
I can see how this might be very useful for someone with an older HDTV that predates HDCP. Personally though I'd prefer a small box over a big case with a multi-core CPU. I imagine the scheme was designed with efficient hardware implementations in mind.
I guess what's in everyone mind is "where's the stripper?". For HDCP, you evil minds!
There are already bootleg hardware HDCP strippers on the market. It used to be possible to shut down these devices by revoking their keys, but that's now gone out the window with the master-key leak. Expect the next generation of devices to let you upload new keys to them, or maybe generate new keys themselves.
Software decryption is kinda interesting but you're right, hardware is where it's at.
Probably none, this game is just getting started. There are already HDCP strippers out there, anyway, intended for just that purpose (or HD projectors with DVI but not HDCP support) but they're super expensive (likely due to supply and demand)
It's easier for Intel et al to go after people who are selling a product, especially a physical device. Much easier for a software author to be safely anonymous so the DMCA can't touch 'em.
Hail Eris, full of mischief...
E pluribus sanguinem
Nice, a Braille reader for BluRay subtitles should now be technically possible. BluRays make decent eBooks with the right software.
(HDMI neglects to ship closed-captioning data so you *have* to capture/diff/ocr from HDMI rasters to extract the text).
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
When you watch a DVD or Bluray, the content is decrypted, then encrypted and decrypted again for HDCP.
A significant amount of energy is devoted to protecting the pre-internet business model.
This will only get worse over time, as media gets larger and media companies more aggressively cling to the old business model.
It took more than 100 years for the world to really adjust to the printing press. I assume at least the same time period for the Internet, before we can have our enlightenment period.
If you can't recompress it in real time then there's not much point in decrypting it in real time either. Just dump it to disk and process it later.
No sig today...
..which adds all Sony televisions to players' revocation lists. (Or is that signed with a different key?) The beauty of something like that, is that they are the ones who are distributing the malicious software. It would be hilarious if their own malware ended up biting them on their own asses, forcing the recall of millions of devices to have their keys reflashed.
"Believe me!" -- Donald Trump
As others have said, somebody will almost certainly port the code over to CUDA or in some other fashion use the GPU to do the work. Hardware solutions probably aren't going to be around too much longer, although, as full dubbing facilities, they may have some utility.
DRM must be really really costly. And the bad thing is we're all paying for it - the honest customers even more than the "pirates" against which it is supposed to protect.
When I see how much computing resources it takes just to en/decrypt a stream - OK it's a general purpose processor, not something dedicated - I am thinking of the cost of those resources in all the devices we have. After all your BluRay player has to read the BR disk, decrypt the content, then encrypt it again to an HDCP stream, which is sent over to say a TV, which then decrypts it again to make it a watchable image.
Now if only we wouldn't need that encryption.
BluRay itself is (all but) cracked, that's one decryption step that can be done away with.
HDCP transfer is now done with; that's another two steps of en- and decryption that can go.
That is at least three pieces of beefy hardware. That's three chips that won't come for a few pennies each. That's three chips that will be wasting significant amounts of energy.
Plus of course the huge upfront cost to develop all that: to develop the algorithms, set up the secure key supply, designing the dedicated de/encrypt chips and writing all the software around it to make it work.
And all of us are paying for it. It makes BR players and disks and HDCP compliant hardware more expensive than necessary, it even increases our power bills unnecessary. I really wonder when this madness can come to an end.
No, they can't do 1080p IN REAL TIME.
.. on a traditional CPU. What about porting the code to use GPUs via OpenCL or CUDA?
I'd love to see a device that generates a new key every time it boots up. The ultimate unblockable device, no matter how many keys get revoked.
FC Closer
The same thing is happening for HDCP. How long before someone codes this as FPGA logic? Then anyone will be able to pump out HDCP scrubbers for a few bucks, no need to license an decryption key.
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.
--- Keep the choice with the user..
The old model was that the media companies control the master copies, and sell inferior copies which cannot be easily copied.
lossy VHS was the copy protection.
The Internet model assumes that media can and will be copied. Profit from providing convenient and cheap(perhaps free+ads) online media.
The in-between model is the one you describe. Ignore the customers desire for the new Internet model, and push the old model (with DRM replacing lossy media), then when the customers find other ways to get unencumbered stuff, sue them and create more laws and penalties to protect the old model.
I see what you did there...and I approve ! ;)
I just worry this is like invoking Godwin's law and could backfire on us somehow...
--bornagainpenguin
Have a Virgin Mobile USA smartphone? Give VMRoms.com a try!
We just hate the RIAA and the MPAA in our guts.
They pump out shit day after day, for some it's just a game of one upping the other. They couldn't care less for the content that is protected. if there is encryption they view it as a challenge.
I myself don't give a dime about all of this. The things they are trying to encrypt, I don't want.
"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.
Filthy, filthy copyrapists!
Could this decrypting take place on the GPU making it usable on more modest hardware?
Problem with this: Your other devices will eventually get restrictions on them that only allow a certain number of new devices to be connected to them before they fry. Every new key counts as a new device.
so get it to the ffmpeg and x264 dev's so they can make a SIMD optimized to each current and popular CPU as they do now with the codecs etc... :) ok
Cinavia is audio watermarking. Considering that they aren't quite as braindead as the SDMI developers so that they haven't posted a public oracle for their watermark, I would guess that Cinavia has a chance of surviving for quite a bit longer. But I wouldn't bet on it surviving a very long time if it becomes a nuisance.
There are few details about this watermark on the net, currently, and the information which there is gives one the impression that it is currently designed to prevent movies which have been taped in a movie theater from being played at home. I don't find anywhere that it would prevent copying/backup of media designed for home use.
Frankly, I'd be totally OK with that. That's not the kind of abusive DRM which inconveniences the paying consumer. It's also a use case which is a lot easier for protecting a watermark, because one only gets one instance of the watermark for every film which is released. My bet is that it will be cracked by someone analyzing the detection algorithm rather than by comparison of watermarked/non-watermarked audio streams. That is, assuming that someone doesn't just come up with some kind of processing paradigm which manages to remove the watermark without even figuring out how it works exactly.
It is possible to install unsigned drivers to Windows 7with the right settings, windows will complain very violently (with a RED dialogue box- which of course makes all the difference security wise!) however whether or not the drm in the kernel will stop these drivers from playing ball with hdcp is another matter, although that's not to say there aren't relatively easy ways around that issue too.
That's so retarded MAFIAA will probably try it!
I purchase my music from amazon.com/mp3 (their 32 bit deb package will run on 10.04 x64 with some work). I buy my directly on my nook. I buy DVD movies. So, while I can't speak for everyone else here, I answered your question. No, not EVERY slashdotter pirates all their content. By the way you got modded though, it sure seems like a lot do.
HDCP MASTER KEY (MIRROR THIS TEXT!) This is a forty times forty element matrix of fifty-six bit hexadecimal numbers. To generate a source key, take a forty-bit number that (in binary) consists of twenty ones and twenty zeroes; this is the source KSV. Add together those twenty rows of the matrix that correspond to the ones in the KSV (with the lowest bit in the KSV corresponding to the first row), taking all elements modulo two to the power of fifty-six; this is the source private key. To generate a sink key, do the same, but with the transposed matrix. 6692d179032205 b4116a96425a7f ecc2ef51af1740 959d3b6d07bce4 fa9f2af29814d9
82592e77a204a8 146a6970e3c4a1 f43a81dc36eff7 568b44f60c79f5 bb606d7fe87dd6
1b91b9b73c68f9 f31c6aeef81de6 9a9cc14469a037 a480bc978970a6 997f729d0a1a39
b3b9accda43860 f9d45a5bf64a1d 180a1013ba5023 42b73df2d33112 851f2c4d21b05e
2901308bbd685c 9fde452d3328f5 4cc518f97414a8 8fca1f7e2a0a14 dc8bdbb12e2378
672f11cedf36c5 f45a2a00da1c1d 5a3e82c124129a 084a707eadd972 cb45c81b64808d
07ebd2779e3e71 9663e2beeee6e5 25078568d83de8 28027d5c0c4e65 ec3f0fc32c7e63
1d6b501ae0f003 f5a8fcecb28092 854349337aa99e 9c669367e08bf1 d9c23474e09f70
3c901d46bada9a 40981ffcfa376f a4b686ca8fb039 63f2ce16b91863 1bade89cc52ca2
4552921af8efd2 fe8ac96a02a6f9 9248b8894b23bd 17535dbff93d56 94bdc32a095df2
cd247c6d30286e d2212f9d8ce80a dc55bdc2a6962c bcabf9b5fcbe6f c2cfc78f5fdafa
80e32223b9feab f1fa23f5b0bf0d ab6bf4b5b698ae d960315753d36f 424701e5a944ed
10f61245ebe788 f57a17fc53a314 00e22e88911d9e 76575e18c7956e c1ef4eee022e38
f5459f177591d9 08748f861098ef 287d2c63bd809e e6a28a6f5d000c 7ae5964a663c1b
0f15f7167f56c6 d6c05b2bbe8800 544a49be026410 d9f3f08602517f 74878dc02827f7
d72ef3ea24b7c8 717c7afc0b55a5 0be2a582516d08 202ded173a5428 9b71e35e45943f
9e7cd2c8789c99 1b590a91f1cffd 903dca7c36d298 52ad58ddcc1861 56dd3acba0d9c5
c76254c1be9ed1 06ecb6ae8ff373 cfcc1afcbc80a4 30eba7ac19308c d6e20ae760c986
c0d1e59db1075f 8933d5d8284b92 9280d9a3faa716 8386984f92bfd6 be56cd7c4bfa59
16593d2aa598a6 d62534326a40ee 0c1f1919936667 acbaf0eefdd395 36dbfdbf9e1439
0bd7c7e683d280 54759e16cfd9ea cac9029104bd51 436d1dca1371d3 ca2f808654cdb2
7d6923e47f97b5 70e256b741910c 7dd466ed5fff2e 26bec4a28e8cc4 5754ea7219d4eb
75270aa4d3cc8d e0ae1d1897b7f4 4fe5663e8cb342 05a80e4a1a950d 66b4eb6ed4c99e
3d7e9d469c6165 81677af04a2e15 ada4be60bc348d dfdfbbad739248 98ad5986f3ca1f
971d02ada31b46 2adab96f7b15da 9855f01b9b7b94 6cef0f65663fbf eb328e8a3c6c5d
e29f0f0b1ef2bf e4a30b29047d31 52250e7ae3a4ac fe3efc3b8c2df1 8c997d15d6078b
49da8b4611ff9f b1e061bc9be995 31fd68c4ad6dc6 fd8974f0c506dd 90421c1cd2b26c
53eec84c91ed17 5159ba3711173b 25e318ddceea6a 98a14125755955 2bb97fd341cea2
3f8404769a0a8e bce5c7a45fb5d4 9608307b43f785 2a98e5856afe75 b4dbead4815cac
d1118af62c964a 3142667a5b0d14 6c6f90933acd3d 6b14a0052e2be4 1b1811fda0f554
12300aa7f10405 1919ca0bff56ea d3e2f3aad5250c 4aeeea5101d2ec 377fc499c07057
6cb1a90cdb7b11 3c839d47a4b814 25c5ac14b5ec28 4ef18646d5b9c2 95a98cc51ebd3b
310e98028e24de 092ffc76b79f44 0740a1ca2d4737 b9f38966257c99 a75afc7454abe4
a6dd815be8ccbf ec2cac2df0c675 41f7636aa4080f 30e87b712520fd d5dfdc6d3266ac
ee28f5479f836f 0bf8ee2112173f 43ae802fa8d52d 4e0dffd36c1eac 3cbda974bb7585
fb60a4700470e3 d9f6b6083ef13d 4a5840f02d0130 6c20ef5e35e2bf dad2f85c745b5b
61c5ddc65d3fc9 7f6ec395d4ae22 2b8906fb3996e2 e4110f59eb92ac 1cb212b44128bb
545afda80a4fd1 b1ffea547eab6b fac3d9166afce8 3fe35fe17586f2 9d082667026a4c
17ffaf1cb50145 24f27b316acfff b6bb758ec4ad60 995e8726359ef7 c44952cb424035
5ec53461dbd248 40a1586f04aee7 49ea3fa4474e52 c13e8f52c51562 30a1a70162cfb8
ccbada27b91c33 33661064d05759 3388bb6315b036 0380a6b43851fb 0228dadb44ad3d
b732565bc37841 993c0d383cfaae 0bea49476758ac accc69dbfcde8b f416ab0474f022
2b7dbcc3002502 20dc4e67289e50 0068424fde9515 64806d59eb0c18 9cf08fb2abc362
8d0ee78a6cace9 b6781bd504d105 af65fab8ee6252 64a8f8dd8e2d14 cb9d3354e06b5b
53082840d3c011 8e080bedab3c4c