func SKIValidCheck(keyId string, ski []byte) error {
	if SKIToKeyID(ski) != keyId {
		return errors.New("invalid SKI - SKI is not correspond to input key ID")
	}
	return nil
}
SKIValidCheck checks if input SKI is corresponding to key id.
package heimdall
import (
	"errors"
	"strings"
	"github.com/btcsuite/btcutil/base58"
)
type KeyRecoverer interface {
	RecoverKeyFromByte(keyBytes []byte, isPrivate bool) (Key, error)
}
type Key interface {
	ID() KeyID
	SKI() []byte
	ToByte() ([]byte, error)
	KeyGenOpt() KeyGenOpts
	IsPrivate() bool
}
type PriKey interface {
	Key
	Clear()
	PublicKey() PubKey
}
type PubKey interface {
	Key
}
const KeyIDPrefix = "IT"
func SKIToKeyID(ski []byte) string {
	return KeyIDPrefix + base58.Encode(ski)
}