1*2874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2e236d4a8SHerbert Xu /* 3e236d4a8SHerbert Xu * Authenc: Simple AEAD wrapper for IPsec 4e236d4a8SHerbert Xu * 5e236d4a8SHerbert Xu * Copyright (c) 2007 Herbert Xu <herbert@gondor.apana.org.au> 6e236d4a8SHerbert Xu */ 7e236d4a8SHerbert Xu #ifndef _CRYPTO_AUTHENC_H 8e236d4a8SHerbert Xu #define _CRYPTO_AUTHENC_H 9e236d4a8SHerbert Xu 10e236d4a8SHerbert Xu #include <linux/types.h> 11e236d4a8SHerbert Xu 12e236d4a8SHerbert Xu enum { 13e236d4a8SHerbert Xu CRYPTO_AUTHENC_KEYA_UNSPEC, 14e236d4a8SHerbert Xu CRYPTO_AUTHENC_KEYA_PARAM, 15e236d4a8SHerbert Xu }; 16e236d4a8SHerbert Xu 17e236d4a8SHerbert Xu struct crypto_authenc_key_param { 18e236d4a8SHerbert Xu __be32 enckeylen; 19e236d4a8SHerbert Xu }; 20e236d4a8SHerbert Xu 21bc6e2bdbSMathias Krause struct crypto_authenc_keys { 22bc6e2bdbSMathias Krause const u8 *authkey; 23bc6e2bdbSMathias Krause const u8 *enckey; 24e236d4a8SHerbert Xu 25bc6e2bdbSMathias Krause unsigned int authkeylen; 26bc6e2bdbSMathias Krause unsigned int enckeylen; 27bc6e2bdbSMathias Krause }; 28bc6e2bdbSMathias Krause 29bc6e2bdbSMathias Krause int crypto_authenc_extractkeys(struct crypto_authenc_keys *keys, const u8 *key, 30bc6e2bdbSMathias Krause unsigned int keylen); 31bc6e2bdbSMathias Krause 32bc6e2bdbSMathias Krause #endif /* _CRYPTO_AUTHENC_H */ 33