
テキスト ドキュメントがあり、その内容全体を公開したくないのですが、後で独創性を主張するために、そのドキュメントに関する情報の一部を事前に公開したいと考えています。たとえば、テキスト ドキュメントが X である場合、任意の適切なハッシュ関数 h を使用して、h(X) を公開できます。後で、ドキュメント X を事前に所有していたと主張したい場合は、X 全体を公開するだけで済みます。
しかし、X を持っていることを証明するために X 全体を公開すると、X の内容全体も公開されます。そこで、X の実際の内容を明らかにせずに、ハッシュ値 h(X) と一致する X を持っていると主張できるように、「ハッシュ」h(X) と何らかのゼロ知識証明スキームを生成するユーティリティがあるかどうか疑問に思います。
つまり、基本的に、ゼロ知識証明用のコマンドライン ユーティリティ (たとえば、PGP) に類似したものが欲しいと思っています。そのための優れたユーティリティはあるでしょうか?
答え1
これを行う標準的な方法は、ファイルの SHA チェックサムを提供することだと思います。これは、あなたが考えているようなハッシュの種類ですが、PGP とはまったく関係ありません。
これらは NIST 標準なので信頼性があります。SHA1 は理論上ハッキングされる可能性があるため使用しないでください。SHA2 は問題ありません。
sha256sum は Linux のファイルからこのハッシュを作成できます。また、Windows には同じことを実行する PowerShell コマンド get-filehash があります。
追加の証拠として、代替ハッシュ (sha3 や md5 など - ただし、md5 だけでは強度が不十分であることに注意してください) を追加で提供することもできます。また、弁護士会のメンバーである弁護士には義務があるため、コピーを保管するように依頼することもできます。また、一部の国では JP が証明にも役立ちます。