Giter Site home page Giter Site logo

ktekeli / audio-steganography-algorithms Goto Github PK

View Code? Open in Web Editor NEW
230.0 14.0 67.0 3.71 MB

A Library of Audio Steganography & Watermarking Algorithms

License: MIT License

MATLAB 67.06% C 32.94%
matlab audio steganography watermarking echo hiding time-spread lsb phase parity

audio-steganography-algorithms's Introduction

audio-steganography-algorithms

A comprehensive open source library of audio steganography and watermarking algorithms written in OCTAVE/Matlab.

About

Audio steganography is probably one of the most challenging areas. So, it is hard to find related sources for researchers. The main goal of this project was to provide basic audio steganography algorithms for everyone.

Our future scope is to publish a modular library containing existing methods, signal processing attacks and comparison metrics. We plan to add detailed and demystified documentation for each method containing mathematical background.

Repository will be updated in time, so please keep in touch.

For any questions please create an issue instead of sending an e-mail.

Algorithms

1. Spread Spectrum

  • Direct Sequence Spread Spectrum (DSSS) (open source)
  • Improved Spread Spectrum (ISS) (p-code)
  • Spread Spectrum using FFT (planned)
  • Spread Spectrum using DCT (planned)
  • Spread Spectrum using DWT (planned)

2. Echo Hiding

  • Echo Hiding - Single Echo Kernel (open source)
  • Echo Hiding - Negative and Positive Echo Kernels (p-code)
  • Echo Hiding - Backward and Forward Echo Kernels (p-code)
  • Echo Hiding - Mirrored Echo Kernels (p-code)
  • Echo Hiding - Time Spread Echo Kernel (p-code)

3. Least Significant Bit Coding

  • LSB Coding (open source)
  • LSB Coding in DWT Domain (planned)

4. Phase Coding

  • Phase Coding (open source)

5. Parity Coding

  • Parity Coding (planned)

6. Quantization Index Modulation

  • Quantization Index Modulation (planned)

Usage & More

  • All algorithms were built as functions so they can be called from outside. Parameters are explained briefly in the description of each function.

  • Example scripts "data_embedding.m" and "data_extracting.m" were added in each method for a quick trial.

  • Several existing encoders and decoders have been combined in "audioload.m" and "audiosave.m" in order to simplify type conversions (i.e. WAV, FLAC, MP3, AAC and OGG).

  • A mixer signal generator "mixer.m" has been implemented in order to smooth discontinuities between adjacent segments (i.e. for Echo Hiding and Spread Spectrum methods).

  • Critical information such as message length, frame size etc can be embedded within the data for blind steganography. See LSB Coding for an example.

  • Hidden data can be encrypted for the improved security. See LSB Coding for a basic encryption example using XOR.

Support

If you find this repository helpful, please star and fork it to support us. If you would like to be a part of this project, submit a pull request to contribute. We will be happy to discuss and exchange state-of-the-art ideas related to audio steganography.

Contribution

Contributions are always welcome! Please read the contribution guidelines first.

  1. Fork the repository.
  2. Apply your edits on your fork.
  3. If you are going to add a new method, please use same syntax and structure.
  4. Commit the changes to your forked repository.
  5. Submit a pull request adding details about your modification.

Thank you for your suggestions!

Author

License

MIT License (2016-2017)

audio-steganography-algorithms's People

Contributors

ktekeli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

audio-steganography-algorithms's Issues

Is this project made with linux support in mind?

When trying to run a script using octave, I get this error:

line 1: /mp3bin/mp3info.x86_64-pc-linux-gnu: No such file or directory

Those seem to be missing in all mp3bin directories.

Is this project supposed to be run on Windows or MacOS instead?

Is the computation in echo_enc_single.m right?

Hi! Thank you for your implementation which helps me a lot!
You use filter function to generate echo signal echo_zro and echo_one in echo_enc_single.m from line 43 to line 47.

k0 = [zeros(d0, 1); 1]*alpha;        %Echo kernel for bit0
k1 = [zeros(d1, 1); 1]*alpha;        %Echo kernel for bit1
echo_zro = filter(k0, 1, signal);    %Echo signal for bit0
echo_one = filter(k1, 1, signal);    %Echo signal for bit1

However, it seems more likely to be time spread method from Kadir's thesis in page 83.
The actual single kernel method's computation maybe should be:

echo_zro = [zeros(d0,s.ch);signal(1:end-d0,:)]*alpha;
echo_one = [zeros(d1,s.ch);signal(1:end-d1,:)]*alpha;

Is my understanding right?

Multiple track selection

I would like to know if it is possible to modify MATLAB code to perform processing of multiple audio files at once? At the moment I'm having trouble using ECHO hiding with single kernel to embed the same information for multiple tracks.

Contact

Hey Kadir!

I reached out via email. Would love to chat more about the contents of this repository.
In the case the email on your github profile is outdated, please send me an email - [email protected]

Best,

echo_dec

Hi, I'm Faruq, I just tried your code, the code really awesome, I want to ask, is it possible to use your code in the encrypted file such the enrypted file from docx file that I've encrypted first? I tried echo data hiding in single kernel btw.
Thank You

Attack Problem

The program works well! But I have a question to ask you, is if I want to join the common noise attack, this audio file will be damaged, can not recover, how to solve this ?Have a nice day!

Improved-Spread-Spectrum(iss_improve)

Hello Mr Tekeli, i was evaluating the improved Spread spectrum (2).Its really works well.Wanted to know the major difference between Spread spectrum 1 and 2 and also part of the code in improved Spread spectrum (2) ,iss_improve.p, which is obfuscated. Can i get the code for iss_improve.p ?

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.