> So using the parity bits, there is no loss in quality and
> compression size?
> (I probably missed it on the web pages).
The size remains the same. For the quality: I could not make much
difference. The software is available on my webpage so you can judge by
yourself... maybe I should put a sample ;-)
I'm not sure what you mean by `parity bits'. I change the end-loop condition
of the inner loop such that the parity of part2_3length at the end of the
loop is specified by the bit to be hidden. Namely: (part2_3_length % 2) ==
bit_to_be_hidden.
I had tried another experiment before using the same idea (parity) but on
the global_gain: modify the loop such that the global_gain has the parity I
decide. Since this was done during the compression process this did not
affect the quality of the output. I thought that an attacker would not be
able to delete this hidden information simply by changing the least
significant bit of the global_gain directly into the MP3 bit stream, say.
Indeed according to Annex E of the standard changing bits of the global_gain
has `dramatic' effects. But this is not really the case for the least
significant bits. So this attack is feasible.
Now with the new technique an `active warden' has really to
uncompress/compress to get rid of the information at the expense of CPU time
and quality loss.
Currently I'm looking for bits I could modify directly into the MP3 bit
stream, rather than modifying the compression process -- this would avoid
the patent problem on MP3. Any idea?
Fabien.