Skip to content

Code Documentation #5

Description

@fcasal

lms-go/lms/ots/types.go

Lines 7 to 29 in c7cd3ad

// A LmsOtsPrivateKey is used to sign exactly one message.
type LmsOtsPrivateKey struct {
typecode common.LmsOtsAlgorithmType
q uint32
id common.ID
x [][]byte
valid bool
}
// A LmsOtsPublicKey is used to verify exactly one message.
type LmsOtsPublicKey struct {
typecode common.LmsOtsAlgorithmType
q uint32
id common.ID
k []byte
}
// A LmsOtsSignature is a signature of one message.
type LmsOtsSignature struct {
typecode common.LmsOtsAlgorithmType
c []byte
y [][]byte
}

lms-go/lms/lms/types.go

Lines 8 to 33 in c7cd3ad

// A LmsPrivateKey is used to sign a finite number of messages
type LmsPrivateKey struct {
typecode common.LmsAlgorithmType
otstype common.LmsOtsAlgorithmType
q uint32
id common.ID
seed []byte
authtree [][]byte
}
// A LmsPublicKey is used to verify messages signed by a LmsPrivateKey
type LmsPublicKey struct {
typecode common.LmsAlgorithmType
otstype common.LmsOtsAlgorithmType
id common.ID
k []byte
}
// A LmsSignature represents a signature produced by an LmsPrivateKey
// which an LmsPublicKey can validate for a given message
type LmsSignature struct {
typecode common.LmsAlgorithmType
q uint32
ots ots.LmsOtsSignature
path [][]byte
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions