Lyra Encryption
The Lyra uses what appears to be a 16-byte encryption key for the MP3 files downloaded to the player. As for the algorithm used to generate, find, or use the key remains somewhat of a mystery.
The first 32 bytes following the header of each MP3 frame (see here (under "sound and music") for an explaination of the MPEG audio header format) are encoded with a 16-byte encryption key. The key itself appears to be generated randomly, which can be tested by copying two of the same file to the Lyra, and observing that the encrypted portions are entirely different. I believe that the actual en/decryption key resides in bytes 11-26 of each MPX file. The reason that I believe that this is the key, or a pointer to it, is that if even a single bit of this byte sequence is changed, the entire file is unplayable. This key is tied to a specific CF card somehow, either with the serial number of the CF, the boot sector, or some other identifying feature, since files generated for one CF card are unplayable on another, so any (validatable) information to this regarding this effect is greatly appreciated.
So, in a nutshell, there appears to be an algorithm:
S a H b F (or some permutation thereof) where: S is the CF card serial number (or some other uniquely identifying key, like the boot sector information), H is the MPX file header (bytes 11-26), F is the unencrypted bytes and "a" and "b" being some operands associating them. Since I don't know much about cryptanalysis, any corrections would also be appreciated (esp. the notation, which I just made up here. :)
It appears that the only difference between and MP3 file and an MPX file is a 26 byte header at the beginning of the MPX file, the encryption of the first 32 bytes of each MP3 frame following each MP3 header in the MPX file, and the conversion of the MPEG Audio tag at the end of an MP3 file to the filename of the MPX File.
So my challenge to all of you that might be reading this is: whip out your hex editors and calculators and crack this algorithm. After we have the algorithm, and know the factors involved it should be a simple process to create and MPX<->MP3 converter, making the (Windows-only) RealJukebox software unnecessary, and eliminating the last major hurdle to making the Lyra Linux compatible.
All source code al source code and executables on this site are covered by the GPL unelss otherwise indicated.
Source and website (c) 2000-2005 Sean R. Wells
All trademarks are property of their respective owners