diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-11-27 08:33:24 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-01-10 16:16:43 -0500 |
commit | 23508e11ab3bb405dca66bf4d77e488bf2b07b0c (patch) | |
tree | f1eead8ce9115097e4c2a73d5cbaf8264085a296 | |
parent | 61da88e2b800eed2b03834a73c46cc89ad48716d (diff) |
[CRYPTO] skcipher: Added geniv field
This patch introduces the geniv field which indicates the default IV
generator for each algorithm. It should point to a string that is not
freed as long as the algorithm is registered.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | crypto/ablkcipher.c | 2 | ||||
-rw-r--r-- | crypto/blkcipher.c | 2 | ||||
-rw-r--r-- | include/linux/crypto.h | 4 |
3 files changed, 8 insertions, 0 deletions
diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c index e403d8137ecd..8f48b4d58fca 100644 --- a/crypto/ablkcipher.c +++ b/crypto/ablkcipher.c | |||
@@ -96,6 +96,7 @@ static void crypto_ablkcipher_show(struct seq_file *m, struct crypto_alg *alg) | |||
96 | seq_printf(m, "min keysize : %u\n", ablkcipher->min_keysize); | 96 | seq_printf(m, "min keysize : %u\n", ablkcipher->min_keysize); |
97 | seq_printf(m, "max keysize : %u\n", ablkcipher->max_keysize); | 97 | seq_printf(m, "max keysize : %u\n", ablkcipher->max_keysize); |
98 | seq_printf(m, "ivsize : %u\n", ablkcipher->ivsize); | 98 | seq_printf(m, "ivsize : %u\n", ablkcipher->ivsize); |
99 | seq_printf(m, "geniv : %s\n", ablkcipher->geniv ?: "<default>"); | ||
99 | } | 100 | } |
100 | 101 | ||
101 | const struct crypto_type crypto_ablkcipher_type = { | 102 | const struct crypto_type crypto_ablkcipher_type = { |
@@ -142,6 +143,7 @@ static void crypto_givcipher_show(struct seq_file *m, struct crypto_alg *alg) | |||
142 | seq_printf(m, "min keysize : %u\n", ablkcipher->min_keysize); | 143 | seq_printf(m, "min keysize : %u\n", ablkcipher->min_keysize); |
143 | seq_printf(m, "max keysize : %u\n", ablkcipher->max_keysize); | 144 | seq_printf(m, "max keysize : %u\n", ablkcipher->max_keysize); |
144 | seq_printf(m, "ivsize : %u\n", ablkcipher->ivsize); | 145 | seq_printf(m, "ivsize : %u\n", ablkcipher->ivsize); |
146 | seq_printf(m, "geniv : %s\n", ablkcipher->geniv ?: "<built-in>"); | ||
145 | } | 147 | } |
146 | 148 | ||
147 | const struct crypto_type crypto_givcipher_type = { | 149 | const struct crypto_type crypto_givcipher_type = { |
diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c index 7939504dfd8b..7a3e1a308074 100644 --- a/crypto/blkcipher.c +++ b/crypto/blkcipher.c | |||
@@ -496,6 +496,8 @@ static void crypto_blkcipher_show(struct seq_file *m, struct crypto_alg *alg) | |||
496 | seq_printf(m, "min keysize : %u\n", alg->cra_blkcipher.min_keysize); | 496 | seq_printf(m, "min keysize : %u\n", alg->cra_blkcipher.min_keysize); |
497 | seq_printf(m, "max keysize : %u\n", alg->cra_blkcipher.max_keysize); | 497 | seq_printf(m, "max keysize : %u\n", alg->cra_blkcipher.max_keysize); |
498 | seq_printf(m, "ivsize : %u\n", alg->cra_blkcipher.ivsize); | 498 | seq_printf(m, "ivsize : %u\n", alg->cra_blkcipher.ivsize); |
499 | seq_printf(m, "geniv : %s\n", alg->cra_blkcipher.geniv ?: | ||
500 | "<default>"); | ||
499 | } | 501 | } |
500 | 502 | ||
501 | const struct crypto_type crypto_blkcipher_type = { | 503 | const struct crypto_type crypto_blkcipher_type = { |
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 3656a24ea7f0..facafa1bd8ca 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -183,6 +183,8 @@ struct ablkcipher_alg { | |||
183 | int (*givencrypt)(struct skcipher_givcrypt_request *req); | 183 | int (*givencrypt)(struct skcipher_givcrypt_request *req); |
184 | int (*givdecrypt)(struct skcipher_givcrypt_request *req); | 184 | int (*givdecrypt)(struct skcipher_givcrypt_request *req); |
185 | 185 | ||
186 | const char *geniv; | ||
187 | |||
186 | unsigned int min_keysize; | 188 | unsigned int min_keysize; |
187 | unsigned int max_keysize; | 189 | unsigned int max_keysize; |
188 | unsigned int ivsize; | 190 | unsigned int ivsize; |
@@ -209,6 +211,8 @@ struct blkcipher_alg { | |||
209 | struct scatterlist *dst, struct scatterlist *src, | 211 | struct scatterlist *dst, struct scatterlist *src, |
210 | unsigned int nbytes); | 212 | unsigned int nbytes); |
211 | 213 | ||
214 | const char *geniv; | ||
215 | |||
212 | unsigned int min_keysize; | 216 | unsigned int min_keysize; |
213 | unsigned int max_keysize; | 217 | unsigned int max_keysize; |
214 | unsigned int ivsize; | 218 | unsigned int ivsize; |