crypto: Index | Files

package twofish

import ""

Package twofish implements Bruce Schneier's Twofish encryption algorithm.


Package Files



const BlockSize = 16

BlockSize is the constant block size of Twofish.

type Cipher Uses

type Cipher struct {
    // contains filtered or unexported fields

A Cipher is an instance of Twofish encryption using a particular key.

func NewCipher Uses

func NewCipher(key []byte) (*Cipher, error)

NewCipher creates and returns a Cipher. The key argument should be the Twofish key, 16, 24 or 32 bytes.

func (*Cipher) BlockSize Uses

func (c *Cipher) BlockSize() int

BlockSize returns the Twofish block size, 16 bytes.

func (*Cipher) Decrypt Uses

func (c *Cipher) Decrypt(dst, src []byte)

Decrypt decrypts a 16-byte block from src to dst, which may overlap.

func (*Cipher) Encrypt Uses

func (c *Cipher) Encrypt(dst, src []byte)

Encrypt encrypts a 16-byte block from src to dst, which may overlap. Note that for amounts of data larger than a block, it is not safe to just call Encrypt on successive blocks; instead, use an encryption mode like CBC (see crypto/cipher/cbc.go).

type KeySizeError Uses

type KeySizeError int

func (KeySizeError) Error Uses

func (k KeySizeError) Error() string

Package twofish imports 1 packages (graph) and is imported by 7 packages. Updated 2017-03-19. Refresh now. Tools for package owners.