Package des


Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.

DES is cryptographically broken and should not be used for secure applications.


Package files

block.go cipher.go const.go


The DES block size in bytes.

const BlockSize = 8

func NewCipherSource

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

NewCipher creates and returns a new cipher.Block.

func NewTripleDESCipherSource

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

NewTripleDESCipher creates and returns a new cipher.Block.


package main

import (

func main() {
	// NewTripleDESCipher can also be used when EDE2 is required by
	// duplicating the first 8 bytes of the 16-byte key.
	ede2Key := []byte("example key 1234")

	var tripleDESKey []byte
	tripleDESKey = append(tripleDESKey, ede2Key[:16]...)
	tripleDESKey = append(tripleDESKey, ede2Key[:8]...)

	_, err := des.NewTripleDESCipher(tripleDESKey)
	if err != nil {

	// See crypto/cipher for how to use a cipher.Block for encryption and
	// decryption.

type KeySizeErrorSource

type KeySizeError int

func (KeySizeError) ErrorSource

func (k KeySizeError) Error() string

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.