16c4fed5fSHarsh Jain /* SPDX-License-Identifier: GPL-2.0 */ 26c4fed5fSHarsh Jain 36c4fed5fSHarsh Jain /* 46c4fed5fSHarsh Jain * Copyright Stephan Mueller <smueller@chronox.de>, 2014 56c4fed5fSHarsh Jain */ 66c4fed5fSHarsh Jain 76c4fed5fSHarsh Jain #ifndef _CRYPTO_DF80090A_H 86c4fed5fSHarsh Jain #define _CRYPTO_DF80090A_H 96c4fed5fSHarsh Jain 106c4fed5fSHarsh Jain #include <crypto/internal/cipher.h> 11*ba0570bdSHarsh Jain #include <crypto/aes.h> 126c4fed5fSHarsh Jain crypto_drbg_ctr_df_datalen(u8 statelen,u8 blocklen)136c4fed5fSHarsh Jainstatic inline int crypto_drbg_ctr_df_datalen(u8 statelen, u8 blocklen) 146c4fed5fSHarsh Jain { 156c4fed5fSHarsh Jain return statelen + /* df_data */ 166c4fed5fSHarsh Jain blocklen + /* pad */ 176c4fed5fSHarsh Jain blocklen + /* iv */ 186c4fed5fSHarsh Jain statelen + blocklen; /* temp */ 196c4fed5fSHarsh Jain } 206c4fed5fSHarsh Jain 21*ba0570bdSHarsh Jain int crypto_drbg_ctr_df(struct crypto_aes_ctx *aes, 226c4fed5fSHarsh Jain unsigned char *df_data, 236c4fed5fSHarsh Jain size_t bytes_to_return, 246c4fed5fSHarsh Jain struct list_head *seedlist, 256c4fed5fSHarsh Jain u8 blocklen_bytes, 266c4fed5fSHarsh Jain u8 statelen); 276c4fed5fSHarsh Jain 286c4fed5fSHarsh Jain #endif /* _CRYPTO_DF80090A_H */ 29