crypto

package
v0.0.0-...-2e9568b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2017 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	IkeSuites = map[string]protocol.TransformMap{}
	EspSuites = map[string]protocol.TransformMap{}
)
View Source
var (
	Aes128Sha256Modp2048,
	Aes128Sha256Modp3072,
	Aes128Sha256Ecp256,
	Aes128Sha256 protocol.TransformMap
)
View Source
var (
	Aes128gcm16Prfsha256Ecp256,
	Aes256gcm16Prfsha384Ecp384,
	Chacha20poly1305Prfsha256Ecp256,
	Aes128gcm16,
	Aes256gcm16,
	Chacha20poly1305 protocol.TransformMap
)
View Source
var DebugCrypto = false
View Source
var MODP_1024_P = `` /* 331-byte string literal not displayed */
View Source
var MODP_1536_P = `` /* 487-byte string literal not displayed */
View Source
var MODP_2048_P = `` /* 649-byte string literal not displayed */
View Source
var MODP_3072_P = `` /* 967-byte string literal not displayed */
View Source
var MODP_4096_P = `` /* 1291-byte string literal not displayed */
View Source
var MODP_6144_P = `` /* 1903-byte string literal not displayed */
View Source
var MODP_728_P = `` /* 247-byte string literal not displayed */
View Source
var MODP_8192_P = `` /* 2569-byte string literal not displayed */

Functions

This section is empty.

Types

type Cipher

type Cipher interface {
	Overhead(clear []byte) int
	VerifyDecrypt(ike, skA, skE []byte) (dec []byte, err error)
	EncryptMac(ike, skA, skE []byte) (b []byte, err error)
}

Cipher interface provides Encryption & Integrity Protection

type CipherSuite

type CipherSuite struct {
	Cipher  // aead or nonAead
	Prf     *Prf
	DhGroup dhGroup

	// Lengths, in bytes, of the key material needed for each component.
	KeyLen, MacTruncLen int
}

func NewCipherSuite

func NewCipherSuite(trs protocol.TransformMap) (*CipherSuite, error)

Build a CipherSuite from the given transfom TODO - check that the entire suite makes sense

func (*CipherSuite) CheckEspTransforms

func (cs *CipherSuite) CheckEspTransforms() error

func (*CipherSuite) CheckIkeTransforms

func (cs *CipherSuite) CheckIkeTransforms() error

func (*CipherSuite) String

func (cs *CipherSuite) String() string

type Prf

type Prf struct {
	Apply  func(key, data []byte) []byte
	Length int
	protocol.PrfTransformId
}

Pseudo Random Function

func (*Prf) String

func (p *Prf) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL