Giter VIP home page Giter VIP logo

file_with_steganography's Introduction

File_with_steganography

一个将文件隐写在视频中的工具

目前相关协议和基础编解码器都已经完成了,但是视频会被有损压缩导致无法正常编解码

可能需要设计更加鲁棒性的编解码器,暂且搁置吧

进度

  • 文件、视频多线程读取写入迭代器
  • 帧载波编码算法
  • 数据帧格式
  • 解决视频有损压缩问题

隐写算法

F5算法:是一种基于LSB替换的隐写算法。F5算法能够保持在JPEG压缩下的隐写鲁棒性。

Spread Spectrum Watermarking(SSW)算法:是一种使用扩频技术实现的数字水印算法,通过将水印信息分散到频域上,使得在JPEG压缩下仍能保持较好的鲁棒性。

QIM算法:是一种在DCT领域下的隐写算法,能够保持在JPEG压缩下的鲁棒性。

HILL算法:是一种使用直方图平移技术实现的隐写算法,其主要特点是在JPEG压缩下具有较好的隐写鲁棒性。

HUGO算法:是一种将秘密信息嵌入到图像的高斯金字塔中,具有较好的鲁棒性和隐蔽性。

量化矩阵隐写算法:是一种在JPEG压缩下具有较好鲁棒性的隐写算法,其主要**是将秘密信息嵌入到量化矩阵中。

以上都没有实现,未来可期

LSB隐写算法

以kernel大小作为一个单位,为了保证低位均匀分布,所以[0,4]表示0,[5,9]表示1

为了对抗压缩算法,使用kernel均值作为最终数据,但是其实没用

数据编码格式

数据组成:

每个Header帧实际占用3帧存储,数目不定;数据帧在Header帧后面,每个数据帧实际占用2帧存储。

Header帧与数据帧之间可以存在若干个空载帧,用于填充空白。

Header帧数据格式:

所有的Header都必须通过默认编码器进行编码

  • HEADER_MAGIC(64位)
  • 第i页与当前页 (32位/32位)
  • 构造类参数与信息(16位长度前缀)
  • 版本信息(16位长度前缀)
  • 数据哈希值(32位)

数据帧数据格式:

  • CONTENT_MAGIC(64位)
  • 第i页与当前页(32位/32位)
  • 数据(32位长度前缀)
  • 数据哈希值(32x8=256位)

空载帧数据格式:

  • EMPTY_MAGIC
  • 全0

各个MAGIC长度均为8字节

file_with_steganography's People

Contributors

staskaer avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

zy2646569192

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.