Article Preview
Buy Now
FEATURE
Hiding a Picture in a Picture (Part 1)
Exploring Steganography with Xojo
Issue: 20.4 (July/August 2022)
Author: Eugene Dakin
Author Bio: Eugene works as a Senior Oilfield Technical Specialist. He has university degrees in the disciplines of Engineering, Chemistry, Biology, Business, and a Ph.D. in Chemical Engineering. He is the author of dozens of books on Xojo available on the xdevlibrary.com website.
Article Description: No description available.
Article Length (in bytes): 29,150
Starting Page Number: 12
Article Number: 20402
Resource File(s):
project20402.zip Updated: 2022-06-30 18:36:13
Related Link(s): None
Excerpt of article text...
This article is part 1 of hiding a picture in another picture, known as digital image steganography. An example program has been created in native Xojo code to create the final hidden picture. This article and example explicitly works with LSB (Least Significant Bit) steganography.
Growing up in Canada, my friends and I would often hide messages on a paper by writing a boring letter in real ink, and then using lemon juice to write between the lines with the secret message (see Figure 1). If my letter to my friend was intercepted by unfriendly people, they would see the public (visible) message and not know there is a secret message. Figure 1 shows a bland letter that is uninteresting. But adding heat to the paper will show the secret message written between each line.
Steganography is similar: the ability to hide text, another image, or other data that is a secret into a picture that is not a secret. Steganography occurs in the world of spies, hackers, and activists.
One of many legal areas where steganography exists is when selling online pictures. Often a hidden watermark is added. If you download or attempt to copy a picture, there are deliberate hidden messages in the picture to record who downloaded the picture to track its use for protecting its copyright.
Using the Xojo programming language, we are able to hide the message without anyone knowing that a message is embedded. Our example uses an original PNG image. In the image, the lowest color bit will be changed to contain the information of the picture that is to be hidden. Modifying the LSB will have an almost unnoticeable change to the original image.
A simple example of this would be to take a large number such as 1,856,450. If we change the last two digits to have the final value of 1,856,497, the effect will be minimal. The original number is so large that slightly changing the last two digits has a negligible effect on the overall value.
...End of Excerpt. Please purchase the magazine to read the full article.