Categorygithub.com/tendermint/go-crypto
modulepackage
0.9.0
Repository: https://github.com/tendermint/go-crypto.git
Documentation: pkg.go.dev

# README

go-crypto GoDoc

go-crypto is the cryptographic package adapted for Tendermint's uses

Importing it

import "github.com/tendermint/go-crypto"

Binary encoding

For Binary encoding, please refer to the Tendermint encoding spec.

JSON Encoding

go-crypto .Bytes() uses Amino:binary encoding, but Amino:JSON is also supported.

Example Amino:JSON encodings:

crypto.PrivKeyEd25519     - {"type":"954568A3288910","value":"EVkqJO/jIXp3rkASXfh9YnyToYXRXhBr6g9cQVxPFnQBP/5povV4HTjvsy530kybxKHwEi85iU8YL0qQhSYVoQ=="}
crypto.SignatureEd25519   - {"type":"6BF5903DA1DB28","value":"77sQNZOrf7ltExpf7AV1WaYPCHbyRLgjBsoWVzcduuLk+jIGmYk+s5R6Emm29p12HeiNAuhUJgdFGmwkpeGJCA=="}
crypto.PubKeyEd25519      - {"type":"AC26791624DE60","value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="}
crypto.PrivKeySecp256k1   - {"type":"019E82E1B0F798","value":"zx4Pnh67N+g2V+5vZbQzEyRerX9c4ccNZOVzM9RvJ0Y="}
crypto.SignatureSecp256k1 - {"type":"6D1EA416E1FEE8","value":"MEUCIQCIg5TqS1l7I+MKTrSPIuUN2+4m5tA29dcauqn3NhEJ2wIgICaZ+lgRc5aOTVahU/XoLopXKn8BZcl0bnuYWLvohR8="}
crypto.PubKeySecp256k1    - {"type":"F8CCEAEB5AE980","value":"A8lPKJXcNl5VHt1FK8a244K9EJuS4WX1hFBnwisi0IJx"}

# Packages

No description provided by the author
Package merkle computes a deterministic minimal height Merkle tree hash.
No description provided by the author
No description provided by the author

# Functions

This uses the OS and the Seed(s).
CRandHex returns a hex encoded string that's floor(numDigits/2) * 2 long.
Returns a crand.Reader mixed with user-supplied entropy.
No description provided by the author
secret must be 32 bytes long.
No description provided by the author
secret must be 32 bytes long.
No description provided by the author
NOTE: secret should be the output of a KDF like bcrypt, if it's derived from user input.
No description provided by the author
NOTE: secret should be the output of a KDF like bcrypt, if it's derived from user input.
Mix additional bytes of randomness, e.g.
NewPrivKeyLedgerSecp256k1 will generate a new key and store the public key for later use.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author

# Structs

PrivKeyLedgerSecp256k1 implements PrivKey, calling the ledger nano we cache the PubKey from the first call to use it later.

# Interfaces

No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

An address is a []byte, but hex-encoded even in JSON.
Ledger derivation path.
Implements PrivKey.
Implements PrivKey.
Implements PubKeyInner.
Implements PubKey.
Implements Signature.
Implements Signature.