https://github.com/umitkrkmz/chaotic_audio_steganography
Official Python implementation of "Secure Audio Steganography using Vectorized LSB and Chaos-Based Encryption" (DOI: 10.64470/elene.2025.12).
https://github.com/umitkrkmz/chaotic_audio_steganography
audio-processing chaos-theory chaotic-maps cryptography image-encryption lsb-steganography pyside6 python research-paper steganography
Last synced: 5 months ago
JSON representation
Official Python implementation of "Secure Audio Steganography using Vectorized LSB and Chaos-Based Encryption" (DOI: 10.64470/elene.2025.12).
- Host: GitHub
- URL: https://github.com/umitkrkmz/chaotic_audio_steganography
- Owner: umitkrkmz
- License: mit
- Created: 2025-12-16T11:02:44.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-01-09T10:33:22.000Z (5 months ago)
- Last Synced: 2026-01-13T20:34:29.280Z (5 months ago)
- Topics: audio-processing, chaos-theory, chaotic-maps, cryptography, image-encryption, lsb-steganography, pyside6, python, research-paper, steganography
- Language: Python
- Homepage: https://doi.org/10.64470/elene.2025.12
- Size: 24.5 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌀 Chaotic Audio Steganography Tool
**Secure Audio Steganography using Vectorized LSB and Chaos-Based Encryption**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://doi.org/10.64470/elene.2025.12)
[](https://www.pyside.org/)
[](https://numpy.org/)
[](https://scipy.org/)
[](https://python-pillow.org/)
## 📖 Overview
This repository contains the official Python implementation of the hybrid security framework proposed in the paper:
**"Secure Audio Steganography using Vectorized LSB and Chaos-Based Encryption"**, published in *Electrical Engineering and Energy*, **Volume 4, Issue 3, pp. 68-86 (2025)**.
The project implements a hybrid security framework that combines **7 different chaotic maps** with **Least Significant Bit (LSB)** steganography. Unlike traditional loop-based methods, this tool utilizes **NumPy-based vectorization** to ensure high computational efficiency for embedding image or text data into `.wav` audio files.
> 🧠 **Author’s Note** > The complete software implementation, GUI, and experimental results were developed by **Zeynel Ümit Korkmaz** as part of his undergraduate senior project at Kırıkkale University.
> Co-authors contributed to manuscript preparation, translation, and academic supervision.
> This repository represents the open-source release of the codebase used in the published paper.
📸 Application Preview
Left: Setup Phase - Entering the secret key and selecting the Chaotic Map (e.g., Chua Circuit).
Right: Result Phase - The system generates a unique Composite Key (required for decryption) and saves the Stego Audio.
## 🚀 Features
| Feature | Description |
| :--- | :--- |
| **🌀 7 Chaotic Maps** | Logistic, Lorenz, PWLCM, Tent, Hénon, Chua, and Chebyshev maps are implemented. |
| **⚡ Vectorized LSB** | Embedding is performed using **NumPy matrix operations**, avoiding slow Python loops. |
| **🔑 Dynamic Keys** | Chaotic parameters (e.g., $r$, $x_0$) are derived deterministically from the user's key. |
| **🛡️ Enhanced Security** | Includes **transient (warm-up) periods** to discard initial predictable states. |
| **🎧 High Fidelity** | Achieves high imperceptibility (**PSNR > 100 dB**) with minimal distortion. |
| **🖥️ Modern GUI** | A user-friendly desktop interface built with **PySide6 / Qt**. |
## 🧰 Installation
**Requirements**
- Python ≥ 3.11
- Packages listed in `requirements.txt` (NumPy, SciPy, Pillow, PySide6, etc.)
**Setup**
```bash
# 1. Clone the repository
git clone https://github.com/umitkrkmz/Chaotic_Audio_Steganography.git
cd Chaotic_Audio_Steganography
# 2. Create a virtual environment (Recommended)
python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
```
## 🖥️ Usage
To launch the graphical user interface:
```bash
python main.py
```
**🔐 Encryption & Embedding**
1. **Select content:** Choose "Text" or "Image" and upload/enter your data.
2. **Cover Audio:** Upload a `.wav` file.
3. **Key & Algorithm:** Enter a secret key and choose one of the 7 chaotic maps.
4. **Process:** Click Encryption and save the resulting stego-audio file.
> **⚠️ Important:** The system generates a **composite key** at the end of the process (displayed in the GUI). You **must save this key**. It contains vital information (algorithm type, payload size, dimensions) required for decryption.
**🔓 Extraction & Decryption**
1. Switch to the **Decrypt** tab.
2. **Stego Audio:** Upload the audio file containing hidden data.
3. **Composite Key:** Paste the full key string generated during encryption.
4. **Process:** Click **Decrypt** to recover and save the original file.
## 🧪 Test Data
Sample images (`Baboon`, `Cameraman`, `Pepper`) and SQAM audio files used in the publication are included under the `tests/` directory. These files allow researchers to reproduce the experiments reported in the paper, including metrics such as PSNR, SSIM, and BER.
## 🧾 Citation
If you use this code or findings in your research, please cite:
> **Korkmaz, Z. Ü., Horasan, F., & Çetinkaya, Z. (2025).** Secure Audio Steganography Using Vectorized LSB and Chaos-Based Encryption. *Electrical Engineering and Energy*, 4(3), 68-86. https://doi.org/10.64470/elene.2025.12
**BibTeX:**
```bibtex
@article{korkmaz2025secure,
title={Secure Audio Steganography Using Vectorized LSB and Chaos-Based Encryption},
author={Korkmaz, Zeynel Ümit and Horasan, Fahrettin and Çetinkaya, Zeynep},
journal={Electrical Engineering and Energy},
volume={4},
number={3},
pages={68--86},
year={2025},
doi={10.64470/elene.2025.12},
url={https://doi.org/10.64470/elene.2025.12}
}
```
## 📄 License
- **Code:** [MIT License](LICENSE) © 2025 Zeynel Ümit Korkmaz
- **Article:** Published under Creative Commons Attribution 4.0 International (CC BY 4.0)
([10.64470/elene.2025.12](https://doi.org/10.64470/elene.2025.12))