Documentation
¶
Index ¶
- Constants
- Variables
- type OnionSkin
- func (x *OnionSkin) Decode(b slice.Bytes, c *slice.Cursor) (e error)
- func (x *OnionSkin) Decrypt(prk *prv.Key, b slice.Bytes, c *slice.Cursor)
- func (x *OnionSkin) Encode(b slice.Bytes, c *slice.Cursor)
- func (x *OnionSkin) Inner() types.Onion
- func (x *OnionSkin) Insert(o types.Onion)
- func (x *OnionSkin) Len() int
- func (x *OnionSkin) String() string
Constants ¶
View Source
const ( MagicString = "os" Len = magicbytes.Len + nonce.IVLen + cloak.Len + pub.KeyLen )
Variables ¶
View Source
var (
Magic = slice.Bytes(MagicString)
)
Functions ¶
This section is empty.
Types ¶
type OnionSkin ¶
type OnionSkin struct { To *pub.Key From *prv.Key // The remainder here are for Decode. Nonce nonce.IV Cloak cloak.PubKey ToPriv *prv.Key FromPub *pub.Key // The following field is only populated in the outermost layer, and // passed in the `b slice.Bytes` parameter in both encode and decode, // this is created after first getting the Len of everything and // pre-allocating. slice.Bytes types.Onion }
OnionSkin message is the generic top level wrapper for an OnionSkin. All following messages are wrapped inside this. This type provides the encryption for each layer, and a header which a relay uses to determine what cipher to use. Everything in a message after this message is encrypted as specified.
Click to show internal directories.
Click to hide internal directories.