Documentation ¶
Overview ¶
Package aesccm implements content encryption algorithm AES-CCM for COSE as defined in RFC9053. https://datatracker.ietf.org/doc/html/rfc9053#name-aes-ccm.
(c) 2022-present, LDC Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.
Package ccm implements a CCM, Counter with CBC-MAC as per RFC 3610.
See https://tools.ietf.org/html/rfc3610
This code was lifted from https://github.com/qwerty-iot/dtls/blob/a3300364a283fcb490d28a93d7fcfa7ba437fbbe/ccm/ccm.go and as such was not written by the Pions authors. Like Pions this code is licensed under MIT.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateKey ¶
GenerateKey generates a new Key with given algorithm for AES-CCM.
func MaxNonceLength ¶ added in v1.1.3
MaxNonceLength returns the maximum nonce length for a given plaintext length. A return value <= 0 indicates that plaintext length is too large for any nonce length.
Types ¶
type CCM ¶ added in v1.1.3
type CCM interface { cipher.AEAD // MaxLength returns the maxium length of plaintext in calls to Seal. // The maximum length of ciphertext in calls to Open is MaxLength()+Overhead(). // The maximum length is related to CCM's `L` parameter (15-noncesize) and // is 1<<(8*L) - 1 (but also limited by the maxium size of an int). MaxLength() int }
CCM is a block cipher in Counter with CBC-MAC mode. Providing authenticated encryption with associated data via the cipher.AEAD interface.