that wasn't offtopic, troma is where trey parker and matt stone got their start, they make lots of independant films. It just looks like porn on the front of their web page, oh well.
Think about this, if movies are being shot in HDTV resolution, and people start getting HDTV, then why should anyone go to the theatre when an implementation of Pay Per View would be cheaper to deliver? Where is the actual service of the movie theatre then? better sound? Lots of people have 5.1 setups in their house. Better image quality? I don't think so. The only reason to go would be because the movies would come out there first, which wouldn't be at all neccesary, it would just a be a blatant attempt to suck money out of individual people. HDTV, and digital movies will change alot of things for sure.
"I think we should know exactly what the technical standards are before we
deal in these other areas," said Mr. Valenti, of the motion picture association.
And, he added, "Our attorneys believe we need to pursue this very
cautiously. Industrywide compacts where you sit down and say, `This is what
seven or eight companies are going to do' - that's very dangerous ground."
I also can't really tell a difference between digital and analog, but the difference between 70mm and 35mm film is breathtaking. If you can go see an IMAX movie, they are usually kind of entertaining, but I could watch something boring just to see that incredible resolution (assuming the photography was good). This is not a theory, I watched an IMAX movie on whales and one on Alaska (called Alaska oddly enough). I don't remember any of the information presented, but I rember being at awe with the visual appeal.
I think you are looking at it in the wrong perspective. The tax does not assume guilt, it compensates for a privaledge, and that privaledge is the personal freedom of information. As Americans, (and just about everyone else too) we pay taxes for the creation of roads. Should this be abolished because it is wrong to say that everyone old enough to pay taxes is a driver? What if you live in a high density city like New York and can walk everywhere you need to. What if you are a recluse and have everything delivered to you. The same goes for any job payed for with taxes. What if you don't want mail? Too bad, it is assumed that you will use that resource so you pay for it. I would gladly pay an extra $6 on a CD burner if it meant more freedom to use the information I buy how I want.
I dunno, I kind of wanted to prove my 133tness early by going hardcore with one of the BSD's now so I can be extra 133t when linux gets more mainstream.
Their biggest screw up had to be the 286, I tried one of those yesterday and it was so slow, I couldn't even run my 133t skr1p5 fr0m it. Why would anyone buy one, I mean, why didn't they just make PIII's the whole time. I'll never understand those large commitee descisions.
The next cell phone I will buy will have to be able to run a java KVM, because writing programs for cell phones is just the coolest. Especially if it has an IR port, then it just opens up so many possibilities. Remote controls for various things, games, and unlock your ( or someone else's) BMW if you got one that has inferred remote locks.
I would have to say that comming out with bad games at first is not a usual thing. Look At nintendo's games that have come with its consoles. Maybe that's not enough to count but I think that most of the games that come out with the console are generally pretty good.
I think it would be cool if nintendo would take all of their games and license as many of the third party ones as possible and create a cartridge for N64 or a CD for the gamecube to pack tons of old nintendo games into one game for a newer system. They could make some money off of it I am sure, especially if they put some antialiasing in the games and some more color depth, and jazzed up the sound a little. That would be great. I would buy it, and they sure aren't making any money selling those games anymore (not the companies themselves anyway).
I am glad to see that there is still attention to old gaming stystems and games through emulation and stuff like this. I am just starting college and it seems like all of my friends have been playing older games systems, like genesis, super nintendo, and NES. The reason being of course that good games are always fun, and graphics and sound are cool, but it is elegance, play control, and originality that poeple love. Because so many games had to rely on these things instead of graphics, there were alot of simple and fun games produced. (Don't get me wrong, there was alot of crap too) But those games will always be fun, and because of things like emulation, I will even be able to show them to my kids someday and not have to worry about blowing into the cartridge just right to get an NES game to work.
SPA approached them with an educational campaign, such as a "Don't Copy That Floppy" rap video
The RIAA should make one of their puppets (boy bands , bubble gum pop girls , etc.) whip up a snappy tune about why you should give the poor RIAA more money. Wait, the RIAA would probably try to sell it for way more than it's worth, and then it would just get traded around illegally. The irony would be great though.
Smart card readers/writers cost only about $80 for a serial port version and $100 for a PCMCIA version. (Gemplus.com)
Why wouldn't it be possible to just copy all of the contents from one card to another, direct copy the magnetic strip too, and change the picture (if there is one) to assume someone else's identity? I don't know much about encryption or how the smart cards work other than the basics, but this seems to be logically possible whatever the encryption scheme, as long as the hardware itself didn't limit directly copying. So would this work, or do I just not know enough?
Its kind of like that Seinfeld episode where Kramer wants to stop getting mail. Maybe the RIAA is finally saying to themselves "holy shit, we really don't have anything to offer, no one needs us." and then they use bully tactics like on Seinfeld when the fat guy scares Kramer and...
Rant -
I don't want to create unecesary negativity, but I don't think that the shortage is going to get much better anytime soon. Maybe lots more people will go into the computer field and study comptuer science in colledge, but that won't do a fucking bit of good. I am taking computer science and engineering courses and I can't stand how everyone seems to be there because they think for some odd reason that if they complete four years of school and graduate with some kind of engineering degree that they are going to be showered with money out of nowhere. These people are not geeks by any means, and while that isn't something that is nessecary to you job, they have no true interest in computers. If there wasn't extra money at stake then they would look down on engineering as boring, technical and something they would never want to do. They don't see the big picture, and suck up everything they learn in their classes as the absolute truth and think that they don't need anything else which is very very wrong. So in a few years after lots of people start coming out of computer science looking for jobs they are certainly going to find them, and they're going to be horrible at what they do because they won't try to build on their knowledge because all they care about is money. Not to mention arrogance which is another story all together. I am not the only one who feels like this right?
One game that I think was very original (to the best of my knowledge) was Dr. Robotnicks Mean Bean Machine. Try it out on sega genesis or emulation if you have to (don't flame me about emulation please.) Was it derivitative of Tetris, Dr. Mario, and alot of other games like it? Sure. Is it still a great and original game? you bet. When stuff like this happens, games of certain genre won't die, they will just get more advanced and take advantage of the current technology. Dr. Robotnicks Mean Bean Machine is completely made for being multiplayer and is not as repetative at most of the games from which it came. It is simple yet is set up so that their is practically no end to the skill you could reach. You set up chain reactions of events and the bigger the better, but it is hard to plan reactions, especially fast enough to make them happen with what you get. You have to readjust your current strategy to whatever obstacles your opponent throws at you etc. It is one of my favorite games but I don't hear alot about it. I think it proves that even though a genre can get done again and again there is always something cool that can be done with it. Also try out Wetris for N64 another great game that illustrates the same point.
Movies are 24 fps but use tricks like motion blur to improve their animated appearance. Games don't use these tricks, so they don't tend to appear smooth to most people until you reach much higher frame rates
Actually, motion blur is a normal and natural effect of both film and the eye when something moves fast. It would be considered a trick with video games because it would have to be added, but in film and what is seen through the eye is is not a trick.
/* * 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 #include #include "css-descramble.h"
typedef unsigned char byte;
/* * * some tables used for descrambling sectors and/or decrypting title keys * */
/* Reverse the order of the bits within a byte. */ static byte bit_reverse[256]= { 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90, 0x50,0xd0,0x30,0xb0,0x70,0xf0, 0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98, 0x58,0xd8,0x38,0xb8,0x78,0xf8, 0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94, 0x54,0xd4,0x34,0xb4,0x74,0xf4, 0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c, 0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, 0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92, 0x52,0xd2,0x32,0xb2,0x72,0xf2, 0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a, 0x5a,0xda,0x3a,0xba,0x7a,0xfa, 0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96, 0x56,0xd6,0x36,0xb6,0x76,0xf6, 0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e, 0x5e,0xde,0x3e,0xbe,0x7e,0xfe, 0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91, 0x51,0xd1,0x31,0xb1,0x71,0xf1, 0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99, 0x59,0xd9,0x39,0xb9,0x79,0xf9, 0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95, 0x55,0xd5,0x35,0xb5,0x75,0xf5, 0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d, 0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, 0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93, 0x53,0xd3,0x33,0xb3,0x73,0xf3, 0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b, 0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, 0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97, 0x57,0xd7,0x37,0xb7,0x77,0xf7, 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f, 0x5f,0xdf,0x3f,0xbf,0x7f,0xff };
/* * * 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] >8)&0xff] >16)&0xff]>24)&0xff];
combined = 0; for (i = 0; i >1; lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>1 9);*/ o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7); lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8; }
/* * * 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;
I agree that 128 bit encryption would be very close to unbreakable, but I don't think you understand why. 41 bit encryption would be take twice as long to break etc. No super computer or beowulf alone could break it. It would take something more like all the computing power in the US.
I know that this is largely irrelevant considering that if you can hear it you can copy it. (Which I realize has already been brought up many times).
that wasn't offtopic, troma is where trey parker and matt stone got their start, they make lots of independant films. It just looks like porn on the front of their web page, oh well.
Think about this, if movies are being shot in HDTV resolution, and people start getting HDTV, then why should anyone go to the theatre when an implementation of Pay Per View would be cheaper to deliver? Where is the actual service of the movie theatre then? better sound? Lots of people have 5.1 setups in their house. Better image quality? I don't think so. The only reason to go would be because the movies would come out there first, which wouldn't be at all neccesary, it would just a be a blatant attempt to suck money out of individual people. HDTV, and digital movies will change alot of things for sure.
"I think we should know exactly what the technical standards are before we deal in these other areas," said Mr. Valenti, of the motion picture association. And, he added, "Our attorneys believe we need to pursue this very cautiously. Industrywide compacts where you sit down and say, `This is what seven or eight companies are going to do' - that's very dangerous ground."
Well damn Jack, what exactly is the MPAA then?
I also can't really tell a difference between digital and analog, but the difference between 70mm and 35mm film is breathtaking. If you can go see an IMAX movie, they are usually kind of entertaining, but I could watch something boring just to see that incredible resolution (assuming the photography was good). This is not a theory, I watched an IMAX movie on whales and one on Alaska (called Alaska oddly enough). I don't remember any of the information presented, but I rember being at awe with the visual appeal.
In this case, it's not. VHS is very poor quality, big, bulky, very inflexible in its capabilities, and very poor at being copied.
I think you are looking at it in the wrong perspective. The tax does not assume guilt, it compensates for a privaledge, and that privaledge is the personal freedom of information. As Americans, (and just about everyone else too) we pay taxes for the creation of roads. Should this be abolished because it is wrong to say that everyone old enough to pay taxes is a driver? What if you live in a high density city like New York and can walk everywhere you need to. What if you are a recluse and have everything delivered to you. The same goes for any job payed for with taxes. What if you don't want mail? Too bad, it is assumed that you will use that resource so you pay for it. I would gladly pay an extra $6 on a CD burner if it meant more freedom to use the information I buy how I want.
That's incredible, I wish I could have seen it, but I will definitly keep my eye out.
I dunno, I kind of wanted to prove my 133tness early by going hardcore with one of the BSD's now so I can be extra 133t when linux gets more mainstream.
Their biggest screw up had to be the 286, I tried one of those yesterday and it was so slow, I couldn't even run my 133t skr1p5 fr0m it. Why would anyone buy one, I mean, why didn't they just make PIII's the whole time. I'll never understand those large commitee descisions.
I guess it does, sorry.
The next cell phone I will buy will have to be able to run a java KVM, because writing programs for cell phones is just the coolest. Especially if it has an IR port, then it just opens up so many possibilities. Remote controls for various things, games, and unlock your ( or someone else's) BMW if you got one that has inferred remote locks.
I would have to say that comming out with bad games at first is not a usual thing. Look At nintendo's games that have come with its consoles. Maybe that's not enough to count but I think that most of the games that come out with the console are generally pretty good.
I wonder if anyone would contest pabstsucks.com?
I think it would be cool if nintendo would take all of their games and license as many of the third party ones as possible and create a cartridge for N64 or a CD for the gamecube to pack tons of old nintendo games into one game for a newer system. They could make some money off of it I am sure, especially if they put some antialiasing in the games and some more color depth, and jazzed up the sound a little. That would be great. I would buy it, and they sure aren't making any money selling those games anymore (not the companies themselves anyway).
I am glad to see that there is still attention to old gaming stystems and games through emulation and stuff like this. I am just starting college and it seems like all of my friends have been playing older games systems, like genesis, super nintendo, and NES. The reason being of course that good games are always fun, and graphics and sound are cool, but it is elegance, play control, and originality that poeple love. Because so many games had to rely on these things instead of graphics, there were alot of simple and fun games produced. (Don't get me wrong, there was alot of crap too) But those games will always be fun, and because of things like emulation, I will even be able to show them to my kids someday and not have to worry about blowing into the cartridge just right to get an NES game to work.
SPA approached them with an educational campaign, such as a "Don't Copy That Floppy" rap video
The RIAA should make one of their puppets (boy bands , bubble gum pop girls , etc.) whip up a snappy tune about why you should give the poor RIAA more money. Wait, the RIAA would probably try to sell it for way more than it's worth, and then it would just get traded around illegally. The irony would be great though.
Smart card readers/writers cost only about $80 for a serial port version and $100 for a PCMCIA version. (Gemplus.com)
Why wouldn't it be possible to just copy all of the contents from one card to another, direct copy the magnetic strip too, and change the picture (if there is one) to assume someone else's identity? I don't know much about encryption or how the smart cards work other than the basics, but this seems to be logically possible whatever the encryption scheme, as long as the hardware itself didn't limit directly copying. So would this work, or do I just not know enough?
nice
as far as the legal aspects, in the article, it said that they had worked with lawyers to ensure that they are in legal bounds.
Its kind of like that Seinfeld episode where Kramer wants to stop getting mail. Maybe the RIAA is finally saying to themselves "holy shit, we really don't have anything to offer, no one needs us." and then they use bully tactics like on Seinfeld when the fat guy scares Kramer and ...
I hope I spelled Seinfeld right
Rant - I don't want to create unecesary negativity, but I don't think that the shortage is going to get much better anytime soon. Maybe lots more people will go into the computer field and study comptuer science in colledge, but that won't do a fucking bit of good. I am taking computer science and engineering courses and I can't stand how everyone seems to be there because they think for some odd reason that if they complete four years of school and graduate with some kind of engineering degree that they are going to be showered with money out of nowhere. These people are not geeks by any means, and while that isn't something that is nessecary to you job, they have no true interest in computers. If there wasn't extra money at stake then they would look down on engineering as boring, technical and something they would never want to do. They don't see the big picture, and suck up everything they learn in their classes as the absolute truth and think that they don't need anything else which is very very wrong. So in a few years after lots of people start coming out of computer science looking for jobs they are certainly going to find them, and they're going to be horrible at what they do because they won't try to build on their knowledge because all they care about is money. Not to mention arrogance which is another story all together. I am not the only one who feels like this right?
One game that I think was very original (to the best of my knowledge) was Dr. Robotnicks Mean Bean Machine. Try it out on sega genesis or emulation if you have to (don't flame me about emulation please.) Was it derivitative of Tetris, Dr. Mario, and alot of other games like it? Sure. Is it still a great and original game? you bet. When stuff like this happens, games of certain genre won't die, they will just get more advanced and take advantage of the current technology. Dr. Robotnicks Mean Bean Machine is completely made for being multiplayer and is not as repetative at most of the games from which it came. It is simple yet is set up so that their is practically no end to the skill you could reach. You set up chain reactions of events and the bigger the better, but it is hard to plan reactions, especially fast enough to make them happen with what you get. You have to readjust your current strategy to whatever obstacles your opponent throws at you etc. It is one of my favorite games but I don't hear alot about it. I think it proves that even though a genre can get done again and again there is always something cool that can be done with it. Also try out Wetris for N64 another great game that illustrates the same point.
Movies are 24 fps but use tricks like motion blur to improve their animated appearance. Games don't use these tricks, so they don't tend to appear smooth to most people until you reach much higher frame rates
Actually, motion blur is a normal and natural effect of both film and the eye when something moves fast. It would be considered a trick with video games because it would have to be added, but in film and what is seen through the eye is is not a trick.
Not to get slashdot in trouble or anything but ...
, 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
1 9);*/ ;
1 9);*/ ;
/*
* 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
#include
#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] >8)&0xff] >16)&0xff]>24)&0xff];
combined = 0;
for (i = 0; i >1;
lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 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) >8)&0xff] >16)&0xff]>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)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
}
}
I agree that 128 bit encryption would be very close to unbreakable, but I don't think you understand why. 41 bit encryption would be take twice as long to break etc. No super computer or beowulf alone could break it. It would take something more like all the computing power in the US.
I know that this is largely irrelevant considering that if you can hear it you can copy it. (Which I realize has already been brought up many times).