More DeCSS Time-Warner Hypocrisy
Sethb writes "Scripting News has the scoop about CNN linking to the source code for DeCSS. CNN is a subsidiary of Time-Warner, so in effect they're suing 2600 and others for something that they are doing themselves!" Update: 08/26 02:05 AM by michael : CNN has deleted the link from their story after reporters asked about it. But the screenshots are out there.
WTF?
The HYPOCRISY is in that 2600 was doing the same thing. They are a journalistic site, but on the fringe. So it's all right for a news site to post as long as their NOT on the fringe, and owned by the plaintiffs? It's just as sleazy for T-W to force any reporting group to pull an article, whether that group is one they own or not.
If CNN had been the one to "break" DeCSS, and not 2600, there wouldn't have been any court case.. precisely because T-W owns CNN.
Try converting the DeCSS source code (generously posted by an anon coward here) into English. Write an article about it. Make it a story. Sure, converting those array's of hex values into some sort of coherent story won't be simple, but if you're creative, it could be cool.
Make it so if I read the story, I could easily write the source file - just don't publish the source verbatim. Wouldn't this be like outlining how to build explosives? or how to prepare meatloaf? lose weight? murder someone?
Crime novels and true crime stories regularily contain ideas on how to go about breaking the law. Where do you think copycat killers get their ideas? Obviously, it's illegal to go kill someone, but it's certainly not illegal to outline how to do it.
Pushing this kind of limit would be a helluva test, I think. If I had some time, I'd convert it to story form, but maybe someone with better writing talent is up to the challenge?
Maybe this will make compelling evidence to show that source code and writing are equivalent =)
Woz
- http://www.warnerbros.com/event.ng/Type=clic k&ProfileID=4434&RunID=16324&AdID=7738&TagValues=
1 99.256.273.3072.3073.3074.3139&FamilyID= 1117&GroupID=463&Redirect=http:%2F%2Fwww.2600.dk%2 Fmirrors%2Fcss%2Ffiles%2FDeCSS.zip
- http://www.mca.com/globalnav/gnf.pl?url=http:%2F%
2 Fwww.2600.dk%2Fmirrors%2 Fcss%2Ffiles%2FDeCSS.zip
- http://disney.go.com/event.ng/Type=click& RunID=11143&ProfileID=2828&AdID=8588&GroupID=481&
F amilyID=1934&TagValues=2635.2638.2641.27 42.3148.3194.3198.3306&Redirect=http:%2F%2Fwww.260 0.dk%2Fmirrors%2Fcss%2Ffiles%2FDeCSS.zip
On an unrelated topic, from my understanding the reverse engineering of CSS was originally deemed illegal because presumably Jon Johansen clicked a button which indicated he complied with a license that said he wouldn't reverse engineer Xing's DVD player. My question is: don't the laws of Norway require you to be legal age (18) to enter into a contract?This is off topic, but who knew cnn was owned by time warner? I would like to see some tree type organizational structure that details how these mega corporations are tied together.
I live in an area with a high student population which tends to be educated and more environmentally conscientious. The gas station down the street is called the freedom station, which just happens to be owned by exxon.
I want to people to be easily able to see that phillip morris owns miller, marlboro, and kraft. Is this information available on the net. If you are going to boycott time warner you need to know what companies to avoid. This information is public record, but it seems that much is done to keep it from being public knowledge.
Are there any web sites that chronicle this type of information? Is there any easy(consumer friendly) way of finding this out?
We have the best government that money can buy.
CNN, like 2600, is a news organization, staffed by journalists. As journalists, they have the natural and logical instinct that source code is Free Speech, and as such, is covered under the First Amendment. I'm sure that whoever posted the link was unaware of the issue at hand. As I type this, the link has already been removed, but the point remains. Surely, CNN will not be sued, molested, or otherwise punished for this, which says to me that what I've believed all along is true: this lawsuit is not as much about DeCSS as it is an attack on the hacker community as a whole. 2600 was picked because of who they are, not because of what they did, and CNN will be left alone for the same reason. What has it come to that we now live in a society that applies laws differently to each person based on someone's perception of the person in general rather than the legitimacy of the charges? This makes me sick. I'm a security professional, and as such, a big part of what I do is security audits of products. What this ruling means to me is that if some large corporate entity decides they don't like me because I discovered a security hole in a product of theirs, they can sue me to death, but if they did the same thing to me, I would have no recourse. Well, I guess I have only one response to this, "http://magic.hurrah.com/~fireball/dvd/". I'm not linking to anything here, I'm just typing a URL, which surely will be illegal tomorrow, along with quoting the phrase "For Dummies", and writing a disassembler, because after all, I could use it to circumvent copy protection...
Presumably, CNN and Time-Warner are free to link to it as they see fit.
If I couldn't tell my ass from my head, I'd say that 2600 got sued because they didn't believe in copyright law, and Eric's mother dressed him funny (two facts which have about the same relevance to the case, except for the fact that since I can't tell my head from my ass, I can choose ignore the sworn testimony of the defendants to the contrary)... and that CNN/Time-Warner shouldn't be sued because, after all, they're respectable law-abiding organizations that promulgate goodthought.
As others have pointed out, this is a first amendment case - if linking to source code is legally actionable under DMCA, we're all suffering from a chilling effect, because it's reasonable to assume that MPAA is much more likely to sue "one of us" than it is CNN/Time-Warner.
This is also an antitrust case - going offtopic for a moment: since CSS does (as a matter of simple fact) not prevent DVDs from being pirated (the encrypted streams can be copied with suitable equipment), about the only function it serves is to protect a licensing cartel between MPAA and the hardware manufacturers. DeCSS isn't required for DVD piracy. Indeed, the only thing DeCSS does is allow an end user to decrypt and play back the encrypted video stream on hardware not licensed by the aforementioned MPAA/hardware-manufacturer cartel.
The link the in question seems to have dissappeared. The fourth link is now to Harvard University, not to a DeCSS mirror.
Someone at CNN/Time-Warner must have noticed.
** Sig-a-licious **
-------
We want some answers and all that we get
Some kind of shit about a terrorist threat
- Ministry
The Microsoft trial showed that doctored videotapes are admissible, so why not screenshots?
Oops!
Little problem. Jack, we need more lawyers!
/*
, 0x36,0x2b,0x6e,0x2e,0x66,0x7b,
, 0xd6,0x0b,0x4e,0x0e,0x46,0x9b,
, 0x52,0x8f,0xca,0x8a,0xc2,0x1f,
, 0xd0,0x01,0x48,0x08,0x40,0x91,
, 0x34,0x25,0x6c,0x2c,0x64,0x75,
, 0xd4,0x05,0x4c,0x0c,0x44,0x95,
, 0x50,0x81,0xc8,0x88,0xc0,0x11,
, 0xd2,0x0f,0x4a,0x0a,0x42,0x9f,
, 0x56,0x8b,0xce,0x8e,0xc6,0x1b,
, 0xb6,0xab,0xee,0xae,0xe6,0xfb,
, 0x32,0x2f,0x6a,0x2a,0x62,0x7f,
, 0xb0,0xa1,0xe8,0xa8,0xe0,0xf1,
, 0x54,0x85,0xcc,0x8c,0xc4,0x15,
, 0xb4,0xa5,0xec,0xac,0xe4,0xf5,
, 0x30,0x21,0x68,0x28,0x60,0x71,
, 0xb2,0xaf,0xea,0xaa,0xe2,0xff
, 0x0b,0x0a,0x0d,0x0c,0x0f,0x0e,
, 0x19,0x18,0x1f,0x1e,0x1d,0x1c,
, 0x2f,0x2e,0x29,0x28,0x2b,0x2a,
, 0x3d,0x3c,0x3b,0x3a,0x39,0x38,
, 0x42,0x43,0x44,0x45,0x46,0x47,
, 0x50,0x51,0x56,0x57,0x54,0x55,
, 0x66,0x67,0x60,0x61,0x62,0x63,
, 0x74,0x75,0x72,0x73,0x70,0x71,
, 0x99,0x98,0x9f,0x9e,0x9d,0x9c,
, 0x8b,0x8a,0x8d,0x8c,0x8f,0x8e,
, 0xbd,0xbc,0xbb,0xba,0xb9,0xb8,
, 0xaf,0xae,0xa9,0xa8,0xab,0xaa,
, 0xd0,0xd1,0xd6,0xd7,0xd4,0xd5,
, 0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
, 0xf4,0xf5,0xf2,0xf3,0xf0,0xf1,
, 0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
, 0x49,0x6d,0x92,0xb6,0xdb,0xff
, 0x50,0xd0,0x30,0xb0,0x70,0xf0,
, 0x58,0xd8,0x38,0xb8,0x78,0xf8,
, 0x54,0xd4,0x34,0xb4,0x74,0xf4,
, 0x5c,0xdc,0x3c,0xbc,0x7c,0xfc,
, 0x52,0xd2,0x32,0xb2,0x72,0xf2,
, 0x5a,0xda,0x3a,0xba,0x7a,0xfa,
, 0x56,0xd6,0x36,0xb6,0x76,0xf6,
, 0x5e,0xde,0x3e,0xbe,0x7e,0xfe,
, 0x51,0xd1,0x31,0xb1,0x71,0xf1,
, 0x59,0xd9,0x39,0xb9,0x79,0xf9,
, 0x55,0xd5,0x35,0xb5,0x75,0xf5,
, 0x5d,0xdd,0x3d,0xbd,0x7d,0xfd,
, 0x53,0xd3,0x33,0xb3,0x73,0xf3,
, 0x5b,0xdb,0x3b,0xbb,0x7b,0xfb,
, 0x57,0xd7,0x37,0xb7,0x77,0xf7,
, 0x5f,0xdf,0x3f,0xbf,0x7f,0xff
/*o_lfsr0 = (lfsr0>>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>19);*/
;
/*o_lfsr0 = (lfsr0>>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>19);*/
;
* css_descramble.c
*
* Released under the version 2 of the GPL.
*
* Copyright 1999 Derek Fawcus
*
* This file contains functions to descramble CSS encrypted DVD content
*
*/
/*
* Still in progress: Remove the use of the bit_reverse[] table by recoding
* the generation of LFSR1. Finish combining this with
* the css authentication code.
*
*/
#include <stdio.h>
#include <string.h>
#include "css-descramble.h"
typedef unsigned char byte;
/*
*
* some tables used for descrambling sectors and/or decrypting title keys
*
*/
static byte csstab1[256]=
{
0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e
0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e
0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a
0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98
0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c
0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c
0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18
0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a
0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e
0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe
0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a
0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8
0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c
0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc
0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78
0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa
};
static byte lfsr1_bits0[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08
0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a
0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c
0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e
0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41
0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53
0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65
0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77
0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88
0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe
0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac
0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3
0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1
0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7
0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5
};
static byte lfsr1_bits1[512]=
{
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
};
/* Reverse the order of the bits within a byte.
*/
static byte bit_reverse[256]=
{
0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90
0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98
0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94
0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c
0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92
0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a
0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96
0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e
0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91
0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99
0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95
0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d
0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93
0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b
0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97
0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f
};
/*
*
* this function is only used internally when decrypting title key
*
*/
static void css_titlekey(byte *key, byte *im, byte invert)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
byte o_lfsr0, o_lfsr1;
byte k[5];
int i;
lfsr1_lo = im[0] | 0x100;
lfsr1_hi = im[1];
lfsr0 = ((im[4] << 17) | (im[3] << 9) | (im[2] << 1)) + 8 - (im[2]&7);
lfsr0 = (bit_reverse[lfsr0&0xff]<<24) | (bit_reverse[(lfsr0>>8)&0xff] << 16)
| (bit_reverse[(lfsr0>>16)&0xff]<<8) | bit_reverse[(lfsr0>>24)&0xff];
combined = 0;
for (i = 0; i < 5; ++i) {
o_lfsr1 = lfsr1_bits0[lfsr1_hi] ^ lfsr1_bits1[lfsr1_lo];
lfsr1_hi = lfsr1_lo>>1;
lfsr1_lo = ((lfsr1_lo&1)<<8) ^ o_lfsr1;
o_lfsr1 = bit_reverse[o_lfsr1];
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0<<24);
combined += (o_lfsr0 ^ invert) + o_lfsr1;
k[i] = combined & 0xff;
combined >>= 8;
}
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]]^key[4];
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]];
}
/*
*
* this function decrypts a title key with the specified disk key
*
* tkey: the unobfuscated title key (XORed with BusKey)
* dkey: the unobfuscated disk key (XORed with BusKey)
* 2048 bytes in length (though only 5 bytes are needed, see below)
* pkey: array of pointers to player keys and disk key offsets
*
*
* use the result returned in tkey with css_descramble
*
*/
int css_decrypttitlekey(byte *tkey, byte *dkey, struct playkey **pkey)
{
byte test[5], pretkey[5];
int i = 0;
for (; *pkey; ++pkey, ++i) {
memcpy(pretkey, dkey + (*pkey)->offset, 5);
css_titlekey(pretkey, (*pkey)->key, 0);
memcpy(test, dkey, 5);
css_titlekey(test, pretkey, 0);
if (memcmp(test, pretkey, 5) == 0) {
fprintf(stderr, "Using Key %d\n", i+1);
break;
}
}
if (!*pkey) {
fprintf(stderr, "Shit - Need Key %d\n", i+1);
return 0;
}
css_titlekey(tkey, pretkey, 0xff);
return 1;
}
/*
*
* this function does the actual descrambling
*
* sec: encrypted sector (2048 bytes)
* key: decrypted title key obtained from css_decrypttitlekey
*
*/
void css_descramble(byte *sec,byte *key)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
unsigned char o_lfsr0, o_lfsr1;
unsigned char *end = sec + 0x800;
#define SALTED(i) (key[i] ^ sec[0x54 + (i)])
lfsr1_lo = SALTED(0) | 0x100;
lfsr1_hi = SALTED(1);
lfsr0 = ((SALTED(4) << 17) | (SALTED(3) << 9) | (SALTED(2) << 1)) + 8 - (SALTED(2)&7);
lfsr0 = (bit_reverse[lfsr0&0xff]<<24) | (bit_reverse[(lfsr0>>8)&0xff] << 16)
| (bit_reverse[(lfsr0>>16)&0xff]<<8) | bit_reverse[(lfsr0>>24)&0xff];
sec+=0x80;
combined = 0;
while (sec != end) {
o_lfsr1 = lfsr1_bits0[lfsr1_hi] ^ lfsr1_bits1[lfsr1_lo];
lfsr1_hi = lfsr1_lo>>1;
lfsr1_lo = ((lfsr1_lo&1)<<8) ^ o_lfsr1;
o_lfsr1 = bit_reverse[o_lfsr1];
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0<<24);
combined += o_lfsr0 + (byte)~o_lfsr1;
*sec++ = csstab1[*sec] ^ (combined&0xff);
combined >>= 8;
}
}
The story, and the links themselves, was written by someone from IDG, and was simply reposted on CNN.com. They also have some litle disclaimer: "External sites are not endorsed by CNN Interactive", blah, blah, blah. That famous Time-Warner media synergy finally kicked in and link appears to be gone now. This was probably just the doing of some retarded news script that doesn't understand the hypocrisy it just commited on behalf of its owners.
News organizations, first of all, never report with impartiality. Sometimes they try, but most often they don't even make an effort to be impartial--reporters are people, and people are inherently biased and inclined to express those biases, even if only subconsciously.
The problem I see is that news organizations these days try to *appear* impartial to the public, while in reality infusing their stories with either a liberal or conservative bias depending on the people running the show. Thus, the public thinks what they're hearing is impartial "fact" when the reality is that they're hearing subtle political propaganda.
In the old days, newspapers came right out and proudly proclaimed their political beliefs. Think of the rampant jingoism of a Hurst (Hearst? sorry, my mind is asleep and I'm too lazy to go to Google to check) news organization. That was honesty about being biased. But now news organizations just lie about their biases, and that's dangerous: it indoctrinates the citizenry to have the same bias, through subtle manipulation of facts, instead of teaching them to form their own opinion.
If you want an example, just look at the huge mistake CNN made when they ran the story two years ago about American forces using CS gas against civilians during the Vietnam War. It was a lie based on the ramblings of an unstable person with a bad memory, who when questioned by others couldn't even remember who some of his commanding officers were. There was no corroborating evidence at all, but they ran the story as if it were gospel truth. No one thought of pulling the plug, because everyone there had an inherent bias. Journalism is just a dangerous illusion--no one in the profession is impartial.
Aside from which, if it were illegal to link to DeCSS code or binaries, CNN would be committing a crime by doing so just as if a private citizen were to do the same. I dare say that's doubtless why the link has been removed. A news person cannot break the law to get a story or in reporting a story. For example, a journalist who freelanced and did contract pieces for NPR and other organizations was arrested for child pornography when he was investigating it for a piece, because he retransmitted an image which he'd downloaded in a chat room (he got the image from a Fed shill, BTW--doesn't our government have better things to do than distribute child pornography? Entrapment, anyone?)...
"The more corrupt the state, the more numerous the laws."--Tacitus, *The Annals*
The really sleazy thing would be for Time Warner to force an impartial news service like CNN to pull the article!
And hardly a new idea. There are a number of laws on the books governing who can own media and how much, this to prevent undue influence and partiality upon news. But, hell, if I really want to know what's going on in the world, I just read the foreign press. It's not all filtered through the State Dept. or the uberdummies in the media.
Vote Naked 2000
A feeling of having made the same mistake before: Deja Foobar
We all know news services have to have freedom to report impartially, so while this is a funny anecdote I don't see it by any means as a sign of hypocrisy. CNN must be able to report news regardless of Time-Warner's allegiances just like Slashdot needs to have the freedom to report things that even Andover.net doesn't like.
The really sleazy thing would be for Time Warner to force an impartial news service like CNN to pull the article!
Wow, they're quick. 2 comments here on Slashdot.org, and the CNN story that was supposedly carrying the link has been changed. That's pretty blisteringly fast. So, here's a thought: They're watching everything closely. Remember that. If you have a thought, maybe a plan, that could *really* work, maybe you should contact the proper authorities(maybe the EFF or something) privately.
Dave
Barclay family motto:
Aut agere aut mori.
(Either action or death.)
Has a really great article on the AOL-Time-Warner merger that specifically discusses Time-Warner's coporate culture of basically ongoing civil warfare between the departments. The crux of the issue is that it's gotten so damned big relatively quickly---even without the added factor of AOL---that its internal sectors might as well be separate companies. Lots of power struggles and penis measuring contests, apparently.
Good read. Not online yet, as Wired doesn't post current magazine content, but for posterity, http://www.wired.com/wired/archive/8.09/ Definitely pick it up off the newstand for a bit of insight into intracorporate warfare.
----
----
Am I the only one who thinks Microsoft is a misnomer? Perhaps Macrosoft would be a better fit?
Molog
So Linus, what are we doing tonight?
So Linus, what are we going to do tonight?
The same thing we do every night Tux. Try to take over the world!
S.E.S.S.D.E.N.E.E.NW from west end of hall of mists
You're in BIG TROUBLE, mister.
--
It's a
-- Danny Vermin
...but they still look like idiots. The story has a screenshot of the link, plain as day, with the URL intact.
On a side note, can screenshots be presented as legal evidence?
Mike
"I would kill everyone in this room for a drop of sweet beer."
http://www.goingware.com/decss
When a law is unjust, it is just to disobey the law. Also, court judgements can only be made based on actual cases; the U.S. court system does not render "advisory opinions", so if you believe that your rights have been violated by Judge Kaplan's decision, it is your duty to mirror DeCSS too.
-- Could you use my software consulting serv
As long as politicians and judges can be swayed by money, laws will always be biased. Money may not be the root of all that's evil but it is the root of all power in the US.
When the average citizen can be swayed quite easily by high cost political adds and corporations provide the money to fuel those advertising campaigns, we get laws like the DMCA.
I will vote when I don't feel that I'm choosing between the lesser of two evils. Let my voter apathy be my vote. None of the above.
Environmentalists are their own worst enemy. ~tricklenews.com
Don't call it "hypocrisy" just yet. There is a long tradition in "legitimate" journalism of a wall of separation between the editorial (content) and business (financial) sides of news organizations. This wall is admittedly getting some chunks knocked out of it in today's corporate-driven media, but there are many journalists who will be damned if they'll let the suits spike their story.
I wouldn't be surprised if some folks in the news division at CNN.com, or IDG, or LinuxWorld -- whoever's responsible -- included the link on the same basis as they would any other external link. Maybe they even thought that highlighting this worldwide list was important in driving a point home. They made their journalistic point. Then the lawyers for the Suits noticed; rather than have that inconsistency noted for all and sundry to see (too late -- thanks, Scripting News), and to keep themselves from violating the law as interpreted by Kaplan, the suits pulled the plug.