crypto

package
v0.78.4 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2021 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package crypto provides an interface to VM cryptographic instructions and syscalls.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Hash160

func Hash160(b []byte) []byte

Hash160 computes SHA256 + RIPEMD-160 of b, which is commonly used for script hashing and address generation. It uses `HASH160` VM instruction.

func Hash256

func Hash256(b []byte) []byte

Hash256 computes double SHA256 hash of b (SHA256(SHA256(b))) which is used as ID for transactions, blocks and assets. It uses `HASH256` VM instruction.

func SHA1

func SHA1(b []byte) []byte

SHA1 computes SHA1 hash of b. It uses `SHA1` VM instruction.

func SHA256

func SHA256(b []byte) []byte

SHA256 computes SHA256 hash of b. It uses `SHA256` VM instruction.

func Secp256k1Recover added in v0.76.0

func Secp256k1Recover(r []byte, s []byte, messageHash []byte, isEven bool) []byte

Secp256k1Recover recovers public key from the given signature (r, s) on the given message hash using Secp256k1 elliptic curve. Flag isEven denotes Y's least significant bit in decompression algorithm. The return value is byte array representation of the public key which is either empty (if it's not possible to recover key) or contains 64 bytes with X and Y coordinates (both 32-byte in BE format). This function uses Neo.Cryptography.Secp256k1Recover syscall.

func Secp256r1Recover added in v0.76.0

func Secp256r1Recover(r []byte, s []byte, messageHash []byte, isEven bool) []byte

Secp256r1Recover recovers public key from the given signature (r, s) on the given message hash using Secp256r1 elliptic curve. Flag isEven denotes Y's least significant bit in decompression algorithm. The return value is byte array representation of the public key which is either empty (if it's not possible to recover key) or contains 64 bytes with X and Y coordinates (both 32-byte in BE format). This function uses Neo.Cryptography.Secp256r1Recover syscall.

func VerifySignature

func VerifySignature(msg []byte, sig []byte, pub []byte) bool

VerifySignature checks that sig is correct msg's signature for a given pub (serialized public key). It uses `VERIFY` VM instruction.

Types

This section is empty.

Jump to

Keyboard shortcuts

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