如何使用隐写术在 Debian 上的图像中隐藏机密文件

有时我们必须隐藏我们的数据以保护它免受第三方访问系统的影响。 但是,实现此目的的一种方法是通过加密。 但是今天我们要讨论另一种方法,即隐写术,它可以隐藏秘密数据的存在以保持通信的私密性。

在隐写术中,机密数据被嵌入到一个伪装文件中,这样除了发送者和接收者之外,没有人可以怀疑其中存在机密信息。 如果您想在不影响安全性的情况下将机密数据发送给某人,这也很有用。 要隐藏机密数据的封面文件可以是文本、图片、音频或任何视频文件。

为什么是隐写术?

虽然隐写术不像加密那样安全,但它还有其他几个优点,例如没有人会注意到它,因为嵌入的文件看起来像一个普通文件。 另一方面,加密文件也会引起观众的好奇。

在本文中,我们将解释如何使用各种工具(包括命令行和 GUI)隐藏普通图像文件中的机密文件。

请注意,我们已经在 Debian 10 系统上完成了本文中提到的过程。

方法 1:通过 Steghide 实用程序(命令行)

Steghide 安装

首先,在您的操作系统中启动终端。 转到桌面左上角的“活动”选项卡。 然后通过在搜索栏中键入相关关键字来搜索终端应用程序。 从结果中,单击终端图标打开。

使用以下命令更新系统的存储库索引:

$ sudo apt update

然后使用 apt 命令安装 Steghide,如下所示:

$ sudo apt install steghide

系统可能会提示确认 是/否 选项,点击 是, 接着 Enter 确认。 之后,Steghide 将安装在您的系统上。

使用 Steghide 嵌入文件

要使用 Steghide 嵌入功能隐藏机密文件,您需要要隐藏的文件以及要隐藏数据的图像或音频文件。 它支持将文件嵌入到 WAV、JPEG、AU、BMP 格式中。

将文件嵌入 JPEG 格式的语法是:

$ steghide embed -ef <file-to-embed> -cf <image.jp>

在我们的示例中,名为“testfile”的文件位于 ~/Documents 目录中,我们希望将其嵌入到“sample.jpg”图像文件中。 So 将首先导航到 ~/Documents 目录,然后运行 ​​embed 命令。 或者,您也可以提及文件的完整路径,而不是导航到目录。

例子:

$ steghide embed –ef ~/Documents/testfile –cf sample.jpg

然后输入两次释义以嵌入文件。 当您需要提取或解密文件时,将使用此释义。 如果您不想为嵌入设置释义,只需点击 Enter 两次。 之后,您的文件将被嵌入。

现在我们只能保留图像文件“sample.jpg”,同时删除机密文件,即我们示例中的“testfile”。