Steganography is the practice of concealing a file, message, image, or video within
another file, message, image, or video. The word steganography combines
the Greek words steganos (στεγανός), meaning "covered, concealed, or protected",
and graphein (γράφειν) meaning "writing".
The first recorded use of the term was in 1499 by Johannes Trithemius in
his Steganographia, a treatise on cryptography and steganography, disguised as a book on
magic. Generally, the hidden messages appear to be (or to be part of) something else:
images, articles, shopping lists, or some other cover text. For example, the hidden message
may be in invisible ink between the visible lines of a private letter. Some implementations
of steganography that lack a shared secret are forms of security through obscurity, and key-
dependent steganographic schemes adhere to Kerckhoffs's principle.[1]
The advantage of steganography over cryptography alone is that the intended secret
message does not attract attention to itself as an object of scrutiny. Plainly visible encrypted
messages, no matter how unbreakable they are, arouse interest and may in themselves be
incriminating in countries in which encryption is illegal.[2]
Whereas cryptography is the practice of protecting the contents of a message alone,
steganography is concerned with concealing the fact that a secret message is being sent as
well as concealing the contents of the message.
Steganography includes the concealment of information within computer files. In digital
steganography, electronic communications may include steganographic coding inside of a
transport layer, such as a document file, image file, program or protocol. Media files are
ideal for steganographic transmission because of their large size. For example, a sender
might start with an innocuous image file and adjust the color of every hundredth pixel to
correspond to a letter in the alphabet. The change is so subtle that someone who is not
specifically looking for it is unlikely to notice the change.
https://en.wikipedia.org/wiki/Steganography
How Is Steganography Implemented?
There are several different techniques for concealing data inside of normal files. One of
the most widely used and perhaps simplest to understand is the least significant bit
technique, known commonly as LSB.
This technique changes the last few bits in a byte to encode a message, which is
especially useful in something like an image, where the red, green, and blue values of
each pixel are represented by eight bits (one byte) ranging from 0 to 255 in decimal or
00000000 to 11111111 in binary.
Changing the last two bits in a completely red pixel from 11111111 to 11111101 only
changes the red value from 255 to 253, which to the naked eye creates a nearly
imperceptible change in color but still allows us to encode data inside of the picture.
This diagram shows two 4-pixel images in both color and binary values. Each block of
binary represents the value of the corresponding pixel.
The least significant bit technique works well for media files, where slightly changing
byte values creates only slight imperceptible changes, but not so well for things like
ASCII text, where a single bit out of place will completely change the character. That's
not to mention the fact that data hidden using LSB steganography is also easy to detect
if someone is looking for it.
For this reason, there are a plethora of other steganography techniques out there, each
with their own benefits and drawbacks. Another far less detectable one is called the
discrete cosine transform coefficient technique (I know, it's a mouthful), which slightly
changes the weights (coefficients) of the cosine waves that are used to reconstruct a
JPEG image.
https://null-byte.wonderhowto.com/how-to/steganography-hide-secret-data-inside-image-
audio-file-seconds-0180936/