Documentation ¶
Index ¶
Constants ¶
const ( AEADModeEAX = AEADMode(1) AEADModeOCB = AEADMode(2) AEADModeGCM = AEADMode(100) )
Supported modes of operation (see RFC4880bis [EAX] and RFC7253)
const ( TripleDES = CipherFunction(2) CAST5 = CipherFunction(3) AES128 = CipherFunction(7) AES192 = CipherFunction(8) AES256 = CipherFunction(9) )
The following constants mirror the OpenPGP standard (RFC 4880).
Variables ¶
var CipherById = map[uint8]Cipher{ TripleDES.Id(): TripleDES, CAST5.Id(): CAST5, AES128.Id(): AES128, AES192.Id(): AES192, AES256.Id(): AES256, }
CipherById represents the different block ciphers specified for OpenPGP. See http://www.iana.org/assignments/pgp-parameters/pgp-parameters.xhtml#pgp-parameters-13
var ( HashById = map[uint8]Hash{ MD5.Id(): MD5, SHA1.Id(): SHA1, RIPEMD160.Id(): RIPEMD160, SHA256.Id(): SHA256, SHA384.Id(): SHA384, SHA512.Id(): SHA512, SHA224.Id(): SHA224, } )
HashById represents the different hash functions specified for OpenPGP. See http://www.iana.org/assignments/pgp-parameters/pgp-parameters.xhtml#pgp-parameters-14
Functions ¶
This section is empty.
Types ¶
type AEADMode ¶
type AEADMode uint8
AEADMode defines the Authenticated Encryption with Associated Data mode of operation.
func (AEADMode) NonceLength ¶
NonceLength returns the length in bytes of nonces.
type Cipher ¶
type Cipher interface { // Id returns the algorithm ID, as a byte, of the cipher. Id() uint8 // KeySize returns the key size, in bytes, of the cipher. KeySize() int // BlockSize returns the block size, in bytes, of the cipher. BlockSize() int // New returns a fresh instance of the given cipher. New(key []byte) cipher.Block }
Cipher is an official symmetric key cipher algorithm. See RFC 4880, section 9.2.
type CipherFunction ¶
type CipherFunction uint8
func (CipherFunction) BlockSize ¶
func (cipher CipherFunction) BlockSize() int
BlockSize returns the block size, in bytes, of cipher.
func (CipherFunction) Id ¶
func (sk CipherFunction) Id() uint8
ID returns the algorithm Id, as a byte, of cipher.
func (CipherFunction) KeySize ¶
func (cipher CipherFunction) KeySize() int
KeySize returns the key size, in bytes, of cipher.
type Hash ¶
type Hash interface { // Id returns the algorithm ID, as a byte, of Hash. Id() uint8 // Available reports whether the given hash function is linked into the binary. Available() bool // HashFunc simply returns the value of h so that Hash implements SignerOpts. HashFunc() crypto.Hash // New returns a new hash.Hash calculating the given hash function. New // panics if the hash function is not linked into the binary. New() hash.Hash // Size returns the length, in bytes, of a digest resulting from the given // hash function. It doesn't require that the hash function in question be // linked into the program. Size() int // String is the name of the hash function corresponding to the given // OpenPGP hash id. String() string }
Hash is an official hash function algorithm. See RFC 4880, section 9.4.
var ( MD5 Hash = cryptoHash{1, crypto.MD5} SHA1 Hash = cryptoHash{2, crypto.SHA1} RIPEMD160 Hash = cryptoHash{3, crypto.RIPEMD160} SHA256 Hash = cryptoHash{8, crypto.SHA256} SHA384 Hash = cryptoHash{9, crypto.SHA384} SHA512 Hash = cryptoHash{10, crypto.SHA512} SHA224 Hash = cryptoHash{11, crypto.SHA224} )
The following vars mirror the crypto/Hash supported hash functions.