mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-12 01:10:36 +00:00
d8556b80bc
Follow 7d786fac79
update.
54 lines
2.1 KiB
Go
54 lines
2.1 KiB
Go
/*
|
|
Package crypto provides an interface to VM cryptographic instructions and syscalls.
|
|
*/
|
|
package crypto
|
|
|
|
// SHA1 computes SHA1 hash of b. It uses `SHA1` VM instruction.
|
|
func SHA1(b []byte) []byte {
|
|
return nil
|
|
}
|
|
|
|
// SHA256 computes SHA256 hash of b. It uses `SHA256` VM instruction.
|
|
func SHA256(b []byte) []byte {
|
|
return nil
|
|
}
|
|
|
|
// Hash160 computes SHA256 + RIPEMD-160 of b, which is commonly used for
|
|
// script hashing and address generation. It uses `HASH160` VM instruction.
|
|
func Hash160(b []byte) []byte {
|
|
return nil
|
|
}
|
|
|
|
// 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 Hash256(b []byte) []byte {
|
|
return nil
|
|
}
|
|
|
|
// VerifySignature checks that sig is correct msg's signature for a given pub
|
|
// (serialized public key). It uses `VERIFY` VM instruction.
|
|
func VerifySignature(msg []byte, sig []byte, pub []byte) bool {
|
|
return false
|
|
}
|
|
|
|
// 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 Secp256k1Recover(r []byte, s []byte, messageHash []byte, isEven bool) []byte {
|
|
return nil
|
|
}
|
|
|
|
// 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 Secp256r1Recover(r []byte, s []byte, messageHash []byte, isEven bool) []byte {
|
|
return nil
|
|
}
|