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.
 
 
 
 
 
 
mergify[bot] 4e25703d58
rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230)
4 years ago
..
armor crypto/merkle: remove simple prefix (#4989) 5 years ago
ed25519 crypto: add in secp256k1 support (#5500) 4 years ago
encoding test/e2e: fix secp failures (#5649) 4 years ago
internal/benchmarking crypto: API modifications (#5236) 4 years ago
merkle rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) 4 years ago
secp256k1 crypto: fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) 4 years ago
sr25519 crypto: API modifications (#5236) 4 years ago
tmhash linter: (1/2) enable errcheck (#5064) 4 years ago
xchacha20poly1305 lint: add errchecks (#5316) 4 years ago
xsalsa20symmetric linters: enable stylecheck (#4153) 5 years ago
CHANGELOG.md mv go-crypto files to crypto dir 7 years ago
README.md crypto: reword readme (#5349) 4 years ago
crypto.go crypto: API modifications (#5236) 4 years ago
doc.go crypto: delete unused code (#3426) 6 years ago
example_test.go crypto: delete unused code (#3426) 6 years ago
hash.go rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) 4 years ago
random.go remove MixEntropy (#3278) 6 years ago
random_test.go crypto/random: Use chacha20, add forward secrecy (#2562) 6 years ago
version.go mv go-crypto files to crypto dir 7 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"

Binary encoding

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

JSON Encoding

JSON encoding is done using tendermint's internal json encoder. For more information on JSON encoding, please refer to Tendermint JSON encoding

Example JSON encodings:

ed25519.PrivKey     - {"type":"tendermint/PrivKeyEd25519","value":"EVkqJO/jIXp3rkASXfh9YnyToYXRXhBr6g9cQVxPFnQBP/5povV4HTjvsy530kybxKHwEi85iU8YL0qQhSYVoQ=="}
ed25519.PubKey      - {"type":"tendermint/PubKeyEd25519","value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="}
sr25519.PrivKeySr25519   - {"type":"tendermint/PrivKeySr25519","value":"xtYVH8UCIqfrY8FIFc0QEpAEBShSG4NT0zlEOVSZ2w4="}
sr25519.PubKeySr25519    - {"type":"tendermint/PubKeySr25519","value":"8sKBLKQ/OoXMcAJVxBqz1U7TyxRFQ5cmliuHy4MrF0s="}
crypto.PrivKeySecp256k1   - {"type":"tendermint/PrivKeySecp256k1","value":"zx4Pnh67N+g2V+5vZbQzEyRerX9c4ccNZOVzM9RvJ0Y="}
crypto.PubKeySecp256k1    - {"type":"tendermint/PubKeySecp256k1","value":"A8lPKJXcNl5VHt1FK8a244K9EJuS4WX1hFBnwisi0IJx"}