Question: Steganography in Bitmap Files ( Python Programming ) 1 . Objective The objective of this project is to develop a program that applies steganography to

Steganography in Bitmap Files (Python Programming)
1. Objective
The objective of this project is to develop a program that applies steganography to image files. Students will have the option to use either JPEG or bitmap (BMP) files for their steganography project. The goal is to embed secret messages within images and retrieve these messages, providing a practical application of steganographic techniques.
2. Scope
Students are required to:
- Develop a program that embeds a text message into an image file and extracts the message from the image.
- Ensure minimal visual alteration of the image due to message embedding.
- Handle various message lengths and image sizes efficiently.
Students have the option to choose between JPEG and BMP files for their project:
- JPEG Files: Higher complexity due to lossy compression. Max 100 points out of 100 points.
- Bitmap (BMP) Files: Simpler implementation with uncompressed data. Max 95 points out of 100 points.
3. Deliverables
Students must submit the following:
1. Source Code: Complete code for both the message embedding and extraction programs.
2. Documentation: A 1-page report written in 11-point Times New Roman style, including:
- Description of the steganographic technique used.
- Explanation of the embedding and extraction processes.
- Instructions for running the programs.
3. Sample Files: Images with embedded messages and the corresponding extracted messages.
4. Requirements
- Programming Language: Any programming language of choice, with clear instructions provided for compiling and running the code.
- Libraries/Tools: Any image manipulation libraries or tools may be used, with documentation on their usage and dependencies.
- Techniques: Use least-significant-bit (LSB) or a similar technique for message embedding.
- Error Handling: Graceful handling of potential errors, such as invalid image files or excessively long messages.
5. Inputs and Outputs
Input Guidelines:
- Embed Message Program:
- Command: embed_message
- Inputs:
- : Path to the input image file (e.g.,`input.jpg` or `input.bmp`). The file size must not exceed 5 MB.
- : Path to save the image file with the embedded message (e.g.,`output.jpg` or output.bmp).
- : Text message to be embedded in the image.
- Character Set: ASCII characters only.
- Length Limit: The message length must not exceed 256 characters.
- Encoding: Messages should be encoded in standard ASCII (7-bit), avoiding special or non-printable characters.
- Extract Message Program:
- Command: `extract_message `
- Input:
-``: Path to the image file containing the embedded message (e.g.,`output.jpg` or `output.bmp`). The file size must not exceed 5 MB.
Output Guidelines:
- Embed Message Program:
- Console Output: Confirmation of successful embedding or an error message if the process fails.
- File Output: An image file with the embedded message.
- Extract Message Program:
- Console Output: Extracted message (in ASCII format) or an error message if the extraction fails.
6. How-To Section
How to Embed a Message:
1. Open a terminal or command prompt.
2. Navigate to the directory containing the `embed_message` program.
3. Run the command in the format:
embed_message
4. Verify the output image file to ensure the message has been embedded.
How to Extract a Message:
1. Open a terminal or command prompt.
2. Navigate to the directory containing the `extract_message` program.
3. Run the command in the format:
extract_message
4. Review the console output to see the extracted message.
7 Additional Details
Steganographic Technique Details:
- Technique: Use the Least Significant Bit (LSB) method or a similar technique for embedding the message.
- Overview: LSB involves altering the least significant bits of pixel values or DCT coefficients to encode the message without significantly changing the images appearance.
- Advantages: Simple to implement and generally preserves image quality.
- Limitations: Limited capacity for large messages; may be detectable with certain analysis techniques.
Image Constraints:
- JPEG Dimensions: Recommended range for width and height is between 256x256 and 2048x2048 pixels.
- JPEG Color Depth: JPEG images should be 24-bit color depth (8 bits per channel for RGB).
- BMP Dimensions: No specific limits, but ensure image size remains manageable for processing.
- BMP Color Depth: BMP images typically use 24-bit color depth.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!