A general theoretical answer to the title's What makes LSBit steganography detectable? is that in normal images, the LSBit of a pixel in some channel is correlated to higher-order bits in the same pixel and channel, that pixel in other channels, and adjacent pixels, in ways that mere replacement of LSBit tends to strongly alter.

One simple way to improve that is adding noise or blurr to a degree such that the LSBit is nearly indistinguishable from random, in which case it can then be replaced by something equally indistinguishable from random (as resulting from good encryption) with little chance of detection versus an equally noisy/blurry image. Next step is changing only few bits at locations dependent on a key (towards that goal it is necessary to have a small payload, as previously pointed), and have the other pixels randomly noisy according to a good model of the natural image.

From a practical standpoint, sending uncompressed 24-bit bitmap images somewhat is a red flag that basic stego is in use. That would be somewhat less apparent with an additional step of JPEG lossless compression, or PNG or GIF conversion (lossy compression would destroy the hidden message given the LSBit encoding used; more sophisticated stenographic schemes survive that). Notice that sending noisy/blurry images without lossy compression is a waste of bandwidth, and could also raise alarm.

I suggest two "easy to detect" tests, to be applied comparatively on your image with stego (after decompression if a lossless compression step is added), and normal images that could be allegedly sent, at least including the one you start from.


Show as an 8-color image the 3 LSBits of each pixel; that can be done by changing each byte x in each RGB plane to ~((x&amp;1)-1). It there something perceptibly remarkable for your image with stego? Update: a 64 or 512-color image using (x&lt;&lt;6)+32 or (x&lt;&lt;5)+16 might also be interesting. (note:  the three expressions are for C, and assume truncation to octet. ~((x&amp;1)-1) yields 0x00 if the low bit of x is clear, 0xFF otherwise).
Is the compression ratio of PNG markedly lower for your image with stego than for normal images?


Note that these tests can only demonstrate failure to be undetectable.

What makes LSBit steganography detectable? And what would help in concealing it?
In response to my previous question, I've been reading up a little bit on poly-D-lysine, Collagen I, Collagen IV, laminin, and other tissue culture coatings that promote cell adhesion. I've always assumed that anything other than standard TC-treated plastic or glass would significantly increase background, but perhaps my views on background fluorescence are a little outdated. Does anybody have experience with these in a fluorescent microscopy/high-throughput screening environment?

Specifically in my case, I'm looking at endocytosis and trafficking of a labeled protein into the lysosome. I'm labeling the protein with the pH-dependent dye pHrodoTM from Molecular Probes, which supposedly has very little fluorescence at neutral pH, but becomes very bright as the pH drops when endocytic vesicles become lysosomes. This theoretically means that a final wash step is not needed, but with a matrix coating on the plates I'm worried about background.

So, what is the current thinking as far as background fluorescence of the various TC matrices is concerned? Does the background come from the matrix itself, or by the fluorescent dye becoming adsorbed to it? Is it wavelength-dependent? Fortunately I may not be stuck with my poorly-adhering cells, and I may not need supplemental matrix at all in the end, but I still want a better understanding of how it works.
