Giter Site home page Giter Site logo

steganography_wav's Introduction

Стеганография WAV

Версия 1.00

Автор: Смольянов Данил Леонидович

Описание

Данное приложение является утилитой, позволяющей шифровать и расшифровивать файлы с расширением .wav стеганографией типа LSB(Least Significant Bit), а также детектировать ее.

Требования

  • Python версии не ниже 3.4
  • Cryptography версии не ниже 2.4.1

Состав

  • Основной модуль: steg_wav.py
  • Паресер аргументов: argument_parser.py
  • Модули:
    • lsb_detector.py
    • operations_with_bytes_and_bits.py
    • operations_with_os.py
    • rle_modified.py
    • wav_parser.py
  • Тесты:
    • test_argparse.py
    • test_decoding.py
    • test_detector.py
    • test_encoding.py
    • test_operations_with_bytes.py
    • test_rle.py

Запуск

Пример запуска: ./python steg_wav.py -m encode_lsb -w input.wav -d data.png

При запуске активны следующие флаги:

  • -h, --help показывает помощь, подобную описанной здесь

  • -m METHOD, --method METHOD Метод, которым будет обработан данный wav файл

    • Список методов:

      • encode_lsb Шифрует данную информацию в заданном wav файле

      • decode_lsb Пытается расшифровать заданный wav файл

      • detect_lsb Детектирует стеганографию типа LSB в заданном wav файле

  • -d DATA, --data DATA Файл, который вы хотите зашифровать

  • -w WAV, --wav WAV wav файл, который вы хотите использовать

  • -cc CIPHER_CODE, --cipher_code CIPHER_CODE Файл с кодом шифра, который поможет расшифровать зашифрованный wav файл

  • -z, --zip Сжать файл

  • -e, --encrypt Зашифровать файл

Подробности реализации

  • В зависимости от от флага --method создается экземпляр одного из классов: EncoderLSB, DecoderLSB, LSBDetector, где и просиходит кодирование, декодирование или детектирование стеганографии
  • Сжатие происходит путем RLE кодирования
  • Для шифрования используется модуль cryptography
  • Используется стеганография типа LSB - Least Significant Bit, т.е. в младшие биты байтов записываются биты шифруемой информации

Тестирование

На данные модули написаны тесты, их можно найти в ./. Покрытие по строкам составляет около 92%:

Name                        Stmts   Miss  Cover
argument_parser.py                     36      7    81%
lsb_detector.py                        66      2    97%
operations_with_bytes_and_bits.py      25      0   100%
operations_with_os.py                  16      2    88%
rle_modified.py                        74      9    88%
steg_wav.py                           146     21    86%
test_argparse.py                       74      6    92%
test_decoding.py                       26      0   100%
test_detector.py                       17      0   100%
test_encoding.py                       34      0   100%
test_operations_with_bytes.py          34      0   100%
test_rle.py                            15      0   100%
wav_parser.py                          18      1    94%
-------------------------------------------------------
TOTAL                                 581     48    92%

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.