解密 GnuPG 加密的文件

解密 GnuPG 加密的文件

我有一些 RNA-seq 文件需要解密。

例如

1672_WTSI-OESO_005_w3.tar.gz.gpg

可能我在同一文件夹中有该密钥

1672_WTSI-OESO_005_w3.gpgkey

我也有一个文件名

1672_WTSI-OESO_005_w3.md5

里面我有

884f9fa72fb7f6adbba95dc677eb0ec9  1672_WTSI-OESO_005_w3.tar.gz.gpg

编辑

    [fi1d18@cyan01 fereshteh]$ gpg --decrypt --passphrase-file=1672_WTSI-OESO_036_a_RNA.gpgkey --output - 1672_WTSI-OESO_036_a_RNA.tar.gz.gpg | tar -xvzf -
gpg: CAST5 encrypted data
can't connect to `/home/fi1d18/.gnupg/S.gpg-agent': No such file or directory
gpg: encrypted with 1 passphrase
1672_WTSI-OESO_036_a_RNA/
1672_WTSI-OESO_036_a_RNA/mapped_sample/
1672_WTSI-OESO_036_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_a_RNA.dupmarked.bam.bai
1672_WTSI-OESO_036_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_a_RNA.dupmarked.bam
gpg: WARNING: message was not integrity protected

gzip: stdin: invalid compressed data--crc error

gzip: stdin: invalid compressed data--length error
tar: Skipping to next header
tar: Child returned status 1
tar: Error is not recoverable: exiting now
[fi1d18@cyan01 fereshteh]$

答案1

根据您显示的 GnuPG 输出,该文件是使用 CAST5 算法加密的文件。这是一个对称的加密算法,这意味着您应该能够使用该.gpgkey文件中的密码来gpg --decrypt解密它(无需将其导入到您的密钥环中;它不是那种密钥)。

要解密文件并将解密的数据直接传递给tar解包,您可以使用

gpg --decrypt --passphrase-file=1672_WTSI-OESO_005_w3.gpgkey --output - 1672_WTSI-OESO_005_w3.tar.gz.gpg |
tar -xvzf -

这将从提供​​的文件中读取密钥,使用该密钥解密消息,并将数据传递到tar.

如果该文件1672_WTSI-OESO_005_w3.gpgkey无法解密消息,则您必须与向您提供加密文件的人联系,并向他们询问如何解密该文件的说明。

.md5文件用于确保.gpg文件包含正确的数据。您可以使用它来验证数据,如下所示:

md5sum -c 1672_WTSI-OESO_005_w3.md5

如果这没有给出输出

1672_WTSI-OESO_005_w3.tar.gz.gpg: OK

那么该文件不知何故已损坏,您需要从任何地方获取该文件的新副本。如果显示FAILED,则gpgtar将无法解密和解包数据。


更新的问题(现已删除)末尾显示的错误是Cannot write: Disk quota exceeded。这意味着从存档中提取的文件太大,无法容纳分配给您帐户的空间。

要解决此问题,请删除或压缩不再需要的文件,直到有足够的空间来提取存档,或者与系统管理员交谈并让他们为您的帐户分配更多磁盘空间。

答案2

该文件未使用公钥加密,无论如何您都需要私钥才能解密。所以导入密钥对你没有帮助。

它使用密码 (gpg -c ..) 加密,希望密码位于 gpgkey 文件中。

尝试:

hexdump -C 1672_WTSI-OESO_005_w3.gpgkey

您应该在输出中看到(仅)可打印字符。如果是,则使用密钥解密:

gpg -d 1672_WTSI-OESO_005_w3.tar.gz.gpg < 1672_WTSI-OESO_005_w3.gpgkey > 1672_WTSI-OESO_005_w3.tar.gz

这应该创建文件“1672_WTSI-OESO_005_w3.tar.gz”。

相关内容