Proposed solution: use a public key crypto signature instead. ed25519 might be a good choice, as the tro-utils are already using openssl`, and because the hashes are quite short.
The data creator keeps the private key, the same way (or instead of) the PGP key. The public key gets incorporated into the JSON-LD TRS description.
The consumer of the TRO can verify the checksums of the files that they have in front of them using the public key. And, if they do get access to the confidnetial file (audit/ access to the RDC, etc.), they can also verify the other files. And the use case of flagging files that have changed remains unchanged (since that only relies on comparison of checksums, not on computing checksums.
Creation component
Verification component
Proposed solution: use a public key crypto signature instead. ed25519 might be a good choice, as the
tro-utils are already usingopenssl`, and because the hashes are quite short.The data creator keeps the private key, the same way (or instead of) the PGP key. The public key gets incorporated into the JSON-LD TRS description.
The consumer of the TRO can verify the checksums of the files that they have in front of them using the public key. And, if they do get access to the confidnetial file (audit/ access to the RDC, etc.), they can also verify the other files. And the use case of flagging files that have changed remains unchanged (since that only relies on comparison of checksums, not on computing checksums.
Creation component
--private)--private, a path to a private key must be specified--private, output is generated that signals that hashes are not privacy-preservingVerification component