# Functions
DeriveKeysAESGCM derives the client and server keys and creates a matching AES-GCM AEAD instance.
HashCert calculates the FNV1a hash of a certificate.
NewAEADAESGCM creates a AEAD using AES-GCM with 12 bytes tag size
AES-GCM support is a bit hacky, since the go stdlib does not support 12 byte tag size, and couples the cipher and aes packages closely.
NewCertChain loads the key and cert from files.
NewCertManager creates a new CertManager.
NewCurve25519KEX creates a new KeyExchange using Curve25519, see https://cr.yp.to/ecdh.html.
NewStkSource creates a source for source address tokens.
# Interfaces
An AEAD implements QUIC's authenticated encryption and associated data.
A CertChain holds a certificate and a private key.
CertManager manages the certificates sent by the server.
KeyExchange manages the exchange of keys.
StkSource is used to create and verify source address tokens.