Documentation
¶
Index ¶
- Variables
- func DeriveKey(password string) []byte
- func DeriveKeyArgon2(password string, salt []byte) []byte
- func FromTrix(data []byte, password string) (*datanode.DataNode, error)
- func FromTrixChaCha(data []byte, password string) (*datanode.DataNode, error)
- func ToTrix(dn *datanode.DataNode, password string) ([]byte, error)
- func ToTrixChaCha(dn *datanode.DataNode, password string) ([]byte, error)
- type Argon2Params
Constants ¶
This section is empty.
Variables ¶
var ( ErrPasswordRequired = errors.New("password is required for encryption") ErrDecryptionFailed = errors.New("decryption failed (wrong password?)") )
Functions ¶
func DeriveKey ¶ added in v0.0.2
DeriveKey derives a 32-byte key from a password using SHA-256. This is used for ChaCha20-Poly1305 encryption which requires a 32-byte key. Deprecated: Use DeriveKeyArgon2 for new code; this remains for backward compatibility.
func DeriveKeyArgon2 ¶ added in v0.3.0
DeriveKeyArgon2 derives a 32-byte key from a password and salt using Argon2id with DefaultArgon2Params. This is the recommended key derivation for new code.
func FromTrixChaCha ¶ added in v0.0.2
FromTrixChaCha decrypts a ChaCha-encrypted Trix byte slice back to a DataNode.
Types ¶
type Argon2Params ¶ added in v0.3.0
Argon2Params holds the tunable parameters for Argon2id key derivation.
func DecodeArgon2Params ¶ added in v0.3.0
func DecodeArgon2Params(data []byte) Argon2Params
DecodeArgon2Params reads 12 bytes (3 x uint32 little-endian) into Argon2Params.
func DefaultArgon2Params ¶ added in v0.3.0
func DefaultArgon2Params() Argon2Params
DefaultArgon2Params returns sensible default parameters for Argon2id.
func (Argon2Params) Encode ¶ added in v0.3.0
func (p Argon2Params) Encode() []byte
Encode serialises the Argon2Params as 12 bytes (3 x uint32 little-endian).