cryptoutil

package
v2.293.2 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2021 License: Apache-2.0, MIT Imports: 11 Imported by: 0

Documentation

Overview

Package cryptoutil contains generic & stateless crypto helpers.

Index

Constants

View Source
const (
	KeySize          = 32 // Key size required by box
	NonceSize        = 24 // Nonce size required by box
	ScryptIterations = 1 << 15
	ScryptR          = 8
	ScryptP          = 1
	ScryptKeyLen     = 32
)

Variables

This section is empty.

Functions

func AESCTRStream added in v2.231.0

func AESCTRStream(key, iv []byte) (cipher.Stream, error)

AESCTRStream returns a CTR stream that can be used to produce ciphertext without padding.

func AESGCMDecrypt added in v2.231.0

func AESGCMDecrypt(key, data []byte) ([]byte, error)

AESGCMDecrypt uses AES+GCM to decrypt plaintext data.

func AESGCMEncrypt added in v2.231.0

func AESGCMEncrypt(key, data []byte) ([]byte, error)

AESGCMEncrypt use AES+GCM to encrypt plaintext data.

The generated output will be longer than the original plaintext input.

func ConcatAndHashSha256 added in v2.33.0

func ConcatAndHashSha256(slices ...[]byte) *[sha256.Size]byte

func DeriveKey added in v2.231.0

func DeriveKey(passphrase, salt []byte) ([]byte, []byte, error)

DeriveKey takes a passphrase of any length and returns a key of fixed size.

If no salt is provided, a new one will be created and returned.

func EdwardsToMontgomery

func EdwardsToMontgomery(privKey crypto.PrivKey, pubKey crypto.PubKey) (*[32]byte, *[32]byte, error)

EdwardsToMontgomery converts ed25519 priv/pub keys to X25519 keys.

func EdwardsToMontgomeryPriv added in v2.33.0

func EdwardsToMontgomeryPriv(privKey crypto.PrivKey) (*[KeySize]byte, error)

EdwardsToMontgomeryPriv converts ed25519 priv key to X25519 priv key.

func EdwardsToMontgomeryPub added in v2.33.0

func EdwardsToMontgomeryPub(pubKey crypto.PubKey) (*[KeySize]byte, error)

EdwardsToMontgomeryPub converts ed25519 pub key to X25519 pub key.

func GenerateNonce added in v2.33.0

func GenerateNonce() (*[NonceSize]byte, error)

func GenerateNonceSize added in v2.231.0

func GenerateNonceSize(size int) ([]byte, error)

func KeySliceToArray added in v2.33.0

func KeySliceToArray(keySlice []byte) (*[KeySize]byte, error)

func NonceSliceToArray added in v2.33.0

func NonceSliceToArray(nonceSlice []byte) (*[NonceSize]byte, error)

func SeedFromEd25519PrivateKey

func SeedFromEd25519PrivateKey(key crypto.PrivKey) ([]byte, error)

Types

This section is empty.

Jump to

Keyboard shortcuts

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