Why doesn't steganography increase the size of an uncompressed image? So I have this question. I downloaded a .BMP off google due to .BMPs being not compressed. Just a 1024x768 .BMP image which its size os of 2.25Mb. I put the image in a steganography application.. inserted hidden text within it, encrypted and everything. How come the resulting image (Steganographied Image) is still 2.25Mb in size? Isn't it supposed to get bigger?
If you consider the mechanics of embedding the image in it's simplest form, then all you do is repurpose some of the existing bits.  The following is a Wikipedia extract from an article on steganography:-


  For example, a 24-bit bitmap uses 8 bits to represent each of the three color values (red, green, and blue) of each pixel. The blue alone has $2^8{}{}$ different levels of blue intensity. The difference between 11111111 and 11111110 in the value for blue intensity is likely to be undetectable by the human eye. Therefore, the least significant bit can be used more or less undetectably for something else other than color information. If that is repeated for the green and the red elements of each pixel as well, it is possible to encode one letter of ASCII text for every three pixels.


which kinda looks like this:-



except that your message is encrypted.  So the image remains exactly the same size. 

The issue facing you (and your software) is how many bits can you alter and remain unnoticed?  One certainly.  The above example uses two and the altered image looks similar.  Could you use three then?  Clearly seven bits would totally destroy the image and tip off the attackers. It's a balance between leveraging the unavoidable noise introduced by the image digitisation process, the artistic scene and how dangerously you like to live.

Generally the blue channel is the noisiest from a CMOS/CCD sensor point of view.  You might be able to inject additional bits into that channel without significant human detection.

Note: There are more advanced embedding methods that can alter the discrete cosine transform coefficients inside a JPEG file.  This allows JPEGs to hide messages that would otherwise be impossible in this lossy format. There's a pretty good summary of advanced methods within the introduction to Data hiding inside JPEG images with high resistance to steganalysis using a novel technique: DCT-M3.