package encoding

import "github.com/ProtonMail/go-crypto/openpgp/internal/encoding"

Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637.

Index

Types

type Field

type Field interface {
	// Bytes returns the decoded data.
	Bytes() []byte

	// BitLength is the size in bits of the decoded data.
	BitLength() uint16

	// EncodedBytes returns the encoded data.
	EncodedBytes() []byte

	// EncodedLength is the size in bytes of the encoded data.
	EncodedLength() uint16

	// ReadFrom reads the next Field from r.
	ReadFrom(r io.Reader) (int64, error)
}

Field is an encoded field of an openpgp packet.

type MPI

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

An MPI is used to store the contents of a big integer, along with the bit length that was specified in the original input. This allows the MPI to be reserialized exactly.

func NewMPI

func NewMPI(bytes []byte) *MPI

NewMPI returns a MPI initialized with bytes.

func (*MPI) BitLength

func (m *MPI) BitLength() uint16

BitLength is the size in bits of the decoded data.

func (*MPI) Bytes

func (m *MPI) Bytes() []byte

Bytes returns the decoded data.

func (*MPI) EncodedBytes

func (m *MPI) EncodedBytes() []byte

EncodedBytes returns the encoded data.

func (*MPI) EncodedLength

func (m *MPI) EncodedLength() uint16

EncodedLength is the size in bytes of the encoded data.

func (*MPI) ReadFrom

func (m *MPI) ReadFrom(r io.Reader) (int64, error)

ReadFrom reads into m the next MPI from r.

func (*MPI) SetBig

func (m *MPI) SetBig(n *big.Int) *MPI

SetBig initializes m with the bits from n.

type OID

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

OID is used to store a variable-length field with a one-octet size prefix. See https://tools.ietf.org/html/rfc6637#section-9.

func NewOID

func NewOID(bytes []byte) *OID

NewOID returns a OID initialized with bytes.

func (*OID) BitLength

func (o *OID) BitLength() uint16

BitLength is the size in bits of the decoded data.

func (*OID) Bytes

func (o *OID) Bytes() []byte

Bytes returns the decoded data.

func (*OID) EncodedBytes

func (o *OID) EncodedBytes() []byte

EncodedBytes returns the encoded data.

func (*OID) EncodedLength

func (o *OID) EncodedLength() uint16

EncodedLength is the size in bytes of the encoded data.

func (*OID) ReadFrom

func (o *OID) ReadFrom(r io.Reader) (int64, error)

ReadFrom reads into b the next OID from r.

Source Files

encoding.go mpi.go oid.go

Version
v1.3.0 (latest)
Published
May 22, 2025
Platform
linux/amd64
Imports
4 packages
Last checked
2 days ago

Tools for package owners.