cryptotest

package standard library
master (493edb2) Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2024 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TestAEAD

func TestAEAD(t *testing.T, mAEAD MakeAEAD)

TestAEAD performs a set of tests on cipher.AEAD implementations, checking the documented requirements of NonceSize, Overhead, Seal and Open.

func TestAllImplementations

func TestAllImplementations(t *testing.T, pkg string, f func(t *testing.T))

TestAllImplementations runs the provided test function with each available implementation of the package registered with crypto/internal/impl. If there are no alternative implementations for pkg, f is invoked directly once.

func TestBlock

func TestBlock(t *testing.T, keySize int, mb MakeBlock)

TestBlock performs a set of tests on cipher.Block implementations, checking the documented requirements of BlockSize, Encrypt, and Decrypt.

func TestBlockMode

func TestBlockMode(t *testing.T, block cipher.Block, makeEncrypter, makeDecrypter MakeBlockMode)

TestBlockMode performs a set of tests on cipher.BlockMode implementations, checking the documented requirements of CryptBlocks.

func TestHash

func TestHash(t *testing.T, mh MakeHash)

TestHash performs a set of tests on hash.Hash implementations, checking the documented requirements of Write, Sum, Reset, Size, and BlockSize.

func TestStream

func TestStream(t *testing.T, ms MakeStream)

TestStream performs a set of tests on cipher.Stream implementations, checking the documented requirements of XORKeyStream.

func TestStreamFromBlock

func TestStreamFromBlock(t *testing.T, block cipher.Block, blockMode func(b cipher.Block, iv []byte) cipher.Stream)

TestStreamFromBlock creates a Stream from a cipher.Block used in a cipher.BlockMode. It addresses Issue 68377 by checking for a panic when the BlockMode uses an IV with incorrect length. For a valid IV, it also runs all TestStream tests on the resulting stream.

Types

type MakeAEAD

type MakeAEAD func() (cipher.AEAD, error)

MakeAEAD returns a cipher.AEAD instance.

Multiple calls to MakeAEAD must return equivalent instances, so for example the key must be fixed.

type MakeBlock

type MakeBlock func(key []byte) (cipher.Block, error)

type MakeBlockMode

type MakeBlockMode func(b cipher.Block, iv []byte) cipher.BlockMode

MakeBlockMode returns a cipher.BlockMode instance. It expects len(iv) == b.BlockSize().

type MakeHash

type MakeHash func() hash.Hash

type MakeStream

type MakeStream func() cipher.Stream

MakeStream returns a cipher.Stream instance.

Multiple calls to MakeStream must return equivalent instances, so for example the key and/or IV must be fixed.

Jump to

Keyboard shortcuts

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