Package mixkey provides persistent mix keys and associated utilities.
- type MixKey
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.
func (k *MixKey) Deref()
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).
func (*MixKey) PrivateKey ¶
PrivateKey returns the private component of the key.
PublicKey returns the public component of the key.