対称暗号化を使用して暗号化されたファイルを作成しました。
gpg -c 50GBfile
今、オリジナルを削除したいのですが、オリジナルを削除する前に、暗号化されたファイルの整合性を確認したいと思います。(ZIP ファイルが CRC を使用する方法と同様) gpg は対称的に暗号化されたファイルの内容を検証する方法を提供していますか?
答え1
でファイルを暗号化した場合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-to
GPG 構成ファイル内で、すべての暗号化メッセージの受信者としてあなた自身の鍵を設定します。
答え2
gnupgにおける唯一の「検証」操作は署名検証である、これは基本的にハッシュ公開鍵(=署名)を使用して暗号化されたファイルの。
私の意見では、これは、ファイルの暗号化中に出力ビットが破損した場合、ハッシュは破損したファイル検証しても、このことは決して発見できません。サインすでに破損したファイルに署名したため、そのファイルの破損の原因となります。
暗号化されたファイルが破損していないことを確実に検証する唯一の方法は、生成されたファイルを復号化し、そのハッシュを元のファイルと比較するという長いプロセスを実行することであると思われます。
そしてこれはセペロが上で提案したことだが、「確認できました...」そのはず「のみ確認する方法..."
更新 - 要点を強調するために:
数分前に、私はまさにそれを実行しました。9.8 GB のバックアップ ファイルを 5 つの rar ピースに分割し、各ピースを gnupg で対称的に暗号化しました。rar ピースを削除する前に、上で説明したように、暗号化されたピースの整合性を検証しました。5 つのうち 1 つはハッシュ テストに合格しませんでした。そのピースを再度復号化したところ、復号化されたピースのハッシュは元の rar ピースと一致しました。
復号化された不良な RAR 部分と復号化された良好な部分のバイナリ比較を行ったところ、2 GB のファイルの唯一の違いは 1 バイト (C8 対 48) でした。これは 1 ビットの反転 (つまり 11001000 対 01001000) によって発生しています。
この話の教訓は、良質の WIN7 システムと良質の HDD 上で gnupg が復号化で少し反転できるのであれば、暗号化でも同じようにできるということです。私は二度とこの整合性検証手順を省略することはありません。
答え3
抽出して 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
答え4
整合性を検証したい場合は、サイン元のファイルも同様です。
gpg --encrypt --signファイル
最後に、ファイルを復号化して(署名に基づいて)整合性を検証できます(整合性は自動的にチェックされます)。
gpg --復号化ファイル.asc