func NISTP256ECDHKWKeyTemplate() *tinkpb.KeyTemplate {
	return createKeyTemplate(true, AES256GCM, commonpb.EllipticCurveType_NIST_P256, nil)
}
NISTP256ECDHKWKeyTemplate is a KeyTemplate that generates a key that accepts a CEK for JWE content
encryption. CEK wrapping is done outside of this Tink key (in the tinkcrypto service).
Keys from this template represent a valid recipient public/private key pairs and can be stored in the KMS. The
recipient key represented in this key template uses the following key wrapping curve:
- NIST curve P-256.
Keys created with this template are mainly used for key wrapping of a cek. They are independent of the AEAD content
encryption algorithm.
package ecdh
import (
	"github.com/golang/protobuf/proto"
	"github.com/google/tink/go/aead"
	commonpb "github.com/google/tink/go/proto/common_go_proto"
	tinkpb "github.com/google/tink/go/proto/tink_go_proto"
	cbcaead "github.com/hyperledger/aries-framework-go/pkg/crypto/tinkcrypto/primitive/aead"
	"github.com/hyperledger/aries-framework-go/pkg/crypto/tinkcrypto/primitive/aead/subtle"
	ecdhpb "github.com/hyperledger/aries-framework-go/pkg/crypto/tinkcrypto/primitive/proto/ecdh_aead_go_proto"
)
type AEADAlg int
const (
	AES256GCM = iota + 1
	XC20P
	AES128CBCHMACSHA256
	AES192CBCHMACSHA384
	AES256CBCHMACSHA384
	AES256CBCHMACSHA512
)
var EncryptionAlgLabel = map[AEADAlg]string{  
	AES256GCM:           "AES256GCM",
	XC20P:               "XC20P",
	AES128CBCHMACSHA256: "AES128CBCHMACSHA256",
	AES192CBCHMACSHA384: "AES192CBCHMACSHA384",
	AES256CBCHMACSHA384: "AES256CBCHMACSHA384",
	AES256CBCHMACSHA512: "AES256CBCHMACSHA512",
}