Documentation ¶
Overview ¶
implements the GOST 28147 OFB counter mode (GCTR).
Index ¶
- Constants
- func NewBCDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewBCEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewCFB1(block cipher.Block, iv []byte, decrypt bool) cipher.Stream
- func NewCFB16(block cipher.Block, iv []byte, decrypt bool) cipher.Stream
- func NewCFB16Decrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB16Encrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB1Decrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB1Encrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB32(block cipher.Block, iv []byte, decrypt bool) cipher.Stream
- func NewCFB32Decrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB32Encrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB64(block cipher.Block, iv []byte, decrypt bool) cipher.Stream
- func NewCFB64Decrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB64Encrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB8(block cipher.Block, iv []byte, decrypt bool) cipher.Stream
- func NewCFB8Decrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewCFB8Encrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewECBDecrypter(b cipher.Block) cipher.BlockMode
- func NewECBEncrypter(b cipher.Block) cipher.BlockMode
- func NewG3413CBCDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewG3413CBCEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewG3413CFBDecrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewG3413CFBDecrypterWithBitBlockSize(block cipher.Block, iv []byte, bitBlockSize int) cipher.Stream
- func NewG3413CFBEncrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewG3413CFBEncrypterWithBitBlockSize(block cipher.Block, iv []byte, bitBlockSize int) cipher.Stream
- func NewG3413CTR(block cipher.Block, iv []byte) cipher.Stream
- func NewG3413CTRWithBitBlockSize(block cipher.Block, iv []byte, bitBlockSize int) cipher.Stream
- func NewG3413OFB(b cipher.Block, iv []byte) cipher.Stream
- func NewGCFBDecrypter(block GCFBCipherFunc, key, iv []byte) cipher.Stream
- func NewGCFBEncrypter(block GCFBCipherFunc, key, iv []byte) cipher.Stream
- func NewGOFB(b cipher.Block, iv []byte) cipher.Stream
- func NewIGEDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewIGEEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewNCFBDecrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewNCFBEncrypter(block cipher.Block, iv []byte) cipher.Stream
- func NewNOFB(b cipher.Block, iv []byte) cipher.Stream
- func NewOCFBDecrypter(block cipher.Block, prefix []byte, resync OCFBResyncOption) cipher.Stream
- func NewOCFBEncrypter(block cipher.Block, randData []byte, resync OCFBResyncOption) (cipher.Stream, []byte)
- func NewOFB8(b cipher.Block, iv []byte) cipher.Stream
- func NewOFBNLFDecrypter(newKey KeyCreator, key, iv []byte) cipher.BlockMode
- func NewOFBNLFEncrypter(newKey KeyCreator, key, iv []byte) cipher.BlockMode
- func NewPCBCDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewPCBCEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewWrapDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewWrapEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewWrapPadDecrypter(b cipher.Block, iv []byte) cipher.BlockMode
- func NewWrapPadEncrypter(b cipher.Block, iv []byte) cipher.BlockMode
- type GCFBCipherFunc
- type KeyCreator
- type OCFBResyncOption
Constants ¶
const WRAP_MAX = uint64(1) << 31
Input size limit: lower than maximum of standards but far larger than anything that will be used in practice.
Variables ¶
This section is empty.
Functions ¶
func NewCFB8Decrypter ¶
NewCFB8Decrypter returns a Stream which decrypts with cipher feedback mode (segment size = 8), using the given Block. The iv must be the same length as the Block's block size.
func NewCFB8Encrypter ¶
NewCFB8Encrypter returns a Stream which encrypts with cipher feedback mode (segment size = 8), using the given Block. The iv must be the same length as the Block's block size.
func NewECBDecrypter ¶
NewECBDecrypter returns a BlockMode which decrypts in electronic code book mode, using the given Block.
func NewECBEncrypter ¶
NewECBEncrypter returns a BlockMode which encrypts in electronic code book mode, using the given Block.
func NewG3413CBCDecrypter ¶
NewG3413CBCDecrypter returns a cipher.BlockMode which decrypts in cipher block chaining mode, using the given cipher.Block. The length of iv must be the same as the Block's block size and must match the iv used to encrypt the data.
func NewG3413CBCEncrypter ¶
NewG3413CBCEncrypter returns a cipher.BlockMode which encrypts in cipher block chaining mode, using the given cipher.Block. The length of iv must be the same as the Block's block size.
func NewG3413CFBDecrypter ¶
NewG3413CFBDecrypter returns a Stream which decrypts with cipher feedback mode, using the given cipher.Block. The iv must be the same length as the cipher.Block's block size.
func NewG3413CFBEncrypter ¶
NewG3413CFBEncrypter returns a Stream which encrypts with cipher feedback mode, using the given cipher.Block. The iv must be the same length as the cipher.Block's block size.
func NewG3413CTR ¶
NewCTR returns a Stream which encrypts/decrypts using the given Block in counter mode. The length of iv must be the same as the Block's block size.
func NewG3413CTRWithBitBlockSize ¶
NewG3413CTRWithBitBlockSize returns a Stream which encrypts/decrypts using the given Block in counter mode. The length of iv must be the same as the Block's block size.
func NewG3413OFB ¶
NewG3413OFB returns a Stream that encrypts or decrypts using the block cipher b in output feedback mode. The initialization vector iv's length must be equal to b's block size.
func NewGCFBDecrypter ¶
func NewGCFBDecrypter(block GCFBCipherFunc, key, iv []byte) cipher.Stream
NewGCFBDecrypter returns a Stream which decrypts with cipher feedback mode, using the given Block. The iv must be the same length as the Block's block size.
func NewGCFBEncrypter ¶
func NewGCFBEncrypter(block GCFBCipherFunc, key, iv []byte) cipher.Stream
NewGCFBEncrypter returns a Stream which encrypts with cipher feedback mode, using the given Block. The iv must be the same length as the Block's block size.
func NewGOFB ¶
NewGOFB returns a Stream that encrypts or decrypts using the block cipher b in output feedback mode. The initialization vector iv's length must be equal to b's block size.
func NewIGEDecrypter ¶
NewIGEDecrypter returns a BlockMode which decrypts in infinite garble extension mode, using the given Block. The length of iv must be 2 times of Block's block size.
func NewIGEEncrypter ¶
NewIGEEncrypter returns a BlockMode which encrypts in infinite garble extension mode, using the given Block. The length of iv must be 2 times of Block's block size.
func NewNOFB ¶
NewNOFB returns a Stream that encrypts or decrypts using the block cipher b in output feedback mode. The initialization vector iv's length must be equal to b's block size.
func NewOCFBDecrypter ¶
NewOCFBDecrypter returns a cipher.Stream which decrypts data with OpenPGP's cipher feedback mode using the given cipher.Block. Prefix must be the first blockSize + 2 bytes of the ciphertext, where blockSize is the cipher.Block's block size. If an incorrect key is detected then nil is returned. On successful exit, blockSize+2 bytes of decrypted data are written into prefix. Resync determines if the "resynchronization step" from RFC 4880, 13.9 step 7 is performed. Different parts of OpenPGP vary on this point.
func NewOCFBEncrypter ¶
func NewOCFBEncrypter(block cipher.Block, randData []byte, resync OCFBResyncOption) (cipher.Stream, []byte)
NewOCFBEncrypter returns a cipher.Stream which encrypts data with OpenPGP's cipher feedback mode using the given cipher.Block, and an initial amount of ciphertext. randData must be random bytes and be the same length as the cipher.Block's block size. Resync determines if the "resynchronization step" from RFC 4880, 13.9 step 7 is performed. Different parts of OpenPGP vary on this point.
func NewOFBNLFDecrypter ¶
func NewOFBNLFDecrypter(newKey KeyCreator, key, iv []byte) cipher.BlockMode
func NewOFBNLFEncrypter ¶
func NewOFBNLFEncrypter(newKey KeyCreator, key, iv []byte) cipher.BlockMode
Types ¶
type OCFBResyncOption ¶
type OCFBResyncOption bool
An OCFBResyncOption determines if the "resynchronization step" of OCFB is performed.
const ( OCFBResync OCFBResyncOption = true OCFBNoResync OCFBResyncOption = false )