package subtle

import "github.com/google/tink/go/subtle"

Package subtle provides common methods needed in subtle implementations.

Index

Functions

func ComputeHKDF

func ComputeHKDF(hashAlg string, key []byte, salt []byte, info []byte, tagSize uint32) ([]byte, error)

ComputeHKDF extracts a pseudorandom key.

func ComputeHash

func ComputeHash(hashFunc func() hash.Hash, data []byte) ([]byte, error)

ComputeHash calculates a hash of the given data using the given hash function.

func ComputeSharedSecretX25519

func ComputeSharedSecretX25519(privKey, pubValue []byte) ([]byte, error)

ComputeSharedSecretX25519 returns the 32-byte shared key, i.e. privKey * pubValue on the curve.

func ConvertCurveName

func ConvertCurveName(name string) string

ConvertCurveName converts different forms of a curve name to the name that tink recognizes.

func ConvertHashName

func ConvertHashName(name string) string

ConvertHashName converts different forms of a hash name to the hash name that tink recognizes.

func GeneratePrivateKeyX25519

func GeneratePrivateKeyX25519() ([]byte, error)

GeneratePrivateKeyX25519 generates a new 32-byte private key.

func GetCurve

func GetCurve(curve string) elliptic.Curve

GetCurve returns the curve object that corresponds to the given curve type. It returns null if the curve type is not supported.

func GetHashDigestSize

func GetHashDigestSize(hash string) (uint32, error)

GetHashDigestSize returns the digest size of the specified hash algorithm.

func GetHashFunc

func GetHashFunc(hash string) func() hash.Hash

GetHashFunc returns the corresponding hash function of the given hash name.

func NewBigIntFromHex

func NewBigIntFromHex(s string) (*big.Int, error)

NewBigIntFromHex returns a big integer from a hex string.

func PublicFromPrivateX25519

func PublicFromPrivateX25519(privKey []byte) ([]byte, error)

PublicFromPrivateX25519 computes privKey's corresponding public key.

Source Files

hkdf.go subtle.go x25519.go

Directories

PathSynopsis
subtle/randomPackage random provides functions that generate random numbers or bytes.
Version
v1.7.0 (latest)
Published
Aug 10, 2022
Platform
linux/amd64
Imports
13 packages
Last checked
3 months ago

Tools for package owners.