Stegnography Project Final Report
Stegnography Project Final Report
Project
Report on
Bachelor of Technology
in
Computer Science and Engineering
by
Mohd Faziel (2200970100107)
Certificate 1
Abstract 2
Chapter - 1 : Introduction 3
Problem statement
Chapter - 4 : Requirements 6
Requirements
Use-case Diagram
Chapter-5: GUI Design 8
CERTIFICATE
This is to certify that the project report entitled “ Steganography - Hide a Secret Text
Message in an Image” submitted by Mr. Mohd Faziel (2200970100107) to the Galgotias College
of Engineering & Technology, Greater Noida, Uttar Pradesh, affiliated to Dr. A.P.J. Abdul Kalam
Technical University Lucknow, Uttar Pradesh inpartial fulfillmentfor the award of
DegreeofBachelorofTechnology in Computer science & Engineering is a bonafide record of the mini
project work carried out by them under my supervision during the year 2023-24
SIGNATURE SIGNATURE
1.
Abstract
2.
Chapter - 1: Introduction
3.
Chapter - 2 : Problem Statement
4.
Chapter - 3 : Proposed work
7. **User Documentation:**
- Prepare comprehensive user documentation to guide users
through the application's features, ensuring a smooth and informed
user experience.
5.
.
Chapter - 4 : Requirements
6.
Use-case Diagram:
7.
Chapter - 5 : GUI Design
8.
Chapter - 6 : System Design
9.
Chapter - 7 : Testing
Test Step No. Description Input Expected Actual Status Requirement No.
Case No. Result Result (Passed/Failed)
1 1 …. …. …. …. …. ….
2 …. …. …. …. …. ….
2 1 …. …. …. …. …. ….
10.
Chapter - 8 : Source code and Limitations
Source Code:
# Imports all classes and functions from the tkinter module. The *
means everything will be imported.
#used for creating GUI
from tkinter import *
#Imports the Image and ImageTk classes from the Python Imaging
Library (PIL), which is used for working with images.
from PIL import Image, ImageTk
# Imports the least significant bit (LSB) method from the stegano
library for hiding and revealing information in images.
from stegano import lsb
#Defines a function save that saves the image with the hidden
message to a file named "encrypted.png".
# Shows an error if there is no image to save.
# Exception handling is included.
def save():
try:
if 'secret' in globals():
secret.save("encrypted.png")
messagebox.showinfo("Success", "Image saved
successfully.")
else:
messagebox.showerror("Error", "No image to save.")
except Exception as e:
messagebox.showerror("Error", f"An error occurred: {str(e)}")
13.
#This block creates the main window with specific characteristics(
title, geometry, and background color.)
root = Tk()
root.title("Steganography - Hide a Secret Text Message in an
Image")
root.geometry("700x500+150+180")
root.resizable(False, False)
root.configure(bg="#2f4155")
#Sets the window icon and loads a logo for the GUI.
image_icon = PhotoImage(file="logo.jpg")
root.iconphoto(False, image_icon)
logo = PhotoImage(file="logo.png")
#Creates and places labels with a logo and a title in the Tkinter
window.
Label(root, image=logo, bg="#2d4155").place(x=10, y=0)
Label(root, text="CYBER SCIENCE", bg="#2d4155",
fg="white", font="arial 25 bold").place(x=100, y=20)
#Creates a frame (f) and a label (lbl) within it, where the image will
be displayed.
f = Frame(root, bd=3, bg="black", width=340, height=280,
relief=GROOVE)
f.place(x=10, y=80)
lbl = Label(f, bg="black")
lbl.place(x=10, y=10) # Adjusted the placement of the label
#Buttons of frame3
# The first button ("Open Image") is associated with the showimage
function when clicked. It is positioned at (20, 30).
Button(frame3, text="Open Image", width=10, height=2, font="arial
14 bold", command=showimage).place(x=20, y=30)
# The second button ("Save Image") is similar to the first button but
is associated with the save function. It is positioned at (180, 30).
Button(frame3, text="Save Image", width=10, height=2, font="arial
14 bold", command=save).place(x=180, y=30)
# The label displays the text "Picture, Image, Photo File" with a
background color of #2f4115 and text color of yellow. It is
positioned at (20, 5).
Label(frame3, text="Picture, Image, Photo File", bg="#2d4155",
fg="yellow").place(x=20, y=5)
#Buttons of frame4
# The first button ("Hide Data") is associated with the Hide function
when clicked. It is positioned at (20, 30).
Button(frame4, text="Hide Data", width=10, height=2, font="arial 14
bold", command=Hide).place(x=20, y=30)
#The second button ("Show Data") is similar to the first button but
is associated with the Show function. It is positioned at (180, 30).
Button(frame4, text="Show Data", width=10, height=2, font="arial
14 bold", command=Show).place(x=180, y=30)
#The label displays the text "Picture, Image, Photo File" with a
background color of #2f4115 and text color of yellow. It is
positioned at (20, 5).
Label(frame4, text="Picture, Image, Photo File", bg="#2d4155",
fg="yellow").place(x=20, y=5)
#This starts the Tkinter event loop, allowing the GUI to interact with
the user.
root.mainloop()
16.
Limitations of the Project:
1. **Image Size Constraints:**
- The project may face limitations concerning the size of images suitable
for effective steganographic embedding. Large messages in small images
could potentially compromise the concealment process.
2. **Security Level:**
- While efforts are made to incorporate cryptographic techniques, the
project may not achieve the same level of security as more complex,
specialized encryption methods. Users should be aware of the application's
limitations in high-stakes security scenarios.
4. **User Awareness:**
- Users must be cautious about the ethical and legal implications of
steganography. The project's success relies on responsible use, and users
should be educated about potential misuse or unintended consequences.
5. **Platform Dependency:**
- The application's performance may vary across different operating
systems and environments, potentially leading to inconsistencies in user
experience.
17.
Future Work:
1. **Enhanced Security Measures:**
- Investigate and implement advanced cryptographic techniques to further
enhance the security of the hidden messages, ensuring resistance to
emerging threats and sophisticated attacks.
2. **Algorithm Optimization:**
- Explore and develop optimization strategies for steganographic
algorithms to improve efficiency and reduce the impact on image quality,
allowing for more seamless integration with a broader range of images.
3. **Multimedia Support:**
- Extend the application's capabilities to support hiding messages not only
in images but also in other multimedia formats, such as audio or video,
expanding the scope of secure communication.
4. **Cross-Platform Compatibility:**
- Optimize the application for cross-platform compatibility, ensuring
consistent performance and user experience across various operating
systems and devices.
6. **Educational Resources:**
- Develop educational resources within the application to inform users
about responsible steganography use, ethical considerations, and potential
legal implications.
By addressing these future work areas, the project can evolve to meet the
growing demands of secure communication, incorporating cutting-edge
technologies and refining user experiences for a more robust and versatile
steganographic application.
18.
Conclusion:
In conclusion, "Steganography: Hiding a Secret Text Message in an Image"
has successfully realized a user-friendly platform for secure communication.
The Tkinter-based application seamlessly conceals and extracts confidential
messages within images. While recognizing certain limitations, the project
sets the stage for future enhancements, including advanced cryptography
and multimedia support. Through an intuitive interface and responsible
technology use advocacy, the project stands as a robust solution, ready for
ongoing refinement and adaptation to evolving security demands.
19.
References:
20.