Skip to content

Marqlo-C/Secret_Message_Encoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secret Message Project

About

This project is a final assignment for ECS 132: Probability and Statistical Modeling for Computer Science. It demonstrates an algorithm for working with hidden messages, likely involving steganography or cryptography, using principles of statistical analysis.

The project explores how secret information can be embedded in traffic timing and then analyzed through simulation and probability-based reasoning. The notebook contains the main write-up, experiments, and figures, while the Python script in the project files folder provides a simpler command-line simulation of the core buffer behavior.

How to Run

The main code is in the ECS132_Project_Spring_2025.ipynb notebook. To run this project, you will need a Python environment with Jupyter Notebook and other relevant scientific computing libraries installed.

If you want to work from the notebook, open it in Jupyter or VS Code and run the cells from top to bottom. If you want a quick terminal-based test of the simulation logic, you can run Project FIles/real_implementation_code.py with Python and provide the requested values for distribution, secret message length, and initial buffer size.

Recommended Python packages include:

  • numpy
  • matplotlib
  • pandas
  • jupyter

Depending on your environment, you may already have most of these installed. The notebook may require additional scientific libraries if you want to reproduce every plot exactly as shown.

Project Overview

At a high level, the project models a sender and receiver system where hidden bits are represented through timing choices. The simulation studies how likely the system is to succeed without buffer underflow or overflow under different inter-packet delay distributions.

The main ideas covered in the project are:

  • comparing uniform and exponential inter-packet delay models
  • simulating secret-message transmission through packet timing
  • measuring overflow, underflow, and successful transmission probabilities
  • visualizing results with figures and notebook-based analysis

Data Files

The repository includes several data sources in the Data directory and project-specific files in Project FIles.

  • Data/lm_synthetic_data.txt: synthetic language-model-style data used in the project
  • Data/Old_Faithful.txt: reference dataset included for analysis or comparison
  • Data/Traffic_data_orig.csv: traffic-related source data
  • Data/urea-serum-data.txt: additional dataset used in the assignment
  • Project FIles/Covert_Traffic_Data.csv: covert traffic data used by the project
  • Project FIles/Covert_Traffic_Data-V2.csv: alternate or updated covert traffic dataset
  • Project FIles/secret_message_bits: stored secret-message bit sequence used by the notebook

Output Files

The Figures directory is intended for plots and generated visuals created during the notebook workflow. The image files in the project files folder appear to be example outputs or saved figures from the analysis.

Repository Structure

  • /Data: Contains the datasets used for analysis and message embedding.
  • /Figures: Includes charts, plots, and other visualizations generated by the notebook.
  • /Project FIles: Contains supplementary files and resources for the project.

Notes

  • The folder name Project FIles uses a space and unusual capitalization, so be careful when referencing paths from the terminal.
  • The notebook has not been executed in the current workspace state, so you may need to rerun cells to regenerate outputs.
  • If you add new experiments, consider saving any new plots into Figures and documenting them here.

About

Secret Message Project explores how hidden messages can be embedded in traffic timing and analyzed through simulation, probability, and buffer dynamics. The project compares delay distributions, measures overflow and underflow risk, and visualizes the behavior of covert transmission systems in a Jupyter notebook and supporting Python script.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors