[#CRYPTO_gcm128_new]
= CRYPTO&lowbar;gcm128&lowbar;new
:mrdocs:

Allocate and initialise a GCM128&lowbar;CONTEXT for `key` and `block&period;`

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:GCM128_CONTEXT-04.adoc[GCM128&lowbar;CONTEXT]*
CRYPTO&lowbar;gcm128&lowbar;new(
    void* key,
    xref:block128_f.adoc[block128&lowbar;f] block);
----

== Return Value

New context, or NULL on allocation failure&semi; free with CRYPTO&lowbar;gcm128&lowbar;release()&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *key*
| Cipher&hyphen;specific expanded key for `block&period;`
| *block*
| Block&hyphen;encrypt function used for GHASH key derivation and CTR&period;
|===


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