package crypto import "io" // KeyManager defines the contract for loading and generating recipient keys. type KeyManager interface { LoadPub( path string, schemeID uint16, ) ( RecipientPub, error, ) LoadPriv( path string, schemeID uint16, ) ( RecipientPriv, error, ) Generate( schemeID uint16, pubOut io.Writer, privOut io.Writer, rand io.Reader, ) error }