package sdk

import (
	"crypto/elliptic"
	"math/big"
)

type SDK interface {
	Kdf(c elliptic.Curve, x, y *big.Int, c2 []byte) error
	CalculateHash(x *big.Int, c2 []byte, y *big.Int) []byte
	GetZ(x *big.Int, y *big.Int, uid []byte) []byte
	GetE(z []byte, data []byte) *big.Int

	uint32ToBytes(x uint32) []byte
	sm3hash(sources ...[]byte) ([]byte, error)
}
