当前位置: 首页>>技术教程>>正文


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

, , ,

Ubuntu Steganography

有时,我们需要对系统上的高度机密数据进行加密,以使使用该系统的其他人都无法说出我们已经隐藏了任何信息。一种方法是将文件和秘密消息隐藏在其他现有文件(例如图像和音频)中。当您想要通过网络传送私人消息或通过文件发送文件给另一个人而又不影响其安全性时,这也非常有用。您可以简单地嵌入机密数据以及密码或密码,以便只有受信任的人才能打开该文件。您将一个文件安全地隐藏到另一个文件中的这种加密类型称为隐写术

为什么要进行隐写术?

隐秘术比密码术更受青睐,因为在以后,对手会知道文本或文件中隐藏了某些东西。他们甚至可以通过付出一些辛苦的工作来破解代码并获得信息。但是,在隐写术中,第三人甚至都不会意识到看似无害的图像或音频文件带有秘密消息或嵌入其中的文件这一事实。

在本文中,我们将讨论三种通过Ubuntu UI和命令行将机密文件加密为图像的方法。

我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。由于我们使用的是Ubuntu命令行Terminal应用程序,因此要安装三个隐写实用程序;您可以通过系统Dash或Ctrl + Alt + T捷径。

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

Steghide是一个命令行实用程序,可让您在各种图像和音频文件中隐藏机密数据。

Steghide安装

为了安装此工具的最新版本,请打开Ubuntu终端,然后通过以下命令以sudo的形式更新存储库索引:

$ sudo apt update

Update package lists

现在,通过以下命令安装steghide实用程序:

$ sudo apt-get install steghide

Install steghide

系统将提示您选择是/否选项,以确认是否要继续安装。请输入Y,然后按Enter键继续,此后软件将成功安装在您的系统上。

使用steghide进行文件加密

为了加密机密文件,您需要具有要加密的文件以及要将其隐藏的图像或音频文件。Steghide支持加密为AU,BMP,JPEG和WAV文件类型。

您可以使用以下语法将文件嵌入JPEG文件:

$Steghide嵌入-ef secretfile.txt -cf image.jpg

我们假设需要将文件从当前文件夹加密到当前文件夹。如果初始机密文件位于系统上的其他位置,则需要提供其完整路径。同样,如果图像文件位于其他位置,则需要通过此命令指定其完整路径。

例:

$ steghide embed -ef examplefile.txt -cf sample.jpg

系统将要求您提供嵌入机密文件所需的密码。在提取或解密文件时,需要提供此密码短语。您需要输入两次该密码,也可以只按Enter键即可加密而不使用密码。

Hide file with steghide

在此示例中,我们将文本文件嵌入到JPEG文件中。加密完成后,您可以删除您的初始机密文件,而仅保留以后将用于解密的映像文件。

文件提取

为了将原始机密文件从嵌入其中的图像文件中提取出来,请使用以下语法:

$Steghide提取–科幻image.jpg

例:

$ steghide extract -sf sample.jpg

Decrypt file with steghide

系统将要求您提供密码短语;一旦您提供了正确的密码短语,您的机密文件将从图像文件中提取。

删除/卸载

每当您要从系统中卸载Steghide工具时,只需以sudo输入以下命令:

$ sudo apt-get remove steghide

方法2:通过Outguess实用程序(命令行)

Outguess还是命令行隐写实用程序,可将隐藏信息插入数据源的冗余位。该程序依赖于特定于数据的处理程序,该处理程序将提取冗余位并在修改后将其写回。它目前支持的文件格式包括JPEG,PPM和PNM,尽管它可以使用任何类型的数据,只要提供了处理程序即可。

外出安装

为了安装此工具的最新版本,请打开Ubuntu终端,然后通过以下命令以sudo的形式更新存储库索引:

$ sudo apt update

现在,通过以下命令安装Outguess实用程序:

$ sudo apt-get install outguess

Install outguess

系统将提示您选择是/否选项,以确认是否要继续安装。请输入Y,然后按Enter键继续,此后软件将成功安装在您的系统上。

文件加密

为了加密机密文件,需要具有要加密的文件和要将其隐藏的图像文件。

您可以使用以下语法将文件嵌入JPEG文件:

$ outguess -d examplefile.txt image.jpg image-output.jpg

“image-output.jpg”文件是将机密文件嵌入其中的文件。

如果要指定一个秘密密钥,将在嵌入文件后解压缩该文件时使用,请使用以下语法:

$ outguess -k “secret key” -d examplefile.txt image.jpg image-output.jpg

我们假设需要将文件从当前文件夹加密到当前文件夹。如果初始机密文件位于系统上的其他位置,则需要提供其完整路径。同样,如果图像文件位于其他位置,则需要通过此命令指定其完整路径。

例:

$ outguess -k "secret key" -d examplefile.txt sample.jpg sample-output.jpg

Hide file in photo with outguess

在我们的示例中,输出jpg文件将被写入当前文件夹中。加密完成后,您可以删除您的初始机密文件,而仅保留以后将用于解密的输出图像文件。

文件提取

为了将原始机密文件从嵌入其中的输出图像文件中提取出来,请使用以下语法:

$ outguess -r image-output.jpg secret.txt(未提供密钥时)

$ outguess -k “secret key” -r image-output.jpg secret.txt(在加密过程中指定了秘密密钥时)

例:

$ outguess -k “secret key”-r sample-output.jpg examplefile.txt

Extract file from photo with outguess

提取后,Outguess工具还将验证统计信息,以确保原始文件与加密之前的文件完全相同。

删除/卸载

每当您要从系统中卸载Outguess工具时,只需输入以下命令作为sudo:

$ sudo apt-get remove outguess

方法3:通过隐身套件工具(UI)

Stegosuite是用Java编写的图形,免费和开源隐写工具。您可以轻松地使用它来隐藏图像中的机密文件。您可以通过Ubuntu Software Manager或命令行安装此工具。它支持将多个文件和文本消息隐藏到BMP,GIF和JPG图像文件中。

隐身套装

为了通过命令行安装此工具的最新版本,请打开Ubuntu终端,然后通过以下命令以sudo的形式更新存储库索引:

$ sudo apt update

现在,通过以下命令安装Stegosuite实用程序:

$ sudo apt-get install stegosuite

Install Stegosuite

系统将提示您选择是/否选项,以确认是否要继续安装。请输入Y,然后按Enter键继续,此后软件将成功安装在您的系统上。

推出Stegosuite

您可以通过命令行启动UI工具,如下所示:

$ stegosuite

Launch Stegosuite

您也可以通过Ubuntu界面通过Dash搜索它来启动它,或者直接从Applications列表中访问它:

Launch Stegosuite from desktop

Stegosuite实用程序将在以下视图中打开:

Stegosuite UI

文件加密

为了使用机密文件加密图像文件,首先,您需要通过“文件”菜单加载图像文件。

Load image file

从文件浏览器中选择BMP,GIF,JPG或PNG格式的文件,然后单击确定按钮。图像文件将被加载到Stegosuite主窗口中。

您可以通过此窗口执行以下三个任务:

  • 输入秘密消息以及您要嵌入的文件。
  • Right-click,然后在“embedded files”区域中添加一个机密文件。
  • 输入一个密码,稍后在从图像中提取嵌入文件时将使用该密码和一条秘密消息。

Enter secret message or embed file

执行完这些步骤后,单击“嵌入”按钮,将在系统上创建一个名称为“filename_embed”的新图像文件。由于此名称包含单词“embed”,因此您可以将此文件名更改为其他名称,以使其更加机密。如果需要,还可以从系统中删除原始机密文件。

文件提取

在此示例中,我的机密文件被嵌入到名为“sample_embed.jpg”的新jpg文件中,但出于隐私目的,后来我将其名称更改为“example.jpg”。为了从嵌入的图像文件中提取原始机密文件,您可以从文件浏览器中right-click图像文件,然后从菜单中选择“使用其他应用程序打开”,然后从“选择应用程序”列表中选择Stegosuite,如下所示:

Extract file with Stegosuite

或者,您可以打开Stegosuite应用程序,然后从“文件”菜单中加载嵌入式图像文件。加载文件后,只需提供密码并单击“提取”按钮,然后,原始机密文件将被提取回您的系统。

Enter password for extraction

删除/卸载

每当您想从系统中卸载Stegosuite实用程序时,都可以通过Ubuntu软件管理器或仅在终端中以sudo的形式输入以下命令来进行卸载:

$ sudo apt-get remove stegosuite

结论

通过本文,您学习了Linux中的隐写术技术,该技术用于将机密文件和消息隐藏或嵌入到图像和音频文件中。如果您更喜欢UI,或者即使您是Terminal-savvy的人,也可以从本文介绍的工具中选择一种工具,并且skill-fully将您系统上的所有机密信息文件隐藏为看似无关的图像文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8873.html,未经允许,请勿转载。