Coder Social home page Coder Social logo

steganography's Introduction

About

This code was written for a project titled "Applying Steganography to Digital Media".

Setup

In Matlab, do: File -> Set Path... -> Add With Subfolders... -> Browse for root directory of this repo -> OK

Steganography

This project contains implementations of 6 distinct steganography algorithms in Matlab, a simple interface for applying steganography to images, and a couple of processing methods for increasing robustness of the algorithms. For each algorithm, there is an example application both images and videos. The following files are all located in the /steganography folder:

Algorithm Image Example Video Example
LSB steganography_image_lsb.m steganography_video.m
DCT steganography_image_dct.m steganography_video.m
ZK steganography_image_zk.m steganography_video.m
WDCT steganography_image_wdct.m steganography_video.m
Fusion steganography_image_fusion.m steganography_video.m
Egypt steganography_image_egypt.m steganography_video.m

After running any of the above files, statistics about the algorithm performance are displayed. They are generated by steganography_statistics.m, which contains many customisable options.

A basic spellchecker, written in Python, is also included. It can optionally be applied through modifying steganography_statistics.m.

Hamming codes can also be applied. They can be enabled in the DCT or Egypt algorithms through modifiying their use_hamming parameter.

Interface

Within the /interface folder exists ImageInterface.m. This is a simple Matlab interface that allows performing steganography of text into images using all of the above algorithms.

It is intended only for demonstration purposes. Much more customisation of the algorithms is possible through performing steganography directly through Matlab code.

Input, Output and Results

The /input folder contains potential carrier images, such as the infamous lena.jpg.

The /output folder is where the steganography algorithms output their stego-images when they are run for 1 iteration.

The /results folder is where the steganography algorithms output their stego-images and a CSV of results when they are run for multiple iterations.

The number of iterations is set by modifying the iteration_total parameter at the top of each steganography example file.

  • Set iteration_total to 1 to run one test, which outputs to /output
  • Set iteration_total to 101 to run 101 tests, in which JPEG quality from 100% to 0% is tested, and results are outputted to /results

Other Parameters

Each algorithm can be switched between greyscale and colour, through changing use_greyscale. If using colour, the specific colour channel can be set with channel.

Code

This project is about 98% written in Matlab, with 2% Python. If Python is not installed the Matlab code will still run succesfully, but the Spellchecker will not function, and message_similarity_py will return NaN.

steganography's People

Contributors

samhooke avatar

Watchers

James Cloos avatar Julian Lugod avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.