blindsign

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2023 License: BSD-3-Clause Imports: 1 Imported by: 2

Documentation

Overview

Package blindsign provides a blind signature protocol.

A blind signature protocol is a two-party protocol for computing a digital signature. One party (the server) holds the signing key, and the other (the client) holds the message input. Blindness ensures that the server does not learn anything about the client's input during the BlindSign step.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Signer

type Signer interface {
	// Blindly signs the input message using the Signer's private key
	// and produces an encoded blind signature protocol message as output.
	BlindSign(data []byte) ([]byte, error)
}

A Signer represents a specific instance of a blind signature signer.

type Verifier

type Verifier interface {
	// Blind produces an encoded protocol message and VerifierState based on
	// the input message and Signer's public key.
	Blind(random io.Reader, message []byte) ([]byte, VerifierState, error)

	// Verify verifies a (message, signature) pair over and produces an error
	// if the signature is invalid.
	Verify(message, signature []byte) error
}

A Verifier represents a specific instance of a blind signature verifier.

type VerifierState

type VerifierState interface {
	// Finalize completes the blind signature protocol and produces a signature
	// over the corresponding Verifier-provided message.
	Finalize(data []byte) ([]byte, error)

	// CopyBlind returns an encoding of the blind value used in the protocol.
	CopyBlind() []byte

	// CopySalt returns an encoding of the per-message salt used in the protocol.
	CopySalt() []byte
}

A VerifierState represents the protocol state used to run and complete a specific blind signature protocol.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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