[#CRYPTO_ccm128_init]
= CRYPTO&lowbar;ccm128&lowbar;init
:mrdocs:

Initialise a CCM128&lowbar;CONTEXT with tag length, length&hyphen;field size, and block cipher&period;

== Synopsis

Declared in `&lt;openssl&sol;modes&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
CRYPTO&lowbar;ccm128&lowbar;init(
    xref:CCM128_CONTEXT-0c.adoc[CCM128&lowbar;CONTEXT]* ctx,
    unsigned int M,
    unsigned int L,
    void* key,
    xref:block128_f.adoc[block128&lowbar;f] block);
----

== Parameters

[cols="1,4"]
|===
| Name| Description
| *ctx*
| Context storage to initialise&period;
| *M*
| Authentication tag length in bytes (for example 8 or 16)&period;
| *L*
| Size of the message&hyphen;length field in bytes (nonce length is 15 &hyphen; L)&period;
| *key*
| Cipher&hyphen;specific expanded key for `block&period;`
| *block*
| Block&hyphen;encrypt function for the underlying cipher&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
