aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/drbg.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/crypto/drbg.c b/crypto/drbg.c
index acc752373791..cce915b9d6bc 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -356,6 +356,7 @@ static inline void drbg_add_buf(unsigned char *dst, size_t dstlen,
356 ******************************************************************/ 356 ******************************************************************/
357 357
358#ifdef CONFIG_CRYPTO_DRBG_CTR 358#ifdef CONFIG_CRYPTO_DRBG_CTR
359#define CRYPTO_DRBG_CTR_STRING "CTR "
359static int drbg_kcapi_sym(struct drbg_state *drbg, const unsigned char *key, 360static int drbg_kcapi_sym(struct drbg_state *drbg, const unsigned char *key,
360 unsigned char *outval, const struct drbg_string *in); 361 unsigned char *outval, const struct drbg_string *in);
361static int drbg_init_sym_kernel(struct drbg_state *drbg); 362static int drbg_init_sym_kernel(struct drbg_state *drbg);
@@ -717,6 +718,7 @@ static int drbg_fini_hash_kernel(struct drbg_state *drbg);
717#endif /* (CONFIG_CRYPTO_DRBG_HASH || CONFIG_CRYPTO_DRBG_HMAC) */ 718#endif /* (CONFIG_CRYPTO_DRBG_HASH || CONFIG_CRYPTO_DRBG_HMAC) */
718 719
719#ifdef CONFIG_CRYPTO_DRBG_HMAC 720#ifdef CONFIG_CRYPTO_DRBG_HMAC
721#define CRYPTO_DRBG_HMAC_STRING "HMAC "
720/* update function of HMAC DRBG as defined in 10.1.2.2 */ 722/* update function of HMAC DRBG as defined in 10.1.2.2 */
721static int drbg_hmac_update(struct drbg_state *drbg, struct list_head *seed, 723static int drbg_hmac_update(struct drbg_state *drbg, struct list_head *seed,
722 int reseed) 724 int reseed)
@@ -836,6 +838,7 @@ static struct drbg_state_ops drbg_hmac_ops = {
836 ******************************************************************/ 838 ******************************************************************/
837 839
838#ifdef CONFIG_CRYPTO_DRBG_HASH 840#ifdef CONFIG_CRYPTO_DRBG_HASH
841#define CRYPTO_DRBG_HASH_STRING "HASH "
839/* 842/*
840 * scratchpad usage: as drbg_hash_update and drbg_hash_df are used 843 * scratchpad usage: as drbg_hash_update and drbg_hash_df are used
841 * interlinked, the scratchpad is used as follows: 844 * interlinked, the scratchpad is used as follows:
@@ -1867,7 +1870,7 @@ static inline int __init drbg_healthcheck_sanity(void)
1867 1870
1868#ifdef CONFIG_CRYPTO_DRBG_CTR 1871#ifdef CONFIG_CRYPTO_DRBG_CTR
1869 drbg_convert_tfm_core("drbg_nopr_ctr_aes128", &coreref, &pr); 1872 drbg_convert_tfm_core("drbg_nopr_ctr_aes128", &coreref, &pr);
1870#elif CONFIG_CRYPTO_DRBG_HASH 1873#elif defined CONFIG_CRYPTO_DRBG_HASH
1871 drbg_convert_tfm_core("drbg_nopr_sha256", &coreref, &pr); 1874 drbg_convert_tfm_core("drbg_nopr_sha256", &coreref, &pr);
1872#else 1875#else
1873 drbg_convert_tfm_core("drbg_nopr_hmac_sha256", &coreref, &pr); 1876 drbg_convert_tfm_core("drbg_nopr_hmac_sha256", &coreref, &pr);
@@ -2009,16 +2012,19 @@ void __exit drbg_exit(void)
2009 2012
2010module_init(drbg_init); 2013module_init(drbg_init);
2011module_exit(drbg_exit); 2014module_exit(drbg_exit);
2012MODULE_LICENSE("GPL"); 2015#ifndef CRYPTO_DRBG_HASH_STRING
2013MODULE_AUTHOR("Stephan Mueller <smueller@chronox.de>"); 2016#define CRYPTO_DRBG_HASH_STRING ""
2014MODULE_DESCRIPTION("NIST SP800-90A Deterministic Random Bit Generator (DRBG) using following cores:"
2015#ifdef CONFIG_CRYPTO_DRBG_HMAC
2016"HMAC "
2017#endif 2017#endif
2018#ifdef CONFIG_CRYPTO_DRBG_HASH 2018#ifndef CRYPTO_DRBG_HMAC_STRING
2019"Hash " 2019#define CRYPTO_DRBG_HMAC_STRING ""
2020#endif 2020#endif
2021#ifdef CONFIG_CRYPTO_DRBG_CTR 2021#ifndef CRYPTO_DRBG_CTR_STRING
2022"CTR" 2022#define CRYPTO_DRBG_CTR_STRING ""
2023#endif 2023#endif
2024); 2024MODULE_LICENSE("GPL");
2025MODULE_AUTHOR("Stephan Mueller <smueller@chronox.de>");
2026MODULE_DESCRIPTION("NIST SP800-90A Deterministic Random Bit Generator (DRBG) "
2027 "using following cores: "
2028 CRYPTO_DRBG_HASH_STRING
2029 CRYPTO_DRBG_HMAC_STRING
2030 CRYPTO_DRBG_CTR_STRING);