21 lines
673 B
Go
21 lines
673 B
Go
package cipher
|
|
|
|
import "errors"
|
|
|
|
var ErrInvalidKeyLength = errors.New("Invalid key length")
|
|
|
|
// A Block represents an implementation of a block cipher using block cipher
|
|
// specific parameters.
|
|
type Block interface {
|
|
// Encrypt a source block into the destination. dst and src must be exactly
|
|
// block sized. Panics if blocks are not sized correctly.
|
|
Encrypt(dst, src []byte)
|
|
// Decrypt a source block into the destination. dst and src must be exactly
|
|
// block sized. Panics if blocks are not sized correctly.
|
|
Decrypt(dst, src []byte)
|
|
// BlockSize returns the blocksize in bytes
|
|
BlockSize() int
|
|
// Algorithm returns the name of the algorithm
|
|
Algorithm() string
|
|
}
|