hashers

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2018 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterLogHasher

func RegisterLogHasher(h trillian.HashStrategy, f LogHasher)

RegisterLogHasher registers a hasher for use.

func RegisterMapHasher

func RegisterMapHasher(h trillian.HashStrategy, f MapHasher)

RegisterMapHasher registers a hasher for use.

Types

type LogHasher

type LogHasher interface {
	// EmptyRoot supports returning a special case for the root of an empty tree.
	EmptyRoot() []byte
	// HashLeaf computes the hash of a leaf that exists.
	HashLeaf(leaf []byte) ([]byte, error)
	// HashChildren computes interior nodes.
	HashChildren(l, r []byte) []byte
	// Size is the number of bits in the underlying hash function.
	// TODO(gbelvin): Replace Size() with BitLength().
	Size() int
}

LogHasher provides the hash functions needed to compute dense merkle trees.

func NewLogHasher

func NewLogHasher(h trillian.HashStrategy) (LogHasher, error)

NewLogHasher returns a LogHasher.

type MapHasher

type MapHasher interface {
	// HashEmpty returns the hash of an empty branch at a given depth.
	// A height of 0 indicates an empty leaf. The maximum height is Size*8.
	// TODO(gbelvin) fully define index.
	HashEmpty(treeID int64, index []byte, height int) []byte
	// HashLeaf computes the hash of a leaf that exists.
	HashLeaf(treeID int64, index []byte, leaf []byte) ([]byte, error)
	// HashChildren computes interior nodes.
	HashChildren(l, r []byte) []byte
	// Size is the number of bytes in the underlying hash function.
	// TODO(gbelvin): Replace Size() with BitLength().
	Size() int
	// BitLen returns the number of bits in the underlying hash function.
	// It is also the height of the merkle tree.
	BitLen() int
}

MapHasher provides the hash functions needed to compute sparse merkle trees.

func NewMapHasher

func NewMapHasher(h trillian.HashStrategy) (MapHasher, error)

NewMapHasher returns a MapHasher.

Jump to

Keyboard shortcuts

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