package ratchet
import "go.mau.fi/libsignal/groups/ratchet"
Package ratchet provides the methods necessary to establish a ratchet session for group messaging.
Index ¶
- Constants
- type SenderChainKey
- func NewSenderChainKey(iteration uint32, chainKey []byte) *SenderChainKey
- func NewSenderChainKeyFromStruct(structure *SenderChainKeyStructure) *SenderChainKey
- func (k *SenderChainKey) Iteration() uint32
- func (k *SenderChainKey) Next() *SenderChainKey
- func (k *SenderChainKey) Seed() []byte
- func (k *SenderChainKey) SenderMessageKey() (*SenderMessageKey, error)
- type SenderChainKeyStructure
- type SenderMessageKey
- func NewSenderMessageKey(iteration uint32, seed []byte) (*SenderMessageKey, error)
- func NewSenderMessageKeyFromStruct(structure *SenderMessageKeyStructure) *SenderMessageKey
- func (k *SenderMessageKey) CipherKey() []byte
- func (k *SenderMessageKey) Iteration() uint32
- func (k *SenderMessageKey) Iv() []byte
- func (k *SenderMessageKey) Seed() []byte
- type SenderMessageKeyStructure
Constants ¶
const KdfInfo string = "WhisperGroup"
KdfInfo is optional bytes to include in deriving secrets with KDF.
Types ¶
type SenderChainKey ¶
type SenderChainKey struct {
// contains filtered or unexported fields
}
func NewSenderChainKey ¶
func NewSenderChainKey(iteration uint32, chainKey []byte) *SenderChainKey
NewSenderChainKey will return a new SenderChainKey.
func NewSenderChainKeyFromStruct ¶
func NewSenderChainKeyFromStruct(structure *SenderChainKeyStructure) *SenderChainKey
NewSenderChainKeyFromStruct will return a new chain key object from the given serializeable structure.
func (*SenderChainKey) Iteration ¶
func (k *SenderChainKey) Iteration() uint32
func (*SenderChainKey) Next ¶
func (k *SenderChainKey) Next() *SenderChainKey
func (*SenderChainKey) Seed ¶
func (k *SenderChainKey) Seed() []byte
func (*SenderChainKey) SenderMessageKey ¶
func (k *SenderChainKey) SenderMessageKey() (*SenderMessageKey, error)
type SenderChainKeyStructure ¶
SenderChainKeyStructure is a serializeable structure of SenderChainKeys.
func NewStructFromSenderChainKey ¶
func NewStructFromSenderChainKey(key *SenderChainKey) *SenderChainKeyStructure
NewStructFromSenderChainKeys returns a serializeable structure of chain keys.
type SenderMessageKey ¶
type SenderMessageKey struct {
// contains filtered or unexported fields
}
SenderMessageKey is a structure for sender message keys used in group messaging.
func NewSenderMessageKey ¶
func NewSenderMessageKey(iteration uint32, seed []byte) (*SenderMessageKey, error)
NewSenderMessageKey will return a new sender message key using the given iteration and seed.
func NewSenderMessageKeyFromStruct ¶
func NewSenderMessageKeyFromStruct(structure *SenderMessageKeyStructure) *SenderMessageKey
NewSenderMessageKeyFromStruct will return a new message key object from the given serializeable structure.
func (*SenderMessageKey) CipherKey ¶
func (k *SenderMessageKey) CipherKey() []byte
CipherKey will return the key in bytes.
func (*SenderMessageKey) Iteration ¶
func (k *SenderMessageKey) Iteration() uint32
Iteration will return the sender message key's iteration.
func (*SenderMessageKey) Iv ¶
func (k *SenderMessageKey) Iv() []byte
Iv will return the sender message key's initialization vector.
func (*SenderMessageKey) Seed ¶
func (k *SenderMessageKey) Seed() []byte
Seed will return the sender message key's seed.
type SenderMessageKeyStructure ¶
SenderMessageKeyStructure is a serializeable structure of SenderMessageKeys.
func NewStructFromSenderMessageKey ¶
func NewStructFromSenderMessageKey(key *SenderMessageKey) *SenderMessageKeyStructure
NewStructFromSenderMessageKey returns a serializeable structure of message keys.
Source Files ¶
Doc.go SenderChainKey.go SenderMessageKey.go
- Version
- v0.1.2 (latest)
- Published
- Feb 12, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 1 week ago –
Tools for package owners.