隐写术-PNG文件隐写(一)

PNG隐写(一)

  • PNG文件格式
        • 1. PNG文件头标识
        • 2. IHDR(文件头)数据块
        • 3. PLTE(调色板)数据块
        • 4. IDAT(图像数据块)
        • 5. IEND(图像结束数据块)

PNG文件格式

PNG文件主要由一些数据块组成

png的主要数据块包括:
隐写术-PNG文件隐写(一)_第1张图片

1. PNG文件头标识

在这里插入图片描述
占8个字节 标识png文件
常为:89 50 4E 47 0D 0A 1A 0A

2. IHDR(文件头)数据块

IHDR文件头数据块主要包括4部分
·Length(长度) 4字节 指定数据块中数据域的长度,其长度不超过(231−1)(231−1)字节
·Chunk Type Code(数据块类型码) 4字节 数据块类型码由ASCII字母(A-Z和a-z)组成
·Chunk Data(数据块实际内容 可变长度 存储按照Chunk Type Code指定的数据
·CRC(循环冗余检测 4字节 存储用来检测是否有错误的循环冗余码

2.1 IHDR数据块长度 占4个字节
在这里插入图片描述00 00 00 0D 说明IHDR数据块的长度为 13

2.2 IHDR数据块类型 占4个字节 是一串ASIIC码
在这里插入图片描述
2.3 IHDR数据块数据 占13个字节
在这里插入图片描述
4字节 00 00 03 33 表示图像的宽,819像素
4字节 00 00 02 09 表示图像的高,521像素
1字节 08 表示色深,为2^8=256位,表示一个真彩色图像
1字节 02 表示颜色类型
1字节 00 表示使用算法
1字节 00 滤波器方法
1字节 00 表示图像的扫描方式

2.4 IHDR数据块的CRC校验码 占4个字节
在这里插入图片描述

3. PLTE(调色板)数据块

调色板实际上是一个彩色索引表,其表项数目可以是1至256中的一个数,每个表项有3字节,因此调色板数据块所包含的最大字节数为768。
不同的图片PLTE值不尽相同。

4. IDAT(图像数据块)

存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。这个数据块存储的就是图像的表现形式。

5. IEND(图像结束数据块)

IEND数据块的长度总是 00 00 00 00
IEND数据块类型总是 49 45 4E 44
IEND数据块CRC校验值总是 AE 42 60 82
所以png图像最后总是固定的00 00 00 00 49 45 4E 44 AE 42 60 82这12个字节
大部分图片查看软件会忽略在IEND之后的数据,在IEND块之后添加其他内容便成为了一种简单的图片隐写方法。

你可能感兴趣的:(隐写术,安全)