DECISION: signature scheme questions blocking 1.0 #82
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Owner decisions required. Four signature questions from the README 1.0
roadmap, with empty answer slots. Like the format questions, these freeze at
1.0 — a signature scheme cannot be changed without breaking every already
signed manifest.
7. Does the outer SHA-256 cover compressed or uncompressed data? The
code currently hashes the compressed bytes, which is good — it lets a
verifier check integrity before spending resources decompressing, which
matters given the decompression bomb surface. But this is not documented
anywhere.
8. Should
signatureString()sign raw bytes instead of a hex string?The canonical string is currently
MAGIC-UUID-MULTIHASHwith hex encoding.Signing the raw sha256 bytes, or the compressed
innerMessagedirectly,removes a transformation layer.
9. Support detached
.mf.sigfiles? Embedded signatures are better forsingle-file distribution. Detached files follow the familiar
SHASUMS/SHASUMS.ascpattern the README explicitly sets out to replace.10. GPG subprocess or pure-Go crypto? Shelling out to
gpgis fragile:it may not be installed, output is version-dependent, and it currently hangs
without a deadline (#62). Alternatives are
github.com/ProtonMail/go-cryptofor pure-Go OpenPGP, or Ed25519/signify for something much simpler.
Definition of done
anything other than "keep the subprocess" — it is a large change.
docs/FORMAT.md: what is signed,in what encoding, how a verifier reconstructs it, and how the public key
is embedded and located. The current documentation is insufficient for
anyone to write a second interoperable implementation, which is the
project's stated goal.
Please answer and reassign to
clawbot.