Package mixkey provides persistent mix keys and associated utilities.
const ( // TagLength is the replay tag length in bytes. TagLength = sha512.Size256 // KeyGlob is the pattern that matches the filenames for keys that have // been persisted to disk. KeyGlob = "mixkey-*.db" // KeyFmt is the format string corresponding to filenames for keys that // have been persisted to disk. KeyFmt = "mixkey-%d.db" )
MixKey is a Katzenpost server mix key.
New creates (or loads) a mix key in the provided data directory, for the given epoch.
Deref reduces the refcount by one, and closes the key if the refcount hits 0.
Epoch returns the Katzenpost epoch associated with the keypair.
IsReplay marks a given replay tag as seen, and returns true iff the tag has been seen previously (Test and Set).
PrivateKey returns the private component of the key.
PublicKey returns the public component of the key.
Ref increases the refcount by one.
SetUnlinkIfExpired sets if the key will be deleted when closed if it is expired.