fpe

package
v0.0.0-...-e984f34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FPEKeyTemplate

func FPEKeyTemplate() *tinkpb.KeyTemplate

FPEKeyTemplate returns a KeyTemplate for creating FPE keys in Tink

func RegisterFPEKeyManager

func RegisterFPEKeyManager() error

RegisterFPEKeyManager registers the FPEKeyManager with Tink's registry

Types

type FF31FPE

type FF31FPE struct {
	// contains filtered or unexported fields
}

FF31FPE struct representing an FPE primitive using FF3-1

func NewFF31FPE

func NewFF31FPE(masterKey, tweak []byte) (*FF31FPE, error)

NewFF31FPE creates a new FF3-1 FPE primitive

func (*FF31FPE) DecryptFPE

func (f *FF31FPE) DecryptFPE(ciphertext string) (string, error)

DecryptFPE decrypts the ciphertext using FPE

func (*FF31FPE) EncryptFPE

func (f *FF31FPE) EncryptFPE(plaintext string) (string, error)

EncryptFPE encrypts the plaintext using FPE

type FPEKeyManager

type FPEKeyManager struct{}

FPEKeyManager manages FPE keys and generates FPE primitives

func (*FPEKeyManager) DoesSupport

func (km *FPEKeyManager) DoesSupport(typeURL string) bool

DoesSupport checks if this KeyManager supports the given type URL

func (*FPEKeyManager) KeyMaterialType

func (km *FPEKeyManager) KeyMaterialType() tinkpb.KeyData_KeyMaterialType

KeyMaterialType specifies the type of key material used

func (*FPEKeyManager) NewKey

func (km *FPEKeyManager) NewKey(keyFormat []byte) (proto.Message, error)

NewKey generates new key data for FPE

func (*FPEKeyManager) NewKeyData

func (km *FPEKeyManager) NewKeyData(keyFormat []byte) (*tinkpb.KeyData, error)

NewKeyData generates new key data for FPE

func (*FPEKeyManager) Primitive

func (km *FPEKeyManager) Primitive(keyData []byte) (interface{}, error)

Primitive constructs an FPE primitive from the key data

func (*FPEKeyManager) TypeURL

func (km *FPEKeyManager) TypeURL() string

TypeURL returns the type URL of the FPE key

type FPEPrimitive

type FPEPrimitive interface {
	EncryptFPE(plaintext string) (string, error)
	DecryptFPE(ciphertext string) (string, error)
}

FPEPrimitive interface representing FPE operations

func New

func New(handle *keyset.Handle) (FPEPrimitive, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL