You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Dev Ojha b1bc3e4f89 crypto/secp256k1: Fix signature malleability, adopt more efficient en… (#2239) 6 years ago
..
armor crypto: Fix package imports from the refactor 6 years ago
ed25519 crypto: Remove unnecessary prefixes from amino route variable names (#2205) 6 years ago
encoding/amino crypto/secp256k1: Fix signature malleability, adopt more efficient en… (#2239) 6 years ago
internal/benchmarking crypto: Add benchmarking code for signature schemes (#2061) 6 years ago
merkle libs: Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) 6 years ago
multisig Cleanup up Multisig naming (#2255) 6 years ago
secp256k1 crypto/secp256k1: Fix signature malleability, adopt more efficient en… (#2239) 6 years ago
tmhash remove go-crypto from go-crypto: 6 years ago
xchacha20poly1305 crypto: Switch hkdfchacha back to xchacha (#2058) 6 years ago
xsalsa20symmetric libs: Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) 6 years ago
CHANGELOG.md mv go-crypto files to crypto dir 6 years ago
README.md crypto: Remove interface from crypto.Signature 6 years ago
crypto.go crypto: Remove interface from crypto.Signature 6 years ago
doc.go crypto: Remove Ed25519 and Secp256k1 suffix on GenPrivKey 6 years ago
example_test.go fix crypto tests 6 years ago
hash.go crypto: Refactor to move files out of the top level directory 6 years ago
random.go fix import paths 6 years ago
version.go mv go-crypto files to crypto dir 6 years ago

README.md

crypto

crypto is the cryptographic package adapted for Tendermint's uses

Importing it

To get the interfaces, import "github.com/tendermint/tendermint/crypto"

For any specific algorithm, use its specific module e.g. import "github.com/tendermint/tendermint/crypto/ed25519"

If you want to decode bytes into one of the types, but don't care about the specific algorithm, use import "github.com/tendermint/tendermint/crypto/amino"

Binary encoding

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

JSON Encoding

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

Example Amino:JSON encodings:

ed25519.PrivKeyEd25519     - {"type":"954568A3288910","value":"EVkqJO/jIXp3rkASXfh9YnyToYXRXhBr6g9cQVxPFnQBP/5povV4HTjvsy530kybxKHwEi85iU8YL0qQhSYVoQ=="}
ed25519.PubKeyEd25519      - {"type":"AC26791624DE60","value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="}
crypto.PrivKeySecp256k1   - {"type":"019E82E1B0F798","value":"zx4Pnh67N+g2V+5vZbQzEyRerX9c4ccNZOVzM9RvJ0Y="}
crypto.PubKeySecp256k1    - {"type":"F8CCEAEB5AE980","value":"A8lPKJXcNl5VHt1FK8a244K9EJuS4WX1hFBnwisi0IJx"}