package ciphersuite

import "github.com/pion/dtls/v3/pkg/crypto/ciphersuite"

Package ciphersuite provides the crypto operations needed for a DTLS CipherSuite

Index

Types

type CBC

type CBC struct {
	// contains filtered or unexported fields
}

CBC Provides an API to Encrypt/Decrypt DTLS 1.2 Packets

func NewCBC

func NewCBC(localKey, localWriteIV, localMac, remoteKey, remoteWriteIV, remoteMac []byte, h prf.HashFunc) (*CBC, error)

NewCBC creates a DTLS CBC Cipher

func (*CBC) Decrypt

func (c *CBC) Decrypt(h recordlayer.Header, in []byte) ([]byte, error)

Decrypt decrypts a DTLS RecordLayer message

func (*CBC) Encrypt

func (c *CBC) Encrypt(pkt *recordlayer.RecordLayer, raw []byte) ([]byte, error)

Encrypt encrypt a DTLS RecordLayer message

type CCM

type CCM struct {
	// contains filtered or unexported fields
}

CCM Provides an API to Encrypt/Decrypt DTLS 1.2 Packets

func NewCCM

func NewCCM(tagLen CCMTagLen, localKey, localWriteIV, remoteKey, remoteWriteIV []byte) (*CCM, error)

NewCCM creates a DTLS GCM Cipher

func (*CCM) Decrypt

func (c *CCM) Decrypt(h recordlayer.Header, in []byte) ([]byte, error)

Decrypt decrypts a DTLS RecordLayer message

func (*CCM) Encrypt

func (c *CCM) Encrypt(pkt *recordlayer.RecordLayer, raw []byte) ([]byte, error)

Encrypt encrypt a DTLS RecordLayer message

type CCMTagLen

type CCMTagLen int

CCMTagLen is the length of Authentication Tag

const (
	CCMTagLength8 CCMTagLen = 8
	CCMTagLength  CCMTagLen = 16
)

CCM Enums

type GCM

type GCM struct {
	// contains filtered or unexported fields
}

GCM Provides an API to Encrypt/Decrypt DTLS 1.2 Packets

func NewGCM

func NewGCM(localKey, localWriteIV, remoteKey, remoteWriteIV []byte) (*GCM, error)

NewGCM creates a DTLS GCM Cipher

func (*GCM) Decrypt

func (g *GCM) Decrypt(h recordlayer.Header, in []byte) ([]byte, error)

Decrypt decrypts a DTLS RecordLayer message

func (*GCM) Encrypt

func (g *GCM) Encrypt(pkt *recordlayer.RecordLayer, raw []byte) ([]byte, error)

Encrypt encrypt a DTLS RecordLayer message

Source Files

cbc.go ccm.go ciphersuite.go gcm.go

Version
v3.0.4 (latest)
Published
Nov 4, 2024
Platform
linux/amd64
Imports
14 packages
Last checked
1 week ago

Tools for package owners.