Lazy loaded image
图片信息隐藏
Words 1737Read Time 5 min
2025-9-2
type
Page
status
Published
date
Aug 22, 2025
slug
picture-tieba
summary
tags
category
icon
password

在这里学习关于信息隐藏的内容-图片的信息隐藏

密码
隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让出预期的接收者之外的任何人知晓信息的传递事件或者内容。隐写术的英文为steganography,来源于特里特米乌斯的一本讲述密码学与隐写术的著作Steganographia,这个书名源于希腊语,意为“隐秘书写”
notion image
 

图片混淆

图片混淆技术是一种通过打乱像素排列顺序,使得图片内容无法被直接识别的加密方法。这种技术通常用于保护隐私或在网络上传输敏感图像。方块混淆、行像素混淆、像素混淆,以及兼容PicEncrypt的两种模式,都是通过不同的算法来实现像素的重新排列。

1. 方块混淆 (Block Confusion)

原理: 方块混淆是一种基于块的置乱算法。它将原始图片分割成若干个大小相同的矩形块,然后将这些块作为一个整体进行位置上的随机调换,但块内的像素相对位置保持不变。
算法步骤:
  1. 分块: 将整个图片划分成n个大小相同的子块。
  1. 生成置乱序列: 根据密钥生成一个长度为n的随机序列,该序列中的每个数字唯一对应一个子块的索引。
  1. 块对换: 按照随机序列的顺序,将原始图片中的子块重新排列,生成一张新的混淆图片。
特点: 经过方块混淆处理后,图片的宏观结构被完全打乱,但局部特征(即每个小方块内的图像)仍然清晰可见。如果方块尺寸较大,混淆后的图片会呈现出明显的“马赛克”或“拼图”效果。

2. 行像素混淆 (Row Pixels Confusion)

原理: 行像素混淆是一种在一维上对像素进行置乱的算法。它保持了每行像素的独立性,仅在每一行内部对像素进行水平方向的随机重排。
算法步骤:
  1. 逐行处理: 依次读取图片的每一行像素数据。
  1. 生成置乱序列: 对于每一行,根据密钥生成一个与该行像素数量相同的随机序列。
  1. 行内重排: 根据生成的随机序列,对当前行内的所有像素进行水平位置的重新排列。
  1. 组合成图: 将所有经过行内重排的像素行重新组合,生成最终的混淆图片。
特点: 由于只在水平方向上打乱了像素,行像素混淆后的图片会呈现出明显的垂直条纹或拉伸效果。图像的垂直方向上的内容关联性被保留了下来。

3. 像素混淆 (Pixels Confusion)

原理: 像素混淆是最彻底的一种全局置乱方式。它将整个图片的所有像素视为一个一维序列,然后对这个序列进行完全随机的重排。
算法步骤:
  1. 像素序列化: 将二维的图片像素数据按从左到右、从上到下的顺序转换成一个一维的像素序列。
  1. 生成置乱序列: 根据密钥生成一个与图片总像素数量相同的随机置乱序列。
  1. 全局重排: 依据该随机序列,将一维像素序列中的每一个像素点重新放置到新的位置。
  1. 重构图片: 将重排后的一维像素序列重新构建成二维的图片。
特点: 经过像素混淆处理后,原始图片的任何结构和内容都将变得无法辨认,整张图片呈现出类似噪点的随机分布状态,提供了较高的混淆度。

4. 兼容PicEncrypt: 行模式 (Row Mode)

原理: 这种模式是PicEncrypt工具中使用的一种基于混沌系统(特别是逻辑斯蒂映射,Logistic Map)的行置乱算法。它通过一个初始密钥(一个0到1之间的小数)生成一个混沌序列,然后利用这个序列的排序来决定每一行像素的置乱顺序。
算法步骤:
  1. 生成混沌序列: 使用一个初始密钥(如0.123)和逻辑斯蒂映射方程(x_n+1 = r * x_n * (1 - x_n),其中r通常取接近4的值以保证混沌状态)迭代生成一个长度等于图片宽度的伪随机序列。
  1. 获取排序索引: 对生成的混沌序列进行排序,并记录下每个元素在排序前和排序后的位置对应关系,从而得到一个置乱的索引序列。
  1. 逐行置乱: 对图片的每一行,都按照这个相同的置乱索引序列来重新排列像素。
特点: 与普通的行像素混淆类似,这种模式也只在水平方向上打乱像素,因此会产生垂直条纹。由于使用了混沌序列,其随机性更好,安全性也相对更高。解密时必须使用完全相同的初始密钥。

5. 兼容PicEncrypt: 行+列模式 (Row + Column Mode)

原理: 这是PicEncrypt中混淆程度更高的一种模式。它在行模式的基础上,增加了一次列方向的像素置乱,从而实现了二维的像素重排。
算法步骤:
  1. 行置乱: 首先,按照上述“兼容PicEncrypt: 行模式”的方法对图片的每一行像素进行置乱。
  1. 生成列置乱序列: 使用相同的或另一个由密钥派生出的混沌序列(长度等于图片高度),通过排序得到一个列方向的置乱索引序列。
  1. 列置乱: 对经过行置乱的图片,按照列置乱索引序列对每一列像素进行垂直方向的重排。
特点: 由于同时进行了行和列的置乱,其效果类似于全局的“像素混淆”,能够将图片内容彻底打乱,呈现出随机噪点的外观。这种二维的置乱方式比单一的行模式或列模式具有更高的安全性和混淆度。
 
/
 
上一篇
下一篇
绑定成功测试

Comments
Loading...