Slashdot Mirror


User: kyhwana

kyhwana's activity in the archive.

Stories
0
Comments
215
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 215

  1. Re:The problem is on EFF To Defend Music Swapping Service MusicCity · · Score: 1

    Someone has released a patched version of the kazaa binary. If you want it, come into #gift on irc.openprojects.net and ask.

    The problem is that Fast Track is NOT open source and uses encryption between usersusers/supernodes.
    I think they still want to figure out the protocol, since the kazaa binary only runs on linux x86.
    Oh, it should also be noted that Fast Track DOES use central servers, so the blurb in this /. article is WRONG. Since they use centralised servers (For log on/serving up ads/etc) they can be shut down just as well as napster.
    I also don't beleive the EFF should be defending these guys, as earlier posters have said kazaa/morpheus is full of spyware and ads.

  2. /.ed. on Tech Toys Become Modern Instruments · · Score: 0, Offtopic

    Mission Accomplished.

  3. Re:You can customize Linux on Tiny Apps · · Score: 1
    That's right.. Hell, who needs toolbars, and window's and such in X?
    If you want a gui (X) without the bloat, try RatPoison
    It's small, very light and very fast. It's not so much as a window manager as a... well, go see for yourself.
    It's sort of retro ;) Try it out.
    That said, anything that uses GNOME/KDE/etc IS bloat.. I've had to download boatloads of crap.
    I installed off a debian 2.2r3 iso.. whew. It's amazing how many different damn libraries you have to download.. why can't you make do with gtk?? Oh well.

    Whoever says linux is ready for the desktop (like your grandma) is bullshiting themselves.. It's not ready, yet.

  4. Re:bitrate the least of the trouble at that level? on What Sounds Better, MP3 or Ogg? · · Score: 1

    CDex has support for Vorbis, although im not sure what version encoder they're using.
    You can get CDex from The CDex page
    Also there are plugins and an "official" encoder at Vorbis.com

  5. Wrong place to post on World Trade Towers and Pentagon Attacked · · Score: 0, Troll

    WTF? This is supposed to be news for nerds, or whatever. Not CNN. If you want to hear this, turn on a TV or something, geez

  6. Re:Right to decode decss. on DeCSS, From the Beginning · · Score: 1

    Now, one thing I haven't seen discussed... Has anyone approached the CCA about becoming a licensed user of CSS? How much can be published? If the licensed app is GPL'ed, how much of the CSS code goes for the ride? $10k isn't all that much, in the scheme of things.

    Auctally, the contract/license agreement you sign doesn't allow open sourcing of the code, because then otherwise anyone could just find out how it works. So, you can't "legally" license an open source DVD player.

    Also, who's going to pay the $10k? What's the point of paying that $10k and then not being able to open source it, at which point you'd have to sell it to recoup the $10k, so on and so forth.

    I beleive LiVid and maybe other groups have approached the DVDCCA about licensing it, but a) it's not free and b) No source code.

  7. Re:Looking Forward to ebooks on Why Nobody Likes E-Books · · Score: 1

    Of course, if you lose the reader, you would also have to go back and buy all the ebooks again.
    (since you'd only be allowed "one copy" etc)

  8. Re:lot's of sysadmins would be jailed... on Aussie Bill Would Ban Hacking Tools, Virus Code · · Score: 1

    Auctally, no. Simon Travaglia (aka BoFH) is from New Zealand.
    He used to work (Or currently does, im not sure) at the Waikato Univerisity.
    The register has the latest BoFH installments.
    Oh, and be careful about saying he's from Australia, your keyboard might curiously become electrified.

  9. The Paper itself from cryptome (ahh, /. archives) on SDMI Researchers Cancel Presentation After RIAA Threat · · Score: 3
    RIAA Challenges SDMI Attack

    20 April 2001. Thanks to Anonymous
    From cryptome.org

    [Letter, 3 pp.]

    MATTHEW J. OPPENHEIM, ESQ.
    Address illegible
    RIAA

    April 9, 2001

    Professor Edward Felton
    Department of Computer Science
    Princeton University
    Princeton, NJ 08544

    Dear Professor Felten,

    We understand that in conjunction with the 4th International Information Hiding Workshop to be held April 25-29, 2001, you and your colleagues who participated in last year's Secure Digital Music Initiative ("SDMI") Public Challenge are planning to publicly release information concerning the technologies that were included in that challenge and certain methods you and your colleagues developed as part of your participation in the challenge. On behalf of the SDMI Foundation, I urge you to reconsider your intentions and to refrain from any public disclosure of confidential information derived from the Challenge and instead engage SDMI in a constructive dialogue on how the academic aspects of your research can be shared without jeopardizing the commercial interests of the owners of the various technologies.

    As you are aware, at least one of the technologies that was the subject of the Public Challenge, the Verance Watermark, is already in commercial use and the disclosure of any information that might assist others to remove this watermark would seriously jeopardize the technology and the content it protects.1 Other technologies that were part of the Challenge are either likewise in commercial use or could be could be utilized in this capacity in the near future. Therefore, any disclosure of information that would allow the defeat of those technologies would violate both the spirit and the terms of the Click-Through Agreement (the "Agreement"). In addition, any disclosure of information gained from participating in the Public Challenge would be outside the scope of activities permitted by the Agreement and could subject you and your research team to actions under the Digital Millennium Copyright Act ("DCMA").

    ____________________

    1 The Verance Watermark is currently used for DVD-Audio and SDMI Phase I products and certain portions of that technology are trade secrets.

    We appreciate your position, as articulated in the Frequently Asked Questions document, that the purpose of releasing your research is not designed to "help anyone impose or steal anything." Further more, you participation in the Challenge and your contemplated disclosure appears to be motivated by a desire to engage in scientific research that will ensure that SDMI does not deploy a flawed system. Unfortunately, the disclosure that you are contemplating could result in significantly broader consequences and could directly lead to the illegal distribution of copyrighted material. Such disclosure is not authorized in the Agreement, would constitute a violation of the Agreement and would subject your research team to enforcement actions under the DMCA and possibly other federal laws.

    As you are aware, the Agreement covering the Public challenge narrowly authorizes participants to attack the limited number of music samples and files that were provided by SDMI. The specific purpose of providing these encoded files and for setting up the Challenge was to assist SDMI in determining which of the proposed technologies are best suited to protect content in Phase II products. The limited waiver of rights (including possible DMCA claims) that was contained in the Agreement specifically prohibits participants from attacking content protected by SDMI technologies outside the Public Challenge. If your research is released to the public this is exactly what could occur. In short, you would be facilitating and encouraging the attack of copyrighted content outside the limited boundaries of the Public Challenge and thus places you and your researchers in direct violation of the Agreement.

    In addition, because public disclosure of your research would be outside the limited authorization of the Agreement, you could be subject to enforcement actions under federal law, including the DMCA. The Agreement specifically reserves any rights that proponents of the technology being attacked may have "under any applicable law, including, without limitation, the U.S. Digital Millennium Copyright Act, for any acts not expressly authorized by their Agreement." The Agreement simply does not "expressly authorize" participants to disclose information and research developed through participating in the Public challenge and such disclosure could be the subject of a DMCA action.

    We recognize and appreciate your position, made clear throughout this process, that it is not your intention to engage in any illegal behavior or to otherwise jeopardize the legitimate commercial interests of others. We are concerned that your actions are outside the peer review process established by the Public Challenge and setup by engineers and other experts to ensure the academic integrity of this project. With these facts in mind, we invite you to work with the SDMI Foundation to find a way for you to share the academic components of your research while remaining true to your intention to not violate the law or the Agreement. In the meantime, we urge you to withdraw the paper submitted for the upcoming Information Hiding Workshop, assure that it is removed from the Workshop distribution materials and destroyed, and avoid a public discussion of confidential information.

    Sincerely,

    [Signature]

    Matthew Oppenheim, Secretary
    The SDMI Foundation

    cc: Mr. Ira S. Moskowitz, Program Chair, Information Hiding Workshop, Naval Research Laboratory
    Cpt. Douglas S. Rau, USN, Commanding Officer, Naval Research Laboratory
    Mr. Howard Ende, General Counsel of Princeton
    Mr. Edward Dobkin, Computer Science Department Head of Princeton

    [Paper, 15 pp.]

    Reading Between the Lines:
    Lessons from the SDMI Challenge
    Scott A. Craver1, John R McGregor1, Min Wu1, Bede Liu1,
    Adam Stubblefield2, Ben Swartzlander2, Dan S. Wallach2,
    Drew Dean3, and Edward W. Felten4 1 Dept. of Electrical Engineering, Princeton University
    2 Dept. of Computer Science, Rice University
    3 Computer Science Laboratory, Xerox Palo Alto Research Center
    4 Dept. of Computer Science, Princeton University

    Abstract. The Secure Digital Music Initiative is a consortium of parties interested in preventing piracy of digital music, and to this end they are developing architectures for content protection on untrusted platforms. SDMI recently held a challenge to test the strength of 4 watermarking technologies, and 2 other security technologies. No documentation explained the implementations of the technologies, and neither watermark embedding nor detecting software was directly accessible to challenge participants. We nevertheless accepted the challenge, and learned a great deal about the inner workings of the technologies. We report on our results here.
    1 Introduction

    The Secure Digital Music Initiative (SDMI), a consortium of music-industry companies, is working to develop and standardize technologies that give music publishers more control over what consumers can do with recorded music that they buy. SDMI has been a somewhat secretive organization, releasing little information to the public about its goals, deliberations, and technology.

    In September 2000, SDMI announced a "public challenge" in which it invited members of the public to try to break certain data-encoding technologies that SDMI had developed [3]. The challenge offered a valuable window into SDMI, not only into its technologies but also into its plans and goals. We decided to use the challenge to learn as much as we could about SDMI. This paper is the result of our study.1 Section 2 presents an overview of the HackSDMI challenge. Section 3 analyzes the watermark challenges. Section 4 analyzes the non-watermark challenges. Finally, we present our conclusions in section 5.

    ____________________

    1 The SDMI challenge offered a small cash payment to be shared among everyone who broke at least one of the technologies and was willing to sign a confidentiality agreement giving up all rights to discuss their findings. The cash prize amounted to the price of a few days of time from a skilled computer security consultant, and it was to be split among all successful entrants, a group that we suspected might be significant in size. We chose to forgo the payment and retain our right to publish this paper.
    2 The SDMI Challenge

    The SDMI challenge extended over roughly a three-week period, from September 15, 2000 until October 8, 2000. The challenge actually consisted of six sub-challenges, named with the letters A through F, each involving a different technology developed by SDMI. We believe these challenges correspond to submissions to the SDMI's Call for Proposals for Phase II Screening Technology [4]. According to this proposal, the watermark's purpose is to restrict an audio clip which is compressed or has previously been compressed. That is, if the watermark is present an audio clip may yet be admitted into an SDMI device, but only if it has not been degraded by compression. For each challenge, SDMI provided some information about how a technology worked, and then challenged the public to create an object with a certain property. The exact information provided varied among the challenges. We note, though, that in all six cases SDMI provided less information than a music pirate would have access to in practice.

    2.1 Watermark Challenges

    Four of the challenges (A, B, C, and F), involved watermarking technologies, in which subtle modifications are made to an audio file, to encode copyright control information without perceptible change in how the file sounds. Watermarks can be either robust or fragile. Robust watermarks are designed to survive common transformations like digital-to-audio conversion, compression and decompression, and the addition of small amounts of noise to the file. Fragile watermarks do not survive such transformations, and are used to indicate modification of the file. For each of the four watermark challenges, SDMI provided three files:

    - File 1: an unwatermarked song;

    - File 2: File 1, with a watermark added; and

    - File 3: another watermarked song.

    The challenge was to produce a file that sounded just like File 3 but did not have a watermark -- in other words, to remove the watermark from File 3.

    SDMI provided an on-line "oracle" for each challenge. Entrants could email a file to the oracle, and the oracle would tell them whether their submission satisfied the challenge, that is, whether it contained no detectable watermark while still sounding like File 3. Entrants were given no information about how watermark information was stored in the file or how the oracle detected watermarks, beyond the information that could be deduced from inspection of the three provided files.

    2.2 Challenges D and E

    Challenge D concerned a technology designed to prevent a song from being separated from the album in which it was issued. Normally, every Compact Disc contains a table of contents, indicating the offsets and lengths of each audio track, followed by the audio data itself. Challenge D adds an "authenticator" track (approximately 50ms of very quiet audio,) a digital signature derived from the table of contents, which is supposed to be difficult to compute for an arbitrary CD. Challenge D is discussed in more detail in Section 4.1.

    Challenge E involved a technology similar to D, but one which would be immune the obvious attack on technology D, in which one compiled an unauthorized CD with the same table of contents as an authorized one, for which the authenticator track is given. Unfortunately, this challenge was constructed in a way that made it impossible to even start analyzing the technology. SDMI provided an oracle for this challenge, but unfortunately provided no music samples of any kind, so there was no way to determine what the oracle might be testing for.

    Given these facts, we decided not to analyze Challenge E. It is discussed briefly in Section 4.2.
    3 The Watermarking Schemes

    In this section, we describe our attack(s) on each of the four watermark challenges (A,B,C,F). Our success was confirmed by emails received from SDMI's oracles. Fig. 1. The SDMI watermark attack problem. For each of the four watermark challenges, Sample-1, sample-2, and sample-3 are provided by SDMI sample-4 is generated by participants in the challenge and submitted to SDMI oracle for testing.

    Figure 1 provides an overview of the challenge goal. As mentioned earlier, there are three audio files per watermark challenge: an original and watermarked version of one clip, and then a watermarked version of a second clip, from which the mark is to be removed. All clips were 2 minutes long, sampled at 44.1kHz with 16-bit precision.

    The reader should note one serious flaw with this challenge arrangement. The goal is to remove a robust mark, while these proposals appear to be Phase II watermark screening technologies [4]. As we mentioned earlier, a Phase II screen is intended to reject audio clips if they have been compressed, and presumably compression degrades a fragile component of the watermark. An attacker need not remove the robust watermark to foil the Phase II screen, but could instead repair the modified fragile component in compressed audio. This attack was not possible under the challenge setup.

    3.1 Attack and Analysis of Technology A

    A reasonable first step in analyzing watermarked content with original, unmarked samples is differencing the original and marked versions in some way. Initially, we used sample-by-sample differences in order to determine roughly what kinds of watermark- ing methods were taking place. Unfortunately, technology A involved a slowly varying phase distortion which masked any other cues in a sample-by-sample difference. We ultimately decided this distortion was a pre-processing separate from the watermark, in part because undoing the distortion alone did not foil the oracle.

    The phase distortion nevertheless led us to attempt an attack in which both the phase and magnitude change between sample 1 and sample 2 is applied to sample 3. This attack was confirmed by SDMI's oracle as successful, and illustrates the general attack approach of imposing the difference in an original-watermark pair upon another media clip. Here, the "difference" is taken in the FFT domain rather than the time domain, based on our suspicions regarding the domain of embedding. Note that this attack did not require much information about the watermarking scheme itself, and conversely did not provide much extra insight into its workings.

    A next step, then, is to compute the frequency response H(w) = W(w)/O(w) of the watermarking process for segments of audio, and observe both |H(w)| and the corresponding impulse response h(t). If the watermark is based on some kind of linear filter, whose properties change slowly enough relative to the size of a frame of samples, then this approach is ideal.

    Figure 2 illustrates one frequency response and impulse response about 0.3 seconds into the music. These responses are based on FFTs of 882 samples, or one fiftieth second of music. As can be clearly seen, a pair of sinusoidal ripples are present within a certain frequency band, approximately 8-16Khz. Ripples in the frequency domain are indicative of echoes in the time domain, and a sum of sinusoids suggested the presence of multiple echoes. The corresponding impulse response h(t) confirms this. This pattern of ripples changes quite rapidly from frame to frame.

    Thus, we had reason to suspect a complex echo hiding system, involving multiple time-varying echoes. It was at this point that we considered a patent search, knowing enough about the data hiding method that we could look for specific search terms, and we were pleased to discover that this particular scheme appears to be listed as an alternative embodiment in US patent number 05940135, awarded to Aris corporation, now part of Verance [5]. This provided us with little more detail than we had already discovered, but confirmed that we were on the right track, as well as providing the probable identity of the company which developed the scheme. It also spurred no small amount of discussion of the validity of Kerckhoffs's criterion, the driving principle in security that one must not rely upon the obscurity of an algorithm. This is, surely, doubly true when the algorithm is patented. Fig. 2. A short-term complex echo. Above, the frequency response between the watermarked and original music, taken over 1/50 second, showing a sinusoidal ripple between 8 and 16 KHz. Below, the corresponding impulse response. The sinusoidal pattern in the frequency domain corresponds to a pair of echoes in the time domain.
    The most useful technical detail provided by the patent was that the "delay hopping" pattern was likely discrete rather than continuous, allowing us to search for appropriate frame sizes during which the echo parameters were constant. Data collection from the first second of audio showed a frame size of approximately 882 samples, or 1/50 second. We also observed that the mark did not begin until 10 frames after the start of the music, and that activity also existed in a band of lower frequency, approximately 4-8 Khz. This could be the same echo obscured by other operations, or could be a second band used for another component in the watermarking scheme. A very clear ripple in this band, indicating a single echo with a delay of about 34 samples, appears shortly before the main echo-hopping pattern begins.

    The next step in our analysis was the determination of the delay hopping pattern used in the watermarking method, as this appeared to be the "secret key" of the data embedding scheme. It is reasonable to suspect that the pattern repeats itself in short order, since a watermark detector should be able to find a mark in a subclip of music, without any assistance initially aligning the mark with the detector's hopping pattern. Again, an analysis of the first second revealed a pattern of echo pairs that appeared to repeat every 16 frames, as outlined in figure 3. The delays appear to fall within six general categories, each delay approximately a multiple of 1/4 millisecond. The exact values of the delays vary slightly, but this could be the result of the phase distortion present in the music. Fig. 3. The hypothesized delay hopping pattern of technology A. Here two stretches of 16 frames are illustrated side-by-side, with observed echoes in each frame categorized by six distinct delays: 2, 3, 4, 5, 6 or 7 times 0.00025 sec. Aside from several missing echoes, a pattern appears to repeat every 16 frames. Note also that in each frame the echo gain is the same for both echoes.

    The reader will also note that in apparently two frames there is only one echo. If this pattern were the union of two pseudorandom patterns chosen from six possible delay choices, two "collisions" would be within what is expected by chance.

    Next, there is the issue of the actual encoded bits. Further work shows the sign of the echo gain does not repeat with the delay-hopping pattern, and so is likely at least part of an embedded message. Extracting such data without the help of an original can be problematic, although the patent, of course, outlines numerous detector structors which can be used to this end. We developed several tools for cepstral analysis to assist us in the process. See [2] for in introduction to cepstral analysis; Anderson and Petitcolas [1] illustrate its use in attacks on echo hiding watermark systems.

    With a rapidly changing delay, normal cepstral analysis does not seem a good choice. However, if we know that the same echo is likely to occur at multiples of 16/50 of a second, we can improve detector capability by combining the information of multiple liftered2 log spectra.

    ____________________

    2 in accordance with the flopped vocabulary used with cepstral analysis, "liftering" refers to the process of filtering data in the frequency domain rather than the time domain. Similarly, "quefrencies" are frequencies of ripples which occur in the frequency domain rather than the time domain.

    Three detector structures are shown in figure 4. In all three, a collection of frames are selected for which the echo delays are believed to be the same. For each, the liftered log of an FFT or PSD of the frame is taken. In the first two structures, we compute a cepstrum, for each frame, then either average their squared magnitudes, or simply their squares, in hopes that a spike of the appropriate quefrency will be clear in the combination. The motivation for merely squaring the spectral coefficients comes from the observation that a spike due to an echo will either possess a phase of theta or theta + pi for some value theta. Squaring without taking magnitudes can cause the echo phases to reinforce, whilst still permitting other elements to combine destructively. Fig. 4. Three cepstral detector structures. In each case we have a collection of distinct frames, each believed to possess echoes of the same delay. The first two compute cepstral data for each frame, and sum their squares (or squared magnitudes) to constructively combine the echo signal in all frames. The third structure illustrates a method for testing a hypothesized pattern of positive and negative gains, possibly useful for brute-forcing or testing for the presence of a known "ciphertext."

    In the final structure, one cepstrum. is taken using a guess of the gain sign for each suspect frame. With the correct guess, the ripple should be strongest, resulting in the largest spike from the cepstral detector. Figure 5 shows the output of this detector on several sets of suspect frames. While this requires an exponential amount of work for a given amount of frames, it has a different intended purpose: this is a brute-forcing tool, a utility for determining the most probable among a set of suspected short strings of gain signs as an aid to extracting possible ciphertext values. Fig. 5. Detection of an echo. A screenshot of our CepstroMatic utility shows a combination of 4 separate frames of music, each a fiftieth of a second long, in which the same echo delay was believed to exist. Their combination shows a very clear ripple on the right, corresponding to a clear cepstral spike on the left. This is a single echo at a delay of 33 samples, the delay suggested for these intervalus by the hypothesized delay-hopping pattern.

    Finally, there is the issue of what this embedded watermark means. Again, we are uncertain about a possible signalling band below 8Khz. This could be a robust mark, signalling presence of a fragile mark of echoes between 8 and 16 KHz. The 8-16KHz band does seem like an unusual place to hide robust data, unless it does indeed extend further down, and so this could very easily be hidden information whose degredation is used to determine if music has already been compressed.

    Of course, knowledge of either the robust or fragile component of the mark is enough for an attacker to circumvent the scheme, because one can either remove the robust mark, or repair or reinstate the fragile mark after compression has damaged it. As mentioned earlier, this possible attack of repairing the fragile component appears to have been ruled out by the nature of the SDMI challenge oracles. One must wait and see if real-world attackers will attempt such an approach, or resort to more brute methods or oracle attacks to remove the robust component.

    3.2 Attack on Challenge B

    We analyzed samp1b.wav and samp2b.wav using short-time FFT. Shown in Fig. 6 are the two FFT magnitudes for 1000 samples at 98.67 sec. Also shown is the difference of the two magnitudes. A spectrum notch around 2800Hz is observed for some segments of samp2b.wav and another notch around 3500Hz is observed for some other segments of samp2b.wav. Similar notches are observed in samp3b.wav. The attack fills in those notches of samp3b.wav with random but bounded coefficient values. We also submitted a variation of this attack involving different parameters for notch description. Both attacks were confirmed by SDMI oracle as successful. Fig. 6. Technology-B: FFT magnitudes of samp1b.wav and samp2b.wav and their difference for 1000 samples at 98.67 sec.

    3.3 Attacks on Challenge C

    By taking the difference of samp1c.wav and samp2c.wav, bursts of narrowband signal are observed, as shown in Fig. 7. These narrow band bursts appear to be centered around 1350 Hz. Two different attacks were applied to Challenge C. In the first at- tack, we shifted the pitch of the audio by about a quartertone. In the second attack, we passed the signal through a bandstop filter centered around 1350Hz. Our submissions were confirmed by SDMI oracle as successful. In addition, the perceptual quality of both attacks has passed the "golden ear" testing conducted by SDMI after the 3-week challenge. Fig. 7. Challenge-C: Waveform of the difference between samp1c.wav and samp2c.wav.

    3.4 Attack on Challenge F

    For Challenge F, we warped the time axis, by inserting a periodically varying delay. The delay function comes from our study on Technology-A, and was in fact initially intended to undo the phase distortion applied by technology A. Therefore the perceptual quality of our attacked audio is expected to be better than or comparable to that of the audio watermarked by Technology-A. We also submitted variations of this at- tack involving different warping parameters and different delay function. They were confirmed by SDMI oracle as successful.
    4 The Non-Watermark Technologies

    The HackSDMI challenge contained two "non-watermark" technologies. Together, they appear to be intended to prevent the creation of "mix" CDs, where a consumer might compile audio files from various locations to a writable CD. This would be enforced by universally embedding SMDI logic into consumer audio CD players.

    4.1 Technology D

    According to SDMI, Technology D was designed to require "the presence of a CD in order to 'rip' or extract a song for SDMI purposes." The technology aimed to accomplish this by adding a 53.3 ms audio track (four blocks of CD audio), which we will refer to as the authenticator, to each CD. The authenticator, combined with the CD's table of contents (TOC), would allow a SDMI device to recognize SDMI compliant CDs. For the challenge, SDMI provided 100 different "correct" TOC-authenticator pairs as well as 20 "rogue tracks". A rogue track is a track length that does not match any of the track lengths in the 100 provided TOCs. The goal of the challenge was to submit to the SDMI oracle a correct authenticator for a TOC that contained at least one of the rogue tracks.

    The oracle for Technology D allowed several different query types. In the first type, an SDMI provided TOC-authenticator combination is submitted so a that user can "understand and verify the Oracle." According to SDMI, the result of this query should either be "admit" for a correct pair or "reject" for an incorrect pair. When we attempted this test a SDMI-provided pair, the oracle responded that the submission was "invalid." After verifying that we had indeed submitted a correct pair, we attempted several other submissions using different TOC-authenticator pairs as well as different browsers and operating systems3. We also submitted some pairs that the oracle should have rejected; these submissions were also declared "invalid." Though we alerted SDMI to this problem during the challenge, the oracle was never repaired. For this reason, our analysis of Technology D is incomplete and we lack definitive proof that it is correct. That having been said, we think that what we learned about this technology, even without the benefit of a correctly functioning oracle, is interesting.

    ____________________

    3 Specifically, Netscape Navigator and Mozilla under Linux, Netscape Navigator under Windows NT, and Internet Explorer under Windows 98 and 2000.

    Analyzing the Signal Upon examination of the authenticator audio files, we discovered several patterns. First, the left and right channels contain the same information. The two channels differ by a "noise vector" u, which is a vector of small integer values that range from -8 and 8. Since the magnitude of the noise is so small, the noise vector does not significantly affect the frequency characteristics of the signal. The noise values appear to be random, but the noise vector is the same for each of the 100 provided authenticator files. In other other words, in any authenticator file, the difference between the left and right channels of the ith sample is a constant fixed value u[i]. This implies that the noise vector u does not encode any TOC-specific information.

    Second, the signal repeats with a period of 1024 samples. Because the full signal is 2352 samples long, the block repeats approximately 1.3 times. Similarly to the left and right channels of the signal, the first two iterations of the repeating signal differ by a constant noise vector v. The difference between the ith sample of the first iteration and the ith sample of the second iteration differ by a small (and apparently random) integer value v[i] ranging from -15 to 15. In addition, v is the same for each of the provided authenticator files, so v does not encode any TOC-specific information.

    Third, the first 100 samples and last 100 samples of the full signal are faded in and faded out, respectively. This is illustrated in Figure 8. The fade-in and fade-out are meaningless, however, because they simply destroy data that is repeated in the middle of the file. We conjecture that this fade-in and fade-out are included so that the audio signal does not sound offensive to a human ear. Fig. 8. In a Technology D Authenticator, the signal fades in, repeats, and fades out.

    Extracting the Data Frequency analysis on the 1024 sample block shows that almost all of the signal energy is concentrated in the 16-20kHz range, as shown in Figure 9. We believe this range was chosen because these frequencies are less audible to the human ear. Closer examination shows that this l6-20kHz range is divided up into 80 discrete bins, each of which appears to carry one bit of information. As shown in Figure 10, these bits can be manually counted by a human using a graph of the magnitude of signal in the frequency domain. Fig. 9. Magnitude vs. Frequency of Technology D Authenticator

    Fig. 10. Individual Bits From a Technology D Authenticator

    Close inspection and pattern matching on these 80 bits of information reveals that there are only 16 bits of information repeated 5 times using different permutations. using the letters A-P to symbolize the 16 bits, these 5 permutations are described in Figure 11. ABCDEFGHIJKLMNOP
    OMILANHGPBDCKJFE
    PKINHODFMJBCAGLE
    FCKLGMEPNOADJBHI
    PMGHLECAKDONIFJB Fig. 11. The encoding of the 16 bits of data in Technology D

    Because of the malfunctioning oracle, we were unable to determine the function used to map TOCs to authenticators, but given an actual SDMI device, it would be trivial to brute force all 216 possibilities. Likewise, without the oracle, we could not determine if there was any other signal present in the authenticator (e.g., in the phase of the frequency components with nonzero magnitude).

    For the moment, let us assume that the hash function used in Technology D has only 16 bits of output. Given the number of distinct CDs available, an attacker should be able to acquire almost, if not all, of the authenticators. We note that at 9 kilobytes each, a collection of 65,536 files would fit nicely on a single CD. Many people have CD collections of 300+ discs, which by the birthday paradox makes it more likely than not that there is a hash collision among their own collection.

    Our results indicated that the hash function used in Technology D could be weak or may have less than 16 bits of output. In the 100 authenticator samples provided in the Technology D challenge, there were 2 pairs of 16-bit hash collisions. We will not step through the derivation here, but the probability of two or more collisions occurring in n samples of X equally likely possibilities is:

    If the 16-bit hash function output has 16 bits of entropy, the probability of 2 collisions occurring in n = 100 samples of X = 216 possibilities is 0.00254 (by the above 1.5 equation). If X ~ 211.5, the chances of two collisions occurring is about even. This suggests that either 4 bits of the 16-bit hash output may be outputs of functions of the other 12 bits or the hash function used to generate the 16-bit signature is weak. It is also possible that the challenge designers purposefully selected TOCs that yield collisions. The designers could gauge the progress of the contestants by observing whether anyone submits authenticator A with TOC B to the oracle, where authenticator A is equal to authenticator B. Besides the relatively large number of collisions in the provided authenticators, it appears that there are no strong biases in the authenticator bits such as significantly more or less 1's than 0's.

    4.2 Technology E

    Technology E is designed to fix a specific bug in Technology D: the TOC only mentions the length of each song but says nothing about the contents of that song. As such, an attacker wishing to produce a mix CD would only need to find a TOC approximately the same as the desired mix CD, then copy the TOC and authenticator from that CD onto the mix CD. If the TOC does not perfectly match the CD, the track skipping functionality will still work but will only get "close" to track boundaries rather than reaching them precisely. Likewise, if a TOC specified a track length longer than the track we wished to put there, we could pad the track with digital silence (or properly SDMI-watermarked silence, copied from another valid track). Regardless, a mix CD played from start to end would work perfectly. Technology E is designed to counter this attack, using the audio data itself as part of the authentication process.

    The Technology E challenge presented insufficient information to be properly studied. Rather than giving us the original audio tracks (from which we might study the unspecified watermarking scheme), we were instead given the tables of contents for 1000 CDs and a simple scripting language to specify a concatenation of music clips from any of these CDs. 'Me oracle would process one of these scripts and then state whether the resulting CD would be rejected.

    While we could have mounted a detailed statistical analysis, submitting hundreds or thousands of queries to the oracle, we believe the challenge was fundamentally flawed. In practice, given a functioning SDMI device and actual SDMI-protected content, we could study the audio tracks in detail and determine the structure of the watermarking scheme.
    5 Conclusion

    In this paper, we have presented an analysis of the technology challenges issued by the Secure Digital Music Initiative. Each technology challenge described a specific goal (e.g., remove a watermark from an audio track) and offered a Web-based oracle that would confirm whether the challenge was successfully defeated.

    We have reverse-engineered and defeated all four of their audio watermarking technologies. We have studied and analyzed both of their "non-watermarking" technologies to the best of our abilities given the lack of information available to us and given a broken oracle in one case.

    Some debate remains on whether our attacks damaged the audio beyond standards measured by "golden ear" human listeners. Given a sufficient body of SDMI-protected content using the watermark schemes presented here, we are confident we could refine our attacks to introduce distortion no worse than the watermarks themselves introduce to the the audio. Likewise, debate remains on whether we have truly defeated technologies D and E. Given a functioning implementation of these technologies, we are confident we can defeat them.

    Do we believe we can defeat any audio protection scheme? Certainly, the technical details of any scheme will become known publicly through reverse engineering. Using the techniques we have presented here, we believe no public watermark-based scheme intended to thwart copying will succeed. Other techniques may or may not be strong against attacks. For example, the encryption used to protect consumer DVDs was easily defeated. Ultimately, if it is possible for a consumer to hear or see protected content, then it will be technically possible for the consumer to copy that content.

    References

    1. R. J. ANDERSON, AND F. A. P. PETITCOLAs. On the limits of steganography. IEEE Journal of Selected Areas in Communications 16,4 (May 1998),474-481.

    2. R. P. BOGERT, M., AND J. W. TUKEY. The quefrency alanysis of time series for echoes: Cepstrum, pseudo-autocovariance, cross-ceptsrum and saphe-cracking. In Proceedings of the Symposium on Time Series Analysis (Brown University, June 1962), pp. 209-243.

    3. R. PETROVIC, J. M. WINOGRAD, K., AND E. METOIS. Apparatus and method for encoding and decoding information in analog signals, Aug. 1999. US Patent No 05940135 http://www.delphion.com/details?pn=US05940135__.

    4. SECURE DIGITAL MUSIC INITIATIVE. Call for Proposals for Phase II Screening Technology, Version 1.0, Feb. 2000. http://www.sdmi.org/download/FRWG00022401-Ph2_CFPv 1.0.PDF.

    5. SECURE DIGITAL MUSIC INITIATIVE. SDMI public challenge, Sept. 2000. http://www.hacksdmi.org.

  10. Re:This isn't going to play well, but... on Interview With Eric Allman And Kirk McKusick · · Score: 1

    >Am I afraid of people with homosexual behaviors?
    >Hardly. Am I "afraid" of what homosexualbehavior does to people?
    This sounds like homophobia to me.
    Homosexual behaviour doesn't "do" anything to people. I happen to be gay and I view it as just another attribute, like having green eyes or black hair.
    There are lots of straight AND gay people that do lots of different things not because they are gay or straight but because that's the kind of person they are. Their sexual orientation has nothing to do with that behaviour.

  11. Re:Still free on Napster Going to Subscriptions · · Score: 1

    You mean like OpenNap and all the other servers out there that use the napster protocol? Napster was REed yonks ago, and the servers have been around a while to. for a list, check out Napigator

  12. Re:Banning of links?? on Emmanuel Goldstein Profiled · · Score: 1

    Links is another text browser that does frames and stuff :) Search freshmeat for it "Links"

  13. Re:A legal issue on Inside the CueCat Hardware · · Score: 1

    >What is going to happen if somebody creates a >mirror of these sites in a server operating >outside the jurorsdiction of a USA court
    You mean like this?

  14. Re:YOU just doesn't get it. on 2600's Response to the DeCSS Decision · · Score: 1

    I agree with the principle of "punish the crime, not the tool," but it's not that simple here. DVD-CCA developed CSS and licenses it, just like Microsoft developed Windows and licenses it to people. If you reverse engineer their tool and distribute the source code, you're violating their intellectual property

    So you're basically saying thatr WINE is violating
    Microsoft's "IP"?
    Im sorry, it's people like you that seem to think that you can crush the human spirit along with the very idea of curosity. Even if you dont mean it.
    The DVDCCA licenses CSS out to people, because it's a (or was) a trade secret. It's no longer secret, so now people can do whatever the hell they want to/with CSS without a license.
    No one broke any NDA's or anything like that, so the cat is out of the bag, and you can't stuff it back in.
    It's like saying I can't develop my own kind of tyre because I figured out how to put tyres on cars.

  15. Re:DeCSS Must Live On on 2600's Response to the DeCSS Decision · · Score: 1

    My mirror of DeCSS stuff Contains lots of various decss related stuff along with livid/decss + source/mirrors etcetc
    I happen to live in NZ, so none of this court crap affects me

  16. DeCSS source on DVD/DeCSS: MPAA Wins In New York · · Score: 1

    Well, all comments are owned by the poster right?
    So the MPAA can come after me, in good old NZ.

    I present to you css_descramble.c
    (The same file printed on the back of my now illeagl t-shirt) I'll make a note not to ever visit the good ole US of A

    /*
    * 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, 0x36,0x2b,0x6e,0x2e,0x66,0x7b,
    0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e, 0xd6,0x0b,0x4e,0x0e,0x46,0x9b,
    0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a, 0x52,0x8f,0xca,0x8a,0xc2,0x1f,
    0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98, 0xd0,0x01,0x48,0x08,0x40,0x91,
    0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c, 0x34,0x25,0x6c,0x2c,0x64,0x75,
    0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c, 0xd4,0x05,0x4c,0x0c,0x44,0x95,
    0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18, 0x50,0x81,0xc8,0x88,0xc0,0x11,
    0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a, 0xd2,0x0f,0x4a,0x0a,0x42,0x9f,
    0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e, 0x56,0x8b,0xce,0x8e,0xc6,0x1b,
    0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe, 0xb6,0xab,0xee,0xae,0xe6,0xfb,
    static byte lfsr1_bits0[256]=
    {
    0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08, 0x0b,0x0a,0x0d,0x0c,0x0f,0x0e,
    0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a, 0x19,0x18,0x1f,0x1e,0x1d,0x1c,
    0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c, 0x2f,0x2e,0x29,0x28,0x2b,0x2a,
    0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e, 0x3d,0x3c,0x3b,0x3a,0x39,0x38,
    0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41, 0x42,0x43,0x44,0x45,0x46,0x47,
    0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53, 0x50,0x51,0x56,0x57,0x54,0x55,
    0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65, 0x66,0x67,0x60,0x61,0x62,0x63,
    0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77, 0x74,0x75,0x72,0x73,0x70,0x71,
    0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a, 0x99,0x98,0x9f,0x9e,0x9d,0x9c,
    0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88, 0x8b,0x8a,0x8d,0x8c,0x8f,0x8e,
    0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe, 0xbd,0xbc,0xbb,0xba,0xb9,0xb8,

    0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac, 0xaf,0xae,0xa9,0xa8,0xab,0xaa,
    0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3, 0xd0,0xd1,0xd6,0xd7,0xd4,0xd5,

    0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1, 0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
    0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7, 0xf4,0xf5,0xf2,0xf3,0xf0,0xf1,
    0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5, 0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
    };

    static byte lfsr1_bits1[512]=
    {
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x2 4,0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff,
    0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff
    };

    /* 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,0x9 4,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;
    }

    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>>1 9);*/
    o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7);
    lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
    }
    }

  17. Re:The status of DeCSS in EU? on Civil Disobedience and DeCSS · · Score: 1

    Errr, there is auctally.
    LiViD is one such open source DVD player.
    css-auth (which authenticates with the drive) was auctally written by someone on the LiViD team and was used in DeCSS (which is GPLed thus).

    It does work, a few months ago I saw the Matrix played off DVD under Linux. So yes, it does work, and there is player (Which, I am in no doubt that if the MPAA wins will be delcared illegal, at least in the US.) Fortunatly, it is GPLed. They can't stop Open Source software, because it will simply be "smuggled" over borders, and the developers will still develop it.
    All it will mean is that you will have to get it from foriegn soil.

  18. Re:Money buys justice on Civil Disobedience and DeCSS · · Score: 1
    >Big money and big companies don't always win. >They will in this case in part because 2600 tried to disobey the court when they were asked to take >the DeCSS code down. They removed the code and then published a list of mirrors in an attempt to circumvent the court order. They lost a lot of >credibility with the court by doing that. Goldstein is somewhat lucky to have not done jail time for contempt Auctally, they started listing mirrors when they put up the DeCSS code. The court injunction only said to remove DeCSS itself. (It's in the transcripts people!) http://www.eff.org/IP/Video/MPAA_DVD_ca ses/

    Also, the MPAA tried to get the injunction modified so that anything that was "unauthorised" (such as LiViD) was also made illegal. I dont think has been granted, because they also wanted the injunction to including linking to the DeCSS bin/source. WHich is funny, because they'd have to shut down their own search engines ;) (Try "DeCSS" in Disney's/Go's search engine. Fun)

    Qoute: 1. For an Order, pursuant to Rule 65 of the Federal Rules of Civil Procedure, modifying this Court's preliminary injunction Order, dated January 20, 2000, by adding the following to the indicated paragraphs of said order:

    a) add to paragraph 2 the name of additional defendant 2600 Enterprises, Inc., and delete the names of defendants Shawn C. Reimerdes and Roman Kazan,

    b) add to paragraphs 2(a) and 2(b), after the words "posting on," the language "or linking to," and insert commas after the words "trafficking in,"

    c) revise paragraph 3(b) to read "'CSS' means the Contents Scramble System used to encrypt, scramble or otherwise protect the contents of certain DVDs from unauthorized access or copying,"

    d) revise paragraph 3(c) to read " 'DeCSS' means any computer program, file or device that may be used to decrypt or unscramble the contents of DVDs that are protected, or otherwise to circumvent the protection afforded, by CSS and that permits the unauthorized access or copying of the contents or any portion thereof,"

    e) add (d) to paragraph 3 as follows: "a 'hyperlink' means software instructions which, when executed, cause a signal to be sent to another location where data or material can be retrieved for viewing, copying or further transmission,"

    f) add (e) to paragraph 3 as follows: " 'linking' means provision by the defendants, at their respective websites, of hyperlinks to other websites which are offering to the public, providing, providing hyperlinks to, or otherwise trafficking in DeCSS or any technology, product, service, device, component, or part thereof described in paragraph 2(b),"

  19. Re:I don't know.... on Video Information From Disinformation · · Score: 3

    Auctally they did have dreams of a DVD player for Linux.
    The reason it was written as a windows executable was because linux didn't have UDF support at the time.
    If you want proof, read the court transcripts (and depositions) from the MPAAv2600.. Jon Johanson has testified himself.
    http://www.eff.org/IP/Video/MPAA_DVD_ca ses/

  20. Selling your soul to the devil? License it instead on Copyrant · · Score: 5

    I just thought of something, inspired by the devil incarinate himself. Since this seems to be the future of propietory software, I figure, why not instead of having to SELL my soul to the devil, I can (while retaining full copyright, trademark rights and everything other prexisting right over it) sell him a LICENSE for the use of my soul. Now, I leave the exact details of this license to the reader, but im sure you can all come up with some nifty EULA's (or DSULA (Devil Soul Usage License Agreements). Email me some ;)

  21. AmigaOS hosted ontop of Linux (RH) on New AmigaOS On Top Of Linux · · Score: 2

    Excuse me, but how do you run an OS ontop of another OS?
    Not counting things like VMWare, Plex86 and others, running an OS straight ontop of an other is impossible.
    Unless they mean compiling things and such?
    And no, using a "launcher" doesn't count either (Like the BeOS PE).
    It would have been nice if the author of the article that /. linked to had known what he was talking about, or even elaborated on just HOW they were going to run the next Workbench ontop of Red hat. (and why not just say Linux?)

  22. Re:Some differences BeOS for Linux / Windows on BeOS For Linux! · · Score: 1

    > 2. If you boot BeOS from an ext2 partition, BeOS will be
    > unable to use virtual memory. BeOS' VM works on FAT, not on
    > ext2
    *blinks*
    I assume you mean if you keep the BeOS image on an ext2fs partition?
    I don't think this is right, because both top and ProcessControler under BeOS show apps using virtual memory..

    Mem: 48.0/48 Mb (100.0%) Change: -5.2 kb/s Swap In: 5.2 kb/s, 90.7 Mb

    Im booting using the bootdisk, with the image in /beos/ on my ext2fs partition.

  23. Re:Facts about BeOS PE on BeOS For Linux! · · Score: 2

    Auctally, it says
    "Unfortunately, BeOS 5 Personal Edition, because of technical
    reasons, can only recognize one processor."
    Those technical reasons are the fact that your average joe will be using Windows 9x, and just running the bootstrap inside windows.
    Windows 9x does not support SMP, it disables any other CPU's.
    So in order to get SMP, you have to use the bootdisk.
    I beleive www.benews.com has something about it..
    ahhh, here..
    http://www.benews.com/story/2931.2.html

  24. Facts about BeOS PE on BeOS For Linux! · · Score: 5

    Ok, I keep seeing people post stuff that isn't true about the BeOS "Personal edition" so here are the _facts_
    BeOS 5 PE is NOT a trial version, crippled or an "evaluation".
    It is the entire OS, all of it.. just the same BeOS "Pro Version"
    It IS BeOS..
    Another thing.
    The title of the article is wrong.. The linux "version" just includes a readme, be partition image and a bootdisk image.
    Copy the image to /beos, use the boot disk and you're off.
    Im guessing it's just for users of OS's other then windows, since they wouldn't be able to run the installer exe that the windows "version" needs.
    Also, BeOS "PE" does support SMP, and various other things.
    You just have to use the bootdisk, instead of using the windows loader.
    (Windows 9x disables all the other CPU's)
    Also, you are NOT limited to just the BFS image partition.
    Once you have it running, you can use Installer to copy/install BeOS (your current setyp) to any other partition.
    So, make some free space, run BeOS from the image and install it there.

    Summary: BeOS 5 PE is the entire OS, it has no limitations.
    The only thing different between PE and the Pro version is what Be has told you. Realplayer, mp3 encoders (which you can download anyway) etcetc.
    Do not let anyone fool you, including Be.

  25. *.sevenval.com Fun with location posioning on Wildcard DNS, Session Management And Prior Art · · Score: 1

    Hmm, this isn't very useful, but amusing for the first few minutes.
    You can change the characters in that semingly random bunch of chars that they use, such as
    http://X199DAASOFTWARE84PATENTS71CBLOW3E.sevenva l.com/
    *grins*
    As long as it remains the same length, you can replace mostly of the garbage with words..
    Enjoy.