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,
	hashFunc prf.HashFunc,
) (*CBC, error)

NewCBC creates a DTLS CBC Cipher.

func (*CBC) Decrypt

func (c *CBC) Decrypt(header 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(header 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(header 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.5 (latest)
Published
Mar 11, 2025
Platform
linux/amd64
Imports
14 packages
Last checked
1 week ago

Tools for package owners.