Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Steganography Password Manager

Project Description

This Python project is part of the coursework for the BTS Cybersecurity program at Lycee Guillaume Kroll. It demonstrates a steganographic approach to securely manage passwords by embedding and retrieving them from image files. The project combines two important concepts:

  • Steganography: Hiding information within images.
  • Encryption: Protecting sensitive data using cryptographic techniques.

Users can securely store passwords by encrypting them and embedding the encrypted data within images. The project also supports retrieving and decrypting the hidden passwords.

Features

  • Encryption and Decryption: Uses AES-based symmetric encryption (via the cryptography library) to securely encode passwords.
  • Steganography: Hides encrypted passwords within image files using the least significant bit (LSB) method.
  • Password Management:
    • Add Password: Encrypts a password and embeds it into an image.
    • Retrieve Password: Extracts and decrypts a password hidden in an image.
  • Key Management:
    • Generates and securely stores an encryption key for encrypting and decrypting passwords.

Prerequisites and Installation

  • Python 3.7+
  • Clone the repository to your machine
  • Install dependencies trough requirements.txt
pip install -r ./requirements.txt
  • Run the StegaPW
streamlit run .\Home.py
  • To stop the streamlit, head to terminal
Ctrl + C 

How It Works

Encryption:

  • The user provides a password, which is encrypted using a symmetric key generated by the Fernet module from the cryptography library.
  • The encrypted password is converted to a Base64 string for compatibility with the steganography process.

Steganography:

  • The Base64 string is embedded into the least significant bits of an image's pixels.
  • A delimiter (|||END|||) is appended to the data to indicate the end of the hidden message.

Decryption:

  • The hidden data is extracted from the image and converted back into its binary format.
  • The binary data is decrypted using the same symmetric key to retrieve the original password.

Limitations

  • The size of the hidden data must not exceed the capacity of the image (based on pixel count).
  • Altering the output image (e.g., compression or resizing) may corrupt the hidden data.

Use Cases

  • Secure Storage: Store sensitive passwords within image files.
  • Cybersecurity Learning: Explore practical applications of cryptography and steganography.

About

  • Author: Liam Wolff
  • Institution: Lycee Guillaume Kroll
  • Course: BTS Cybersecurity
  • Purpose: Python project demonstrating secure password management with steganography.

About

Steganography Password Manager

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages