diff options
author | Janne Peltonen <janne.peltonen@nokia.com> | 2022-09-13 10:57:36 +0300 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2022-09-29 16:09:44 +0300 |
commit | 6d93593fa41705902ded11147fd753853e2f0420 (patch) | |
tree | f4efd205ad2bd1d86e717c578ff2fefc35e9336d /include/odp/api/spec/crypto.h | |
parent | ac526c501710e8e36770b7d33eb9045bbef08ce6 (diff) |
api: crypto: add experimental ZUC-256 support
Mention that ODP_CIPHER_ALG_ZUC_EEA3 and ODP_AUTH_ALG_ZUC_EIA3 may
support 256 bit key length but that the support is experimental and
subject to change. The standardization status of the algorithms is open
and it is not clear what the defining specifications are. There are
are already two different initialization schemes with different IV lengths
defined.
Mention NEA3 and NIA3 in addition to EEA3 and EIA3 in the API as they
are identical, respectively.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Anoob Joseph <anoobj@marvell.com>
Diffstat (limited to 'include/odp/api/spec/crypto.h')
-rw-r--r-- | include/odp/api/spec/crypto.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/include/odp/api/spec/crypto.h b/include/odp/api/spec/crypto.h index b45731e1b..4f2961f3c 100644 --- a/include/odp/api/spec/crypto.h +++ b/include/odp/api/spec/crypto.h @@ -154,14 +154,23 @@ typedef enum { */ ODP_CIPHER_ALG_AES_EEA2, - /** Confidentiality 128-EEA3 algorithm + /** ZUC based confidentiality algorithm * - * ZUC-based 128-EEA3 algorithm. + * 128-EEA3/128-NEA3 algorithm when key length is 128 bits. * * IV (128 bit) should be formatted according to the ETSI/SAGE * 128-EEA3 & 128-EIA3 specification: * COUNT || BEARER || DIRECTION || 0...0 || * COUNT || BEARER || DIRECTION || 0...0 || + * + * 256-bit key length support is experimental and subject to + * change. The following variants may be supported: + * + * - ZUC-256 with 25 byte IV (of which 184 bits are variable) + * as specified in "The ZUC-256 Stream Cipher". + * - ZUC-256 with 16 byte IV as specified in + * "An Addendum to the ZUC-256 Stream Cipher", + * https://eprint.iacr.org/2021/1439 */ ODP_CIPHER_ALG_ZUC_EEA3, @@ -304,15 +313,24 @@ typedef enum { */ ODP_AUTH_ALG_AES_EIA2, - /** Integrity 128-EIA3 algorithm + /** ZUC-based integrity algorithm. * - * ZUC-based 128-EIA3 algorithm. + * 128-EIA3/128-NIA3 algorithm when key length is 128 bits. * * IV (128 bit) should be formatted according to the ETSI/SAGE * 128-EA3 & 128-EIA2 specification: * COUNT || BEARER || * DIRECTION XOR COUNT0 || COUNT1 .. COUNT31 || * BEARER || 0...0 || DIRECTION || 0...0 + * + * 256-bit key length support is experimental and subject to + * change. The following variants may be supported: + * + * - ZUC-256 with 25 byte IV (of which 184 bits are variable) and + * 32/64/128 bit MAC as specified in "The ZUC-256 Stream Cipher". + * - ZUC-256 with 16 byte IV and 32/64/128 bit MAC as specified in + * "An Addendum to the ZUC-256 Stream Cipher", + * https://eprint.iacr.org/2021/1439 */ ODP_AUTH_ALG_ZUC_EIA3, |