GPG対称暗号化ファイルを確認するにはどうすればよいですか?


6

対称暗号化を使用して暗号化ファイルを作成しました。

gpg -c 50GBfile

今、私はオリジナルを削除したい。元のファイルを削除する前に、暗号化されたファイルの整合性を確認します。(ZIPファイルがCRCを使用する方法に似ています)。gpgは、対称的に暗号化されたファイルの内容を検証する方法を提供しますか?

回答:


4

を使用してファイルを暗号化した場合gpg -c、パスフレーズを知らずにファイルの内容を確認する方法はありません。これは対称暗号化のコアプロパティです。とにかくパスフレーズを提供する必要があるため、実際のテストを実行します。ファイルを解凍し、元のファイルと比較します。Linuxまたは他のUNIXバリアントの場合:

gpg -d <50GBfile.gpg | cmp - 50GBfile

整合性をさらに保証したい場合は、ファイルを-s暗号化するときにオプションを追加することにより、秘密鍵でファイルに署名できます。

gpg -c -s 50GBfile

次に、で署名を確認できますgpg --verify 50GBfile.gpg。これは、ファイルが署名したファイルの1つであることを保証するだけであり、間違ったファイルに署名したというミスから保護するわけではないことに注意してください。

非対称暗号化を使用した場合(受信者の公開キー-自分の公開キー)、ファイルに目的のコンテンツがあることを確認するには、受信者の秘密キーが必要です。複数の受信者がいる場合、任意の受信者の秘密鍵でできます。通常、暗号化されたすべてのメッセージの受信者として、GPG構成ファイルを使用して、encrypt-toまたはhidden-encrypt-toGPG構成ファイルに独自のキーを配置します。


4

gnupgでの唯一の「検証」操作は署名の検証です。これは基本的に、公開鍵(=署名)で暗号化されたファイルのハッシュを暗号化します。

私の意見では、これは、ファイルの暗号化中に出力ビットが破損した場合、破損したファイルに対してハッシュが計算されることを意味します。既に破損したファイルに署名したため、そのファイルの署名を確認しても、これを発見することはありません。

暗号化されたファイルの破損を確実に検証する唯一の方法は、生成されたファイルを復号化し、そのハッシュを元のファイルと比較するという長いプロセスを経ることです。

そして、これはSeperoは、上記に提供するものであるが、代わりに「あなたは確認することができ...」それがあるべきのみを検証する方法...」

更新-ポイントをホームに移動するには:

数分前、私はちょうどそれをしました:9.8GBのバックアップファイルを5つのrarピースに分割し、各ピースをgnupgで対称的に暗号化しました。rarピースを削除する前に、上で説明したように、暗号化されたピースの整合性を検証しました。5つのうち1つがハッシュテストに合格しませんでした。私はそのピースを再度解読しましたが、今度は解読されたピースのハッシュは元のrarピースと一致しました。

私はバイナリで不正な復号化されたrar部分と良好な復号化されたrar部分を比較しましたが、これらの2GBファイルの唯一の違いは1バイトでした。

物語の教訓は、優れたWIN7システムと優れたHDDで、gnupgが復号化でビットを反転できる場合、暗号化でもそれを行うことができるということです。この整合性検証手順を再度スキップすることはありません。


1

md5sumを抽出し、元のファイルと比較することで確認できます。

$ gpg -d 50GBfile | md5sum
gpg: AES256 encrypted data
gpg: gpg-agent is not available in this session
gpg: encrypted with 1 passphrase
1df1aaffb20c5255e282d6f584489993  -
$ md5sum 50GBfile
1df1aaffb20c5255e282d6f584489993  50GBfile

0

整合性を検証する場合は、元のファイルにも署名する必要があります。

gpg --encrypt --sign ファイル

最後に、ファイルを復号化することにより(署名に基づいて)整合性を検証できます(整合性は自動的にチェックされます)

gpg --decrypt file.asc


これは、ファイルがこのキーで署名されたものであることのみを検証します。間違ったファイルを誤って暗号化したことを防ぐことはできません。
ジル14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.