Documentation ¶
Index ¶
- Variables
- func AddCipher(oid asn1.ObjectIdentifier, cipher CipherFunc)
- func AddGostSbox(name string, sbox GostSbox)
- func AllCipher() map[string]CipherFunc
- func CheckCipher(c Cipher) bool
- func CheckCipherFromName(name string) bool
- func GetCipherName(c Cipher) string
- func GetGostSboxByOID(oid asn1.ObjectIdentifier) ([][]byte, bool)
- type Cipher
- type CipherCBC
- func (this CipherCBC) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherCBC) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCBC) HasKeyLength() bool
- func (this CipherCBC) KeySize() int
- func (this CipherCBC) NeedBmpPassword() bool
- func (this CipherCBC) OID() asn1.ObjectIdentifier
- func (this CipherCBC) WithHasKeyLength(hasKeyLength bool) CipherCBC
- func (this CipherCBC) WithKeySize(keySize int) CipherCBC
- func (this CipherCBC) WithNeedBmpPassword(needBmpPass bool) CipherCBC
- type CipherCCM
- func (this CipherCCM) Decrypt(key, param, ciphertext []byte) ([]byte, error)
- func (this CipherCCM) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCCM) HasKeyLength() bool
- func (this CipherCCM) KeySize() int
- func (this CipherCCM) NeedBmpPassword() bool
- func (this CipherCCM) OID() asn1.ObjectIdentifier
- func (this CipherCCM) WithHasKeyLength(hasKeyLength bool) CipherCCM
- func (this CipherCCM) WithKeySize(keySize int) CipherCCM
- func (this CipherCCM) WithNeedBmpPassword(needBmpPass bool) CipherCCM
- type CipherCCMIv
- func (this CipherCCMIv) Decrypt(key, param, ciphertext []byte) ([]byte, error)
- func (this CipherCCMIv) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCCMIv) HasKeyLength() bool
- func (this CipherCCMIv) KeySize() int
- func (this CipherCCMIv) NeedBmpPassword() bool
- func (this CipherCCMIv) OID() asn1.ObjectIdentifier
- func (this CipherCCMIv) WithHasKeyLength(hasKeyLength bool) CipherCCMIv
- func (this CipherCCMIv) WithKeySize(keySize int) CipherCCMIv
- func (this CipherCCMIv) WithNeedBmpPassword(needBmpPass bool) CipherCCMIv
- type CipherCFB
- func (this CipherCFB) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherCFB) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCFB) HasKeyLength() bool
- func (this CipherCFB) KeySize() int
- func (this CipherCFB) NeedBmpPassword() bool
- func (this CipherCFB) OID() asn1.ObjectIdentifier
- func (this CipherCFB) WithHasKeyLength(hasKeyLength bool) CipherCFB
- func (this CipherCFB) WithKeySize(keySize int) CipherCFB
- func (this CipherCFB) WithNeedBmpPassword(needBmpPass bool) CipherCFB
- type CipherCFB1
- func (this CipherCFB1) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherCFB1) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCFB1) HasKeyLength() bool
- func (this CipherCFB1) KeySize() int
- func (this CipherCFB1) NeedBmpPassword() bool
- func (this CipherCFB1) OID() asn1.ObjectIdentifier
- func (this CipherCFB1) WithHasKeyLength(hasKeyLength bool) CipherCFB1
- func (this CipherCFB1) WithKeySize(keySize int) CipherCFB1
- func (this CipherCFB1) WithNeedBmpPassword(needBmpPass bool) CipherCFB1
- type CipherCFB8
- func (this CipherCFB8) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherCFB8) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCFB8) HasKeyLength() bool
- func (this CipherCFB8) KeySize() int
- func (this CipherCFB8) NeedBmpPassword() bool
- func (this CipherCFB8) OID() asn1.ObjectIdentifier
- func (this CipherCFB8) WithHasKeyLength(hasKeyLength bool) CipherCFB8
- func (this CipherCFB8) WithKeySize(keySize int) CipherCFB8
- func (this CipherCFB8) WithNeedBmpPassword(needBmpPass bool) CipherCFB8
- type CipherCTR
- func (this CipherCTR) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherCTR) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherCTR) HasKeyLength() bool
- func (this CipherCTR) KeySize() int
- func (this CipherCTR) NeedBmpPassword() bool
- func (this CipherCTR) OID() asn1.ObjectIdentifier
- func (this CipherCTR) WithHasKeyLength(hasKeyLength bool) CipherCTR
- func (this CipherCTR) WithKeySize(keySize int) CipherCTR
- func (this CipherCTR) WithNeedBmpPassword(needBmpPass bool) CipherCTR
- type CipherECB
- func (this CipherECB) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherECB) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherECB) HasKeyLength() bool
- func (this CipherECB) KeySize() int
- func (this CipherECB) NeedBmpPassword() bool
- func (this CipherECB) OID() asn1.ObjectIdentifier
- func (this CipherECB) WithHasKeyLength(hasKeyLength bool) CipherECB
- func (this CipherECB) WithKeySize(keySize int) CipherECB
- func (this CipherECB) WithNeedBmpPassword(needBmpPass bool) CipherECB
- type CipherFunc
- type CipherGCM
- func (this CipherGCM) Decrypt(key, param, ciphertext []byte) ([]byte, error)
- func (this CipherGCM) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherGCM) HasKeyLength() bool
- func (this CipherGCM) KeySize() int
- func (this CipherGCM) NeedBmpPassword() bool
- func (this CipherGCM) OID() asn1.ObjectIdentifier
- func (this CipherGCM) WithHasKeyLength(hasKeyLength bool) CipherGCM
- func (this CipherGCM) WithKeySize(keySize int) CipherGCM
- func (this CipherGCM) WithNeedBmpPassword(needBmpPass bool) CipherGCM
- type CipherGCMIv
- func (this CipherGCMIv) Decrypt(key, param, ciphertext []byte) ([]byte, error)
- func (this CipherGCMIv) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherGCMIv) HasKeyLength() bool
- func (this CipherGCMIv) KeySize() int
- func (this CipherGCMIv) NeedBmpPassword() bool
- func (this CipherGCMIv) OID() asn1.ObjectIdentifier
- func (this CipherGCMIv) WithHasKeyLength(hasKeyLength bool) CipherGCMIv
- func (this CipherGCMIv) WithKeySize(keySize int) CipherGCMIv
- func (this CipherGCMIv) WithNeedBmpPassword(needBmpPass bool) CipherGCMIv
- type CipherGostCFB
- func (this CipherGostCFB) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherGostCFB) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherGostCFB) HasKeyLength() bool
- func (this CipherGostCFB) KeySize() int
- func (this CipherGostCFB) NeedBmpPassword() bool
- func (this CipherGostCFB) OID() asn1.ObjectIdentifier
- func (this CipherGostCFB) WithHasKeyLength(hasKeyLength bool) CipherGostCFB
- func (this CipherGostCFB) WithKeySize(keySize int) CipherGostCFB
- func (this CipherGostCFB) WithNeedBmpPassword(needBmpPass bool) CipherGostCFB
- func (this CipherGostCFB) WithSbox(name string) CipherGostCFB
- type CipherOFB
- func (this CipherOFB) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherOFB) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherOFB) HasKeyLength() bool
- func (this CipherOFB) KeySize() int
- func (this CipherOFB) NeedBmpPassword() bool
- func (this CipherOFB) OID() asn1.ObjectIdentifier
- func (this CipherOFB) WithHasKeyLength(hasKeyLength bool) CipherOFB
- func (this CipherOFB) WithKeySize(keySize int) CipherOFB
- func (this CipherOFB) WithNeedBmpPassword(needBmpPass bool) CipherOFB
- type CipherRC2CBC
- func (this CipherRC2CBC) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherRC2CBC) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherRC2CBC) HasKeyLength() bool
- func (this CipherRC2CBC) KeySize() int
- func (this CipherRC2CBC) NeedBmpPassword() bool
- func (this CipherRC2CBC) OID() asn1.ObjectIdentifier
- func (this CipherRC2CBC) WithHasKeyLength(hasKeyLength bool) CipherRC2CBC
- func (this CipherRC2CBC) WithKeySize(keySize int) CipherRC2CBC
- func (this CipherRC2CBC) WithNeedBmpPassword(needBmpPass bool) CipherRC2CBC
- func (this CipherRC2CBC) WithRC2Version(rc2Version int) CipherRC2CBC
- type CipherRC5CBC
- func (this CipherRC5CBC) Decrypt(key, params, ciphertext []byte) ([]byte, error)
- func (this CipherRC5CBC) Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error)
- func (this CipherRC5CBC) HasKeyLength() bool
- func (this CipherRC5CBC) KeySize() int
- func (this CipherRC5CBC) NeedBmpPassword() bool
- func (this CipherRC5CBC) OID() asn1.ObjectIdentifier
- func (this CipherRC5CBC) WithHasKeyLength(hasKeyLength bool) CipherRC5CBC
- func (this CipherRC5CBC) WithKeySize(keySize int) CipherRC5CBC
- func (this CipherRC5CBC) WithNeedBmpPassword(needBmpPass bool) CipherRC5CBC
- func (this CipherRC5CBC) WithRounds(rounds uint) CipherRC5CBC
- func (this CipherRC5CBC) WithWordSize(wordSize uint) CipherRC5CBC
- type Ciphers
- type GostSbox
Constants ¶
This section is empty.
Variables ¶
var AES128CBC = CipherCBC{ // contains filtered or unexported fields }
AES128CBC is the 128-bit key AES cipher in CBC mode.
var AES128CCM = CipherCCM{ // contains filtered or unexported fields }
AES128CCM is the 128-bit key AES cipher in CCM mode.
var AES128CCMIv = CipherCCMIv{ // contains filtered or unexported fields }
AES128CCMIv is the 128-bit key AES cipher in CCM mode.
var AES128CFB = CipherCFB{ // contains filtered or unexported fields }
AES128CFB is the 128-bit key AES cipher in CFB mode.
var AES128ECB = CipherECB{ // contains filtered or unexported fields }
AES128ECB is the 128-bit key AES cipher in ECB mode.
var AES128GCM = CipherGCM{ // contains filtered or unexported fields }
AES128GCM is the 128-bit key AES cipher in GCM mode.
var AES128GCMIv = CipherGCMIv{ // contains filtered or unexported fields }
AES128GCMIv is the 128-bit key AES cipher in GCM mode.
var AES128OFB = CipherOFB{ // contains filtered or unexported fields }
AES128OFB is the 128-bit key AES cipher in OFB mode.
var AES192CBC = CipherCBC{ // contains filtered or unexported fields }
AES192CBC is the 192-bit key AES cipher in CBC mode.
var AES192CCM = CipherCCM{ // contains filtered or unexported fields }
AES192CCM is the 192-bit key AES cipher in CCM mode.
var AES192CCMIv = CipherCCMIv{ // contains filtered or unexported fields }
AES192CCMIv is the 192-bit key AES cipher in CCM mode.
var AES192CFB = CipherCFB{ // contains filtered or unexported fields }
AES192CFB is the 192-bit key AES cipher in CFB mode.
var AES192ECB = CipherECB{ // contains filtered or unexported fields }
AES192ECB is the 192-bit key AES cipher in ECB mode.
var AES192GCM = CipherGCM{ // contains filtered or unexported fields }
AES192GCM is the 192-bit key AES cipher in GCM mode.
var AES192GCMIv = CipherGCMIv{ // contains filtered or unexported fields }
AES192GCMIv is the 192-bit key AES cipher in GCM mode.
var AES192OFB = CipherOFB{ // contains filtered or unexported fields }
AES192OFB is the 192-bit key AES cipher in OFB mode.
var AES256CBC = CipherCBC{ // contains filtered or unexported fields }
AES256CBC is the 256-bit key AES cipher in CBC mode.
var AES256CCM = CipherCCM{ // contains filtered or unexported fields }
AES256CCM is the 256-bit key AES cipher in CCM mode.
var AES256CCMIv = CipherCCMIv{ // contains filtered or unexported fields }
AES256CCMIv is the 256-bit key AES cipher in CCM mode.
var AES256CFB = CipherCFB{ // contains filtered or unexported fields }
AES256CFB is the 256-bit key AES cipher in CFB mode.
var AES256ECB = CipherECB{ // contains filtered or unexported fields }
AES256ECB is the 256-bit key AES cipher in ECB mode.
var AES256GCM = CipherGCM{ // contains filtered or unexported fields }
AES256GCM is the 256-bit key AES cipher in GCM mode.
var AES256GCMIv = CipherGCMIv{ // contains filtered or unexported fields }
AES256GCMIv is the 256-bit key AES cipher in GCM mode.
var AES256OFB = CipherOFB{ // contains filtered or unexported fields }
AES256OFB is the 256-bit key AES cipher in OFB mode.
var ARIA128CBC = CipherCBC{ // contains filtered or unexported fields }
ARIA128CBC is the 128-bit key ARIA cipher in CBC mode.
var ARIA128CCM = CipherCCM{ // contains filtered or unexported fields }
ARIA128CCM is the 128-bit key ARIA cipher in CCM mode.
var ARIA128CFB = CipherCFB{ // contains filtered or unexported fields }
ARIA128CFB is the 128-bit key ARIA cipher in CFB mode.
var ARIA128CTR = CipherCTR{ // contains filtered or unexported fields }
ARIA128CTR is the 128-bit key ARIA cipher in CTR mode.
var ARIA128ECB = CipherECB{ // contains filtered or unexported fields }
ARIA128ECB is the 128-bit key ARIA cipher in ECB mode.
var ARIA128GCM = CipherGCM{ // contains filtered or unexported fields }
ARIA128GCM is the 128-bit key ARIA cipher in GCM mode.
var ARIA128OFB = CipherOFB{ // contains filtered or unexported fields }
ARIA128OFB is the 128-bit key ARIA cipher in OFB mode.
var ARIA192CBC = CipherCBC{ // contains filtered or unexported fields }
ARIA192CBC is the 192-bit key ARIA cipher in CBC mode.
var ARIA192CCM = CipherCCM{ // contains filtered or unexported fields }
ARIA192CCM is the 192-bit key ARIA cipher in CCM mode.
var ARIA192CFB = CipherCFB{ // contains filtered or unexported fields }
ARIA192CFB is the 192-bit key ARIA cipher in CFB mode.
var ARIA192CTR = CipherCTR{ // contains filtered or unexported fields }
ARIA192CTR is the 192-bit key ARIA cipher in CTR mode.
var ARIA192ECB = CipherECB{ // contains filtered or unexported fields }
ARIA192ECB is the 192-bit key ARIA cipher in ECB mode.
var ARIA192GCM = CipherGCM{ // contains filtered or unexported fields }
ARIA192GCM is the 192-bit key ARIA cipher in GCM mode.
var ARIA192OFB = CipherOFB{ // contains filtered or unexported fields }
ARIA192OFB is the 192-bit key ARIA cipher in OFB mode.
var ARIA256CBC = CipherCBC{ // contains filtered or unexported fields }
ARIA256CBC is the 256-bit key ARIA cipher in CBC mode.
var ARIA256CCM = CipherCCM{ // contains filtered or unexported fields }
ARIA256CCM is the 256-bit key ARIA cipher in CCM mode.
var ARIA256CFB = CipherCFB{ // contains filtered or unexported fields }
ARIA256CFB is the 256-bit key ARIA cipher in CFB mode.
var ARIA256CTR = CipherCTR{ // contains filtered or unexported fields }
ARIA256CTR is the 256-bit key ARIA cipher in CTR mode.
var ARIA256ECB = CipherECB{ // contains filtered or unexported fields }
ARIA256ECB is the 256-bit key ARIA cipher in ECB mode.
var ARIA256GCM = CipherGCM{ // contains filtered or unexported fields }
ARIA256GCM is the 256-bit key ARIA cipher in GCM mode.
var ARIA256OFB = CipherOFB{ // contains filtered or unexported fields }
ARIA256OFB is the 256-bit key ARIA cipher in OFB mode.
var CipherMap = map[string]Cipher{ "DESCBC": DESCBC, "DESEDE3CBC": DESEDE3CBC, "RC2CBC": RC2CBC, "RC2_40CBC": RC2_40CBC, "RC2_64CBC": RC2_64CBC, "RC2_128CBC": RC2_128CBC, "RC5CBC": RC5CBC, "RC5_128CBC": RC5_128CBC, "RC5_192CBC": RC5_192CBC, "RC5_256CBC": RC5_256CBC, "AES128ECB": AES128ECB, "AES128CBC": AES128CBC, "AES128OFB": AES128OFB, "AES128CFB": AES128CFB, "AES128GCM": AES128GCM, "AES128GCMIv": AES128GCMIv, "AES128CCM": AES128CCM, "AES128CCMIv": AES128CCMIv, "AES192ECB": AES192ECB, "AES192CBC": AES192CBC, "AES192OFB": AES192OFB, "AES192CFB": AES192CFB, "AES192GCM": AES192GCM, "AES192GCMIv": AES192GCMIv, "AES192CCM": AES192CCM, "AES192CCMIv": AES192CCMIv, "AES256ECB": AES256ECB, "AES256CBC": AES256CBC, "AES256OFB": AES256OFB, "AES256CFB": AES256CFB, "AES256GCM": AES256GCM, "AES256GCMIv": AES256GCMIv, "AES256CCM": AES256CCM, "AES256CCMIv": AES256CCMIv, "SM4Cipher": SM4Cipher, "SM4ECB": SM4ECB, "SM4CBC": SM4CBC, "SM4OFB": SM4OFB, "SM4CFB": SM4CFB, "SM4CFB1": SM4CFB1, "SM4CFB8": SM4CFB8, "SM4GCM": SM4GCM, "SM4GCMIv": SM4GCMIv, "SM4CCM": SM4CCM, "SM4CCMIv": SM4CCMIv, "GostCipher": GostCipher, "ARIA128ECB": ARIA128ECB, "ARIA128CBC": ARIA128CBC, "ARIA128CFB": ARIA128CFB, "ARIA128OFB": ARIA128OFB, "ARIA128CTR": ARIA128CTR, "ARIA128GCM": ARIA128GCM, "ARIA128CCM": ARIA128CCM, "ARIA192ECB": ARIA192ECB, "ARIA192CBC": ARIA192CBC, "ARIA192CFB": ARIA192CFB, "ARIA192OFB": ARIA192OFB, "ARIA192CTR": ARIA192CTR, "ARIA192GCM": ARIA192GCM, "ARIA192CCM": ARIA192CCM, "ARIA256ECB": ARIA256ECB, "ARIA256CBC": ARIA256CBC, "ARIA256CFB": ARIA256CFB, "ARIA256OFB": ARIA256OFB, "ARIA256CTR": ARIA256CTR, "ARIA256GCM": ARIA256GCM, "ARIA256CCM": ARIA256CCM, "Misty1CBC": Misty1CBC, "Serpent128ECB": Serpent128ECB, "Serpent128CBC": Serpent128CBC, "Serpent128OFB": Serpent128OFB, "Serpent128CFB": Serpent128CFB, "Serpent192ECB": Serpent192ECB, "Serpent192CBC": Serpent192CBC, "Serpent192OFB": Serpent192OFB, "Serpent192CFB": Serpent192CFB, "Serpent256ECB": Serpent256ECB, "Serpent256CBC": Serpent256CBC, "Serpent256OFB": Serpent256OFB, "Serpent256CFB": Serpent256CFB, "SeedECB": SeedECB, "SeedCBC": SeedCBC, "SeedOFB": SeedOFB, "SeedCFB": SeedCFB, "Seed256ECB": Seed256ECB, "Seed256CBC": Seed256CBC, "Seed256OFB": Seed256OFB, "Seed256CFB": Seed256CFB, }
Cipher 列表
var DESCBC = CipherCBC{ // contains filtered or unexported fields }
DESCBC is the 56-bit key DES cipher in CBC mode.
var DESEDE3CBC = CipherCBC{ // contains filtered or unexported fields }
TripleDESCBC is the 168-bit key 3DES cipher in CBC mode.
var GostCipher = CipherGostCFB{ // contains filtered or unexported fields }
GostCipher is the 256-bit key Gost cipher in CFB mode.
var Misty1CBC = CipherCBC{ // contains filtered or unexported fields }
Misty1CBC is the 128-bit key Misty1 cipher in CBC mode.
var RC2CBC = CipherRC2CBC{ // contains filtered or unexported fields }
RC2CBC is the [40-bit, 64-bit, 128-bit] key RC2 cipher in CBC mode. [rc2Version, keySize] = [58, 16] | [120, 8] | [160, 5]
var RC2_128CBC = RC2CBC.WithRC2Version(58).WithKeySize(16)
var RC2_40CBC = RC2CBC.WithRC2Version(160).WithKeySize(5)
var RC2_64CBC = RC2CBC.WithRC2Version(120).WithKeySize(8)
var RC5CBC = CipherRC5CBC{ // contains filtered or unexported fields }
RC5CBC is the [16, 24, 32] bytes key RC5 cipher in CBC mode. wordSize = [32, 64] | rounds = [8, 127]
var RC5_128CBC = RC5CBC.WithKeySize(16)
var RC5_192CBC = RC5CBC.WithKeySize(24)
var RC5_256CBC = RC5CBC.WithKeySize(32)
var SM4CBC = CipherCBC{ // contains filtered or unexported fields }
SM4CBC is the 128-bit key SM4 cipher in CBC mode.
var SM4CCM = CipherCCM{ // contains filtered or unexported fields }
SM4CCM is the 128-bit key SM4 cipher in CCM mode.
var SM4CCMIv = CipherCCMIv{ // contains filtered or unexported fields }
SM4CCMIv is the 128-bit key SM4 cipher in CCM mode.
var SM4CFB = CipherCFB{ // contains filtered or unexported fields }
SM4CFB is the 128-bit key SM4 cipher in CFB mode.
var SM4CFB1 = CipherCFB1{ // contains filtered or unexported fields }
SM4CFB1 is the 128-bit key SM4 cipher in CFB mode.
var SM4CFB8 = CipherCFB8{ // contains filtered or unexported fields }
SM4CFB8 is the 128-bit key SM4 cipher in CFB mode.
var SM4Cipher = CipherCBC{ // contains filtered or unexported fields }
SM4Cipher is the 128-bit key SM4 cipher in CBC mode.
var SM4ECB = CipherECB{ // contains filtered or unexported fields }
SM4ECB is the 128-bit key SM4 cipher in ECB mode.
var SM4GCM = CipherGCM{ // contains filtered or unexported fields }
SM4GCM is the 128-bit key SM4 cipher in GCM mode.
var SM4GCMIv = CipherGCMIv{ // contains filtered or unexported fields }
SM4GCMIv is the 128-bit key SM4 cipher in GCM mode.
var SM4OFB = CipherOFB{ // contains filtered or unexported fields }
SM4OFB is the 128-bit key SM4 cipher in OFB mode.
var Seed256CBC = SeedCBC.WithKeySize(32)
var Seed256CFB = SeedCFB.WithKeySize(32)
var Seed256ECB = SeedECB.WithKeySize(32)
Seed is the 256-bit key Seed cipher in ECB mode.
var Seed256OFB = SeedOFB.WithKeySize(32)
var SeedCBC = CipherCBC{ // contains filtered or unexported fields }
SeedCBC is the 128-bit key Seed cipher in CBC mode.
var SeedCFB = CipherCFB{ // contains filtered or unexported fields }
SeedCFB is the 128-bit key Seed cipher in CFB mode.
var SeedECB = CipherECB{ // contains filtered or unexported fields }
SeedECB is the 128-bit key Seed cipher in ECB mode.
var SeedOFB = CipherOFB{ // contains filtered or unexported fields }
SeedOFB is the 128-bit key Seed cipher in OFB mode.
var Serpent128CBC = CipherCBC{ // contains filtered or unexported fields }
Serpent128CBC is the 128-bit key Serpent cipher in CBC mode.
var Serpent128CFB = CipherCFB{ // contains filtered or unexported fields }
Serpent128CFB is the 128-bit key Serpent cipher in CFB mode.
var Serpent128ECB = CipherECB{ // contains filtered or unexported fields }
Serpent128ECB is the 128-bit key Serpent cipher in ECB mode.
var Serpent128OFB = CipherOFB{ // contains filtered or unexported fields }
Serpent128OFB is the 128-bit key Serpent cipher in OFB mode.
var Serpent192CBC = CipherCBC{ // contains filtered or unexported fields }
Serpent192CBC is the 192-bit key Serpent cipher in CBC mode.
var Serpent192CFB = CipherCFB{ // contains filtered or unexported fields }
Serpent192CFB is the 192-bit key Serpent cipher in CFB mode.
var Serpent192ECB = CipherECB{ // contains filtered or unexported fields }
Serpent192ECB is the 192-bit key Serpent cipher in ECB mode.
var Serpent192OFB = CipherOFB{ // contains filtered or unexported fields }
Serpent192OFB is the 192-bit key Serpent cipher in OFB mode.
var Serpent256CBC = CipherCBC{ // contains filtered or unexported fields }
Serpent256CBC is the 256-bit key Serpent cipher in CBC mode.
var Serpent256CFB = CipherCFB{ // contains filtered or unexported fields }
Serpent256CFB is the 256-bit key Serpent cipher in CFB mode.
var Serpent256ECB = CipherECB{ // contains filtered or unexported fields }
Serpent256ECB is the 256-bit key Serpent cipher in ECB mode.
var Serpent256OFB = CipherOFB{ // contains filtered or unexported fields }
Serpent256OFB is the 256-bit key Serpent cipher in OFB mode.
Functions ¶
func AddGostSbox ¶ added in v1.0.2050
func GetGostSboxByOID ¶ added in v1.0.2050
func GetGostSboxByOID(oid asn1.ObjectIdentifier) ([][]byte, bool)
Types ¶
type Cipher ¶
type Cipher interface { // oid OID() asn1.ObjectIdentifier // 值大小 KeySize() int // 是否有 KeyLength HasKeyLength() bool // 密码是否需要 Bmp 处理 NeedBmpPassword() bool // 加密, 返回: [加密后数据, 参数, error] Encrypt(rand io.Reader, key, plaintext []byte) ([]byte, []byte, error) // 解密 Decrypt(key, params, ciphertext []byte) ([]byte, error) }
加密接口
type CipherCBC ¶
type CipherCBC struct {
// contains filtered or unexported fields
}
cbc 模式加密
func (CipherCBC) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherCBC) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherCBC) WithHasKeyLength ¶ added in v1.0.2039
func (CipherCBC) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherCBC) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherCCM ¶
type CipherCCM struct {
// contains filtered or unexported fields
}
ccm 模式加密
func (CipherCCM) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherCCM) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherCCM) WithHasKeyLength ¶ added in v1.0.2039
func (CipherCCM) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherCCM) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherCCMIv ¶ added in v1.0.2029
type CipherCCMIv struct {
// contains filtered or unexported fields
}
ccm 模式加密
func (CipherCCMIv) Decrypt ¶ added in v1.0.2029
func (this CipherCCMIv) Decrypt(key, param, ciphertext []byte) ([]byte, error)
解密
func (CipherCCMIv) HasKeyLength ¶ added in v1.0.2039
func (this CipherCCMIv) HasKeyLength() bool
是否有 KeyLength
func (CipherCCMIv) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherCCMIv) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherCCMIv) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherCCMIv) WithHasKeyLength(hasKeyLength bool) CipherCCMIv
func (CipherCCMIv) WithKeySize ¶ added in v1.0.2058
func (this CipherCCMIv) WithKeySize(keySize int) CipherCCMIv
设置 keySize
func (CipherCCMIv) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherCCMIv) WithNeedBmpPassword(needBmpPass bool) CipherCCMIv
type CipherCFB ¶
type CipherCFB struct {
// contains filtered or unexported fields
}
CFB 模式加密
func (CipherCFB) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherCFB) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherCFB) WithHasKeyLength ¶ added in v1.0.2039
func (CipherCFB) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherCFB) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherCFB1 ¶
type CipherCFB1 struct {
// contains filtered or unexported fields
}
CFB1 模式加密
func (CipherCFB1) Decrypt ¶
func (this CipherCFB1) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
func (CipherCFB1) HasKeyLength ¶ added in v1.0.2039
func (this CipherCFB1) HasKeyLength() bool
是否有 KeyLength
func (CipherCFB1) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherCFB1) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherCFB1) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherCFB1) WithHasKeyLength(hasKeyLength bool) CipherCFB1
func (CipherCFB1) WithKeySize ¶ added in v1.0.2058
func (this CipherCFB1) WithKeySize(keySize int) CipherCFB1
设置 keySize
func (CipherCFB1) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherCFB1) WithNeedBmpPassword(needBmpPass bool) CipherCFB1
type CipherCFB8 ¶
type CipherCFB8 struct {
// contains filtered or unexported fields
}
CFB8 模式加密
func (CipherCFB8) Decrypt ¶
func (this CipherCFB8) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
func (CipherCFB8) HasKeyLength ¶ added in v1.0.2039
func (this CipherCFB8) HasKeyLength() bool
是否有 KeyLength
func (CipherCFB8) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherCFB8) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherCFB8) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherCFB8) WithHasKeyLength(hasKeyLength bool) CipherCFB8
func (CipherCFB8) WithKeySize ¶ added in v1.0.2058
func (this CipherCFB8) WithKeySize(keySize int) CipherCFB8
设置 keySize
func (CipherCFB8) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherCFB8) WithNeedBmpPassword(needBmpPass bool) CipherCFB8
type CipherCTR ¶ added in v1.0.2057
type CipherCTR struct {
// contains filtered or unexported fields
}
ctr 模式加密
func (CipherCTR) HasKeyLength ¶ added in v1.0.2057
是否有 KeyLength
func (CipherCTR) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherCTR) WithHasKeyLength ¶ added in v1.0.2057
func (CipherCTR) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherCTR) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherECB ¶
type CipherECB struct {
// contains filtered or unexported fields
}
ecb 模式加密
func (CipherECB) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherECB) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherECB) WithHasKeyLength ¶ added in v1.0.2039
func (CipherECB) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherECB) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherGCM ¶
type CipherGCM struct {
// contains filtered or unexported fields
}
gcm 模式加密
func (CipherGCM) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherGCM) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherGCM) WithHasKeyLength ¶ added in v1.0.2039
func (CipherGCM) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherGCM) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherGCMIv ¶ added in v1.0.2029
type CipherGCMIv struct {
// contains filtered or unexported fields
}
gcm 模式加密
func (CipherGCMIv) Decrypt ¶ added in v1.0.2029
func (this CipherGCMIv) Decrypt(key, param, ciphertext []byte) ([]byte, error)
解密
func (CipherGCMIv) HasKeyLength ¶ added in v1.0.2039
func (this CipherGCMIv) HasKeyLength() bool
是否有 KeyLength
func (CipherGCMIv) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherGCMIv) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherGCMIv) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherGCMIv) WithHasKeyLength(hasKeyLength bool) CipherGCMIv
func (CipherGCMIv) WithKeySize ¶ added in v1.0.2058
func (this CipherGCMIv) WithKeySize(keySize int) CipherGCMIv
设置 keySize
func (CipherGCMIv) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherGCMIv) WithNeedBmpPassword(needBmpPass bool) CipherGCMIv
type CipherGostCFB ¶ added in v1.0.2050
type CipherGostCFB struct {
// contains filtered or unexported fields
}
Gost CFB 模式加密
func (CipherGostCFB) Decrypt ¶ added in v1.0.2050
func (this CipherGostCFB) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
func (CipherGostCFB) HasKeyLength ¶ added in v1.0.2050
func (this CipherGostCFB) HasKeyLength() bool
是否有 KeyLength
func (CipherGostCFB) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherGostCFB) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherGostCFB) OID ¶ added in v1.0.2050
func (this CipherGostCFB) OID() asn1.ObjectIdentifier
oid
func (CipherGostCFB) WithHasKeyLength ¶ added in v1.0.2050
func (this CipherGostCFB) WithHasKeyLength(hasKeyLength bool) CipherGostCFB
func (CipherGostCFB) WithKeySize ¶ added in v1.0.2058
func (this CipherGostCFB) WithKeySize(keySize int) CipherGostCFB
设置 keySize
func (CipherGostCFB) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherGostCFB) WithNeedBmpPassword(needBmpPass bool) CipherGostCFB
func (CipherGostCFB) WithSbox ¶ added in v1.0.2050
func (this CipherGostCFB) WithSbox(name string) CipherGostCFB
type CipherOFB ¶
type CipherOFB struct {
// contains filtered or unexported fields
}
OFB 模式加密
func (CipherOFB) HasKeyLength ¶ added in v1.0.2039
是否有 KeyLength
func (CipherOFB) NeedBmpPassword ¶ added in v1.0.2066
密码是否需要 Bmp 处理
func (CipherOFB) WithHasKeyLength ¶ added in v1.0.2039
func (CipherOFB) WithKeySize ¶ added in v1.0.2058
设置 keySize
func (CipherOFB) WithNeedBmpPassword ¶ added in v1.0.2066
type CipherRC2CBC ¶
type CipherRC2CBC struct {
// contains filtered or unexported fields
}
cbc 模式加密
func (CipherRC2CBC) Decrypt ¶
func (this CipherRC2CBC) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
func (CipherRC2CBC) HasKeyLength ¶ added in v1.0.2039
func (this CipherRC2CBC) HasKeyLength() bool
是否有 KeyLength
func (CipherRC2CBC) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherRC2CBC) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherRC2CBC) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherRC2CBC) WithHasKeyLength(hasKeyLength bool) CipherRC2CBC
func (CipherRC2CBC) WithKeySize ¶
func (this CipherRC2CBC) WithKeySize(keySize int) CipherRC2CBC
设置 keySize
func (CipherRC2CBC) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherRC2CBC) WithNeedBmpPassword(needBmpPass bool) CipherRC2CBC
func (CipherRC2CBC) WithRC2Version ¶
func (this CipherRC2CBC) WithRC2Version(rc2Version int) CipherRC2CBC
设置 RC2Version
type CipherRC5CBC ¶
type CipherRC5CBC struct {
// contains filtered or unexported fields
}
cbc 模式加密
func (CipherRC5CBC) Decrypt ¶
func (this CipherRC5CBC) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
func (CipherRC5CBC) HasKeyLength ¶ added in v1.0.2039
func (this CipherRC5CBC) HasKeyLength() bool
是否有 KeyLength
func (CipherRC5CBC) NeedBmpPassword ¶ added in v1.0.2066
func (this CipherRC5CBC) NeedBmpPassword() bool
密码是否需要 Bmp 处理
func (CipherRC5CBC) WithHasKeyLength ¶ added in v1.0.2039
func (this CipherRC5CBC) WithHasKeyLength(hasKeyLength bool) CipherRC5CBC
func (CipherRC5CBC) WithKeySize ¶
func (this CipherRC5CBC) WithKeySize(keySize int) CipherRC5CBC
设置 keySize
func (CipherRC5CBC) WithNeedBmpPassword ¶ added in v1.0.2066
func (this CipherRC5CBC) WithNeedBmpPassword(needBmpPass bool) CipherRC5CBC
func (CipherRC5CBC) WithRounds ¶
func (this CipherRC5CBC) WithRounds(rounds uint) CipherRC5CBC
设置 Rounds
func (CipherRC5CBC) WithWordSize ¶
func (this CipherRC5CBC) WithWordSize(wordSize uint) CipherRC5CBC
设置 WordSize
type Ciphers ¶ added in v1.0.2032
type Ciphers struct {
// contains filtered or unexported fields
}
Ciphers
func NewCiphers ¶ added in v1.0.2032
func NewCiphers() *Ciphers
func (*Ciphers) AddCipher ¶ added in v1.0.2032
func (this *Ciphers) AddCipher(oid asn1.ObjectIdentifier, cipher CipherFunc)
添加加密
type GostSbox ¶ added in v1.0.2050
type GostSbox struct { OID asn1.ObjectIdentifier Sbox [][]byte }