security

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2025 License: GPL-2.0, GPL-3.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertToSHA256

func ConvertToSHA256(string []byte) []byte

func EncryptAES

func EncryptAES(plainData, password []byte) ([]byte, error)

func GenerateKeyFromSeed

func GenerateKeyFromSeed(seed []byte) (ed25519.PrivateKey, error)

func GetCodebaseHash added in v0.2.485

func GetCodebaseHash(codebase FileSystem) ([]byte, error)

func ResolveChallenge added in v0.2.476

func ResolveChallenge(codebase FileSystem, location SampleLocation, nonce int64) ([]byte, error)

Types

type DiffieHellmanEncrypter

type DiffieHellmanEncrypter struct {
	// contains filtered or unexported fields
}

func NewDiffieHellmanEncrypter

func NewDiffieHellmanEncrypter() (*DiffieHellmanEncrypter, error)

func (*DiffieHellmanEncrypter) ComputeSharedSecret

func (e *DiffieHellmanEncrypter) ComputeSharedSecret(clientPublicKeyBytes, salt []byte) error

func (*DiffieHellmanEncrypter) DecryptMessage

func (e *DiffieHellmanEncrypter) DecryptMessage(encryptedMessage []byte) ([]byte, error)

DecryptMessage a message using AES-GCM

func (*DiffieHellmanEncrypter) EncryptMessage

func (e *DiffieHellmanEncrypter) EncryptMessage(plaintext []byte) ([]byte, error)

Encrypt a message using AES-GCM

func (*DiffieHellmanEncrypter) PublicKey

func (e *DiffieHellmanEncrypter) PublicKey() []byte

type FileSystem

type FileSystem interface {
	ReadDir(name string) ([]fs.DirEntry, error)
	ReadFile(name string) ([]byte, error)
	Open(name string) (fs.File, error)
}

type PSK

type PSK []byte

func GeneratePSK

func GeneratePSK(v *semver.Version) (PSK, error)

GeneratePSK TODO rotate PSK?

func (PSK) String

func (s PSK) String() string

type PrivateKey

type PrivateKey crypto.PrivKey

type SampleLocation added in v0.2.476

type SampleLocation struct {
	DirStack  []int // every index is level and value is dir num
	FileStack []int // file index, line index, left line border, right line border
}

func GenerateChallenge added in v0.2.476

func GenerateChallenge(codebase FileSystem, nonce int64) ([]byte, SampleLocation, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL