Documentation
¶
Index ¶
Constants ¶
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 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.