func (s *service) VerifyMAC(mac, data []byte, kh interface{}) error {
	err := s.crypto.VerifyMAC(mac, data, kh)
	if err != nil {
		return fmt.Errorf("verify MAC: %w", err)
	}
	return nil
}
VerifyMAC determines if the given mac is a correct message authentication code (MAC) for data.
package kms
import (
	"fmt"
	"github.com/google/tink/go/keyset"
	"github.com/hyperledger/aries-framework-go/pkg/crypto"
)
func (s *service) Sign(msg []byte, kh interface{}) ([]byte, error) {
	signature, err := s.crypto.Sign(msg, kh)
	if err != nil {
		return nil, fmt.Errorf("sign: %w", err)
	}
	return signature, nil
}
func (s *service) Verify(signature, msg []byte, kh interface{}) error {
	pub, err := kh.(*keyset.Handle).Public()
	if err != nil {
		return fmt.Errorf("verify: %w", err)
	}
	err = s.crypto.Verify(signature, msg, pub)
	if err != nil {
		return fmt.Errorf("verify: %w", err)
	}
	return nil
}
func (s *service) Encrypt(msg, aad []byte, kh interface{}) ([]byte, []byte, error) {
	cipher, nonce, err := s.crypto.Encrypt(msg, aad, kh)
	if err != nil {
		return nil, nil, fmt.Errorf("encrypt: %w", err)
	}
	return cipher, nonce, nil
}
func (s *service) Decrypt(cipher, aad, nonce []byte, kh interface{}) ([]byte, error) {
	plain, err := s.crypto.Decrypt(cipher, aad, nonce, kh)
	if err != nil {
		return nil, fmt.Errorf("decrypt: %w", err)
	}
	return plain, nil
}
func (s *service) ComputeMAC(data []byte, kh interface{}) ([]byte, error) {
	mac, err := s.crypto.ComputeMAC(data, kh)
	if err != nil {
		return nil, fmt.Errorf("compute MAC: %w", err)
	}
	return mac, nil
}