图像隐写工具-适用于 Linux、MacOS 和 Windows 系统

admin 2023年5月29日00:09:51评论45 views字数 779阅读2分35秒阅读模式
图像隐写工具-适用于 Linux、MacOS 和 Windows 系统
图像隐写工具

简单的 C++加密和隐写术工具,使用密码保护加密来保护文件的内容,然后使用最低有效位编码将其嵌入到图像的像素数据中。适用于 Linux、MacOS 和 Windows 系统。

 

操作原理

编码

该程序首先通过从/dev/urandom读取二进制数据随机生成一个128 位密码盐和一个128 位 AES 初始化向量。然后,它通过在用户输入的字符串上使用PBKDF2-HMAC-SHA-256 ,将该密码盐用作生成加密密钥的参数。然后计算要嵌入的文件的CRC32散列值,并将其存储在标头中作为数据有效性的校验和。然后它使用PKCS #7算法填充要嵌入的文件的二进制数据,然后在CBC 模式下使用AES-256实际加密标头和填充数据,使用先前生成的初始化向量。现在数据实际上是通过首先选择一个随机偏移量在图像内部编码的,然后遍历每一位数据并将其存储在实际图像像素数据中,这是通过设置每个通道字节的最低有效位来实现的每个像素。

 

解码

解码过程与前面描述的编码过程完全相同,只是相反。唯一的区别是对于解码,在程序尝试提取和解密数据后,它会比较标头部分中的一些信息,以尝试验证提取过程。比较的头字段是:该程序自定义的 4 字节文件签名,以及 解密数据的CRC32散列。如果这些字段中的任何一个与其正确值不匹配,解密过程将失败。只有当您尝试解密的文件实际上不包含嵌入、您输入的密码错误或图像文件以某种方式损坏时,才会发生这种情况。

 

检测

虽然检测图像中嵌入的数据是一项微不足道的任务,但理论上没有办法知道是这个程序做的,理论上应该没有已知的方法在不知道密码的情况下解密数据,即无需在此过程中花费数百万年。

 

项目地址:https://github.com/7thSamurai/steganography

原文始发于微信公众号(Ots安全):图像隐写工具-适用于 Linux、MacOS 和 Windows 系统

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月29日00:09:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   图像隐写工具-适用于 Linux、MacOS 和 Windows 系统https://cn-sec.com/archives/1768952.html

发表评论

匿名网友 填写信息