diff options
author | ume <ume@FreeBSD.org> | 2005-03-11 12:45:09 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2005-03-11 12:45:09 +0000 |
commit | 7014c90c7dca3573722b559c70e9431a98a7cd0e (patch) | |
tree | 30102811516fee245b1335403a2d29e1d69a40d9 /sys/opencrypto/xform.c | |
parent | 503e7ada083cecfac1b7743443d791085215b125 (diff) | |
download | FreeBSD-src-7014c90c7dca3573722b559c70e9431a98a7cd0e.zip FreeBSD-src-7014c90c7dca3573722b559c70e9431a98a7cd0e.tar.gz |
- use 1/2 space for rijndael context in ipsec
- rijndael_set_key() always sets up full context
- rijndaelKeySetupDec() gets back original protoype
Reviewed by: sam
Obtained from: OpenBSD
Diffstat (limited to 'sys/opencrypto/xform.c')
-rw-r--r-- | sys/opencrypto/xform.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/opencrypto/xform.c b/sys/opencrypto/xform.c index 87d9b99..f628228 100644 --- a/sys/opencrypto/xform.c +++ b/sys/opencrypto/xform.c @@ -503,7 +503,7 @@ rijndael128_encrypt(caddr_t key, u_int8_t *blk) static void rijndael128_decrypt(caddr_t key, u_int8_t *blk) { - rijndael_decrypt(((rijndael_ctx *) key) + 1, (u_char *) blk, + rijndael_decrypt(((rijndael_ctx *) key), (u_char *) blk, (u_char *) blk); } @@ -512,12 +512,11 @@ rijndael128_setkey(u_int8_t **sched, u_int8_t *key, int len) { int err; - MALLOC(*sched, u_int8_t *, 2 * sizeof(rijndael_ctx), M_CRYPTO_DATA, + MALLOC(*sched, u_int8_t *, sizeof(rijndael_ctx), M_CRYPTO_DATA, M_NOWAIT|M_ZERO); if (*sched != NULL) { - rijndael_set_key((rijndael_ctx *) *sched, (u_char *) key, len * 8, 1); - rijndael_set_key(((rijndael_ctx *) *sched) + 1, (u_char *) key, - len * 8, 0); + rijndael_set_key((rijndael_ctx *) *sched, (u_char *) key, + len * 8); err = 0; } else err = ENOMEM; @@ -527,7 +526,7 @@ rijndael128_setkey(u_int8_t **sched, u_int8_t *key, int len) static void rijndael128_zerokey(u_int8_t **sched) { - bzero(*sched, 2 * sizeof(rijndael_ctx)); + bzero(*sched, sizeof(rijndael_ctx)); FREE(*sched, M_CRYPTO_DATA); *sched = NULL; } |