Back to godoc.org
golang.org/x/crypto/tea

package tea

v0.0.0 (70a84ac)
Latest Go to latest
Published: 3 hours ago | License: BSD-3-Clause | Module: golang.org/x/crypto

Overview

Package tea implements the TEA algorithm, as defined in Needham and Wheeler's 1994 technical report, “TEA, a Tiny Encryption Algorithm”. See http://www.cix.co.uk/~klockstone/tea.pdf for details.

TEA is a legacy cipher and its short block size makes it vulnerable to birthday bound attacks (see https://sweet32.info). It should only be used where compatibility with legacy systems, not security, is the goal.

Deprecated: any new system should use AES (from crypto/aes, if necessary in an AEAD mode like crypto/cipher.NewGCM) or XChaCha20-Poly1305 (from golang.org/x/crypto/chacha20poly1305).

Index

Constants

const (
	// BlockSize is the size of a TEA block, in bytes.
	BlockSize = 8

	// KeySize is the size of a TEA key, in bytes.
	KeySize = 16
)

func NewCipher

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

NewCipher returns an instance of the TEA cipher with the standard number of rounds. The key argument must be 16 bytes long.

func NewCipherWithRounds

func NewCipherWithRounds(key []byte, rounds int) (cipher.Block, error)

NewCipherWithRounds returns an instance of the TEA cipher with a given number of rounds, which must be even. The key argument must be 16 bytes long.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier