Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControlCipher ¶
type ControlCipher interface { // MACSize returns the number of bytes in the MAC. MACSize() int // Seal replaces the message with an authenticated and encrypted version. // The trailing MACSize bytes of the data are used for the MAC; they are // discarded and overwritten. Seal(data []byte) error // Open authenticates and decrypts a box produced by Seal. The trailing // MACSize bytes are not changed. Returns true on success. Open(data []byte) bool // Encrypt encrypts the data in place. No MAC is added. Encrypt(data []byte) // Decrypt decrypts the data in place. No MAC is verified. Decrypt(data []byte) // ChannelBinding Returns a byte slice that is unique for the the // particular cipher (and the parties between which it is operating). // Having both parties assert out of the band that they are indeed // participating in a connection with that channel binding value is // sufficient to authenticate the data received through the cipher. ChannelBinding() []byte }
ControlCipher provides the ciphers and MAC for control channel encryption. Encryption and decryption are performed in place.
func NewControlCipherRPC11 ¶
func NewControlCipherRPC11(myPublicKey, myPrivateKey, theirPublicKey *BoxKey) ControlCipher
NewControlCipher returns a ControlCipher for RPC versions greater than or equal to 11.
func NewDisabledControlCipher ¶
func NewDisabledControlCipher(c ControlCipher) ControlCipher
NewDisabledControlCipher returns a cipher that has the correct MACSize, but encryption and decryption are disabled.
type NullControlCipher ¶
type NullControlCipher struct{}
NullControlCipher is a cipher that does nothing.
func (NullControlCipher) ChannelBinding ¶
func (NullControlCipher) ChannelBinding() []byte
func (NullControlCipher) Decrypt ¶
func (NullControlCipher) Decrypt(data []byte)
func (NullControlCipher) Encrypt ¶
func (NullControlCipher) Encrypt(data []byte)
func (NullControlCipher) MACSize ¶
func (NullControlCipher) MACSize() int
func (NullControlCipher) Open ¶
func (NullControlCipher) Open(data []byte) bool
func (NullControlCipher) Seal ¶
func (NullControlCipher) Seal(data []byte) error
Click to show internal directories.
Click to hide internal directories.