Steganography is the technique of hiding secretmessages/information within other non-secret data/information. Onepopular way of steganography is hiding text (plaintext) withinimages (cover text). Each image is a collection of pixels, whereeach pixel is typically represented by 3 values (RGB). Each of R,G, and B is a value between 0 and 255 and thus can be representedby 8 bits. The color of the pixel depends on these values. However,if the least significant bit (last bit from the right) is changedfor each of R, G, B then the resulting change in pixel color maynot be noticeable. Using this fact, we can convert a text messageto bits and embed them one by one in R, G, B values of the pixel.That is, each R, G, B value’s last bit actually carries one bit ofthe secret message. This is one way to create a covert (secret)channel to pass information. Upon receipt of the image, thereceiver can extract the last bit from each R, G, B and combinethem to reveal the secret message. In this assignment, we willfollow this simple version of LSB algorithm. The students arerequired to write a Java program that can embed and extract asimple text message into a chosen PNG image. The program shouldalso allow extraction of the message from the stegotext image. Inparticular, the program should do the following: 1. Prompts user toenter a choice of PNG image to hide a text message. 2. Prompts userto enter the text message that is to be hidden. 3. Create amodified image after hiding the text message (as explained above)and save the image as a new PNG picture. 4. Display the hiddenmessage when a PNG image is supplied. [For testing purpose, theuser may choose to use a different image file that already has amessage hidden into it following the above scheme.] [Hint: a sampleJava code (PixelData.java) is provided on BlazeVIEW to give an ideahow to get R, G, B values of a pixel in a PNG image. You can buildon that, but you need to explore BufferedImage class, Color class,ImageIO package in JavaFX, getRGB(), setRGB() methods etc.from JavaAPI.] [This program is simple in terms of coding complexity (use ofsimple loops and arrays), but the logic (design of the steps)should be carefully thought of. Also, it is important to use theJava API methods appropriately. ]