h2streamcipher

package
v0.2.16 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2023 License: MPL-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotSupported is returned when the cipher is not supported
	ErrNotSupported errNotSupported
	// ErrClosed is returned when writing after the cipher is closed
	ErrClosed errClosed
	// ErrNotClosed is returned when performing computations prior to closing
	ErrNotClosed errNotClosed
	// ErrKeyInvalid is returned when the cipher key config is invalid
	ErrKeyInvalid errKeyInvalid
	// ErrAuthInvalid is returned when the cipher auth tag is invalid
	ErrAuthInvalid errAuthInvalid
)

Functions

func FromParams added in v0.2.4

func FromParams(params string, algs Algs) (KeyStream, MAC, error)

FromParams creates a cipher from params

Types

type Algs added in v0.2.4

type Algs interface {
	Register(b Builder)
	Get(id string) (Builder, bool)
}

Algs are a map of valid cipher algorithms

type AlgsMap added in v0.2.4

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

func NewAlgsMap added in v0.2.4

func NewAlgsMap() *AlgsMap

func (*AlgsMap) Get added in v0.2.4

func (m *AlgsMap) Get(id string) (Builder, bool)

func (*AlgsMap) Register added in v0.2.4

func (m *AlgsMap) Register(b Builder)

type Builder added in v0.2.4

type Builder interface {
	ID() string
	Build(params string) (KeyStream, MAC, error)
}

Builder constructs a new cipher from params

type DecStreamReader

type DecStreamReader struct {
	Stream     KeyStream
	MAC        MAC
	Ciphertext io.Reader
	// contains filtered or unexported fields
}

func NewDecStreamReader

func NewDecStreamReader(s KeyStream, mac MAC, ciphertext io.Reader) *DecStreamReader

func NewDecStreamReaderFromParams added in v0.2.4

func NewDecStreamReaderFromParams(params string, algs Algs, ciphertext io.Reader) (*DecStreamReader, error)

NewDecStreamReaderFromParams creates a dec stream reader from params

func (*DecStreamReader) Close

func (r *DecStreamReader) Close() error

func (*DecStreamReader) Read

func (r *DecStreamReader) Read(dst []byte) (int, error)

func (*DecStreamReader) Verify

func (r *DecStreamReader) Verify(tag string) (bool, error)

type EncStreamReader

type EncStreamReader struct {
	Stream    KeyStream
	MAC       MAC
	Plaintext io.Reader
}

func NewEncStreamReader

func NewEncStreamReader(s KeyStream, mac MAC, plaintext io.Reader) *EncStreamReader

func (*EncStreamReader) Close

func (r *EncStreamReader) Close() error

func (*EncStreamReader) Read

func (r *EncStreamReader) Read(dst []byte) (int, error)

func (*EncStreamReader) Tag

func (r *EncStreamReader) Tag() string

type KeyStream

type KeyStream interface {
	XORKeyStream(dst, src []byte)
}

type MAC

type MAC interface {
	io.WriteCloser
	Tag() string
	Verify(tag string) (bool, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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