summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/opencrypto/xform_des3.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/opencrypto/xform_des3.c')
-rw-r--r--freebsd/sys/opencrypto/xform_des3.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/freebsd/sys/opencrypto/xform_des3.c b/freebsd/sys/opencrypto/xform_des3.c
index 1b26b622..ea32a1ab 100644
--- a/freebsd/sys/opencrypto/xform_des3.c
+++ b/freebsd/sys/opencrypto/xform_des3.c
@@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$");
#include <crypto/des/des.h>
#include <opencrypto/xform_enc.h>
-static int des3_setkey(u_int8_t **, u_int8_t *, int);
+static int des3_setkey(u_int8_t **, const u_int8_t *, int);
static void des3_encrypt(caddr_t, u_int8_t *);
static void des3_decrypt(caddr_t, u_int8_t *);
static void des3_zerokey(u_int8_t **);
@@ -76,23 +76,21 @@ struct enc_xform enc_xform_3des = {
static void
des3_encrypt(caddr_t key, u_int8_t *blk)
{
- des_cblock *cb = (des_cblock *) blk;
des_key_schedule *p = (des_key_schedule *) key;
- des_ecb3_encrypt(cb, cb, p[0], p[1], p[2], DES_ENCRYPT);
+ des_ecb3_encrypt(blk, blk, p[0], p[1], p[2], DES_ENCRYPT);
}
static void
des3_decrypt(caddr_t key, u_int8_t *blk)
{
- des_cblock *cb = (des_cblock *) blk;
des_key_schedule *p = (des_key_schedule *) key;
- des_ecb3_encrypt(cb, cb, p[0], p[1], p[2], DES_DECRYPT);
+ des_ecb3_encrypt(blk, blk, p[0], p[1], p[2], DES_DECRYPT);
}
static int
-des3_setkey(u_int8_t **sched, u_int8_t *key, int len)
+des3_setkey(u_int8_t **sched, const u_int8_t *key, int len)
{
des_key_schedule *p;
int err;
@@ -100,9 +98,9 @@ des3_setkey(u_int8_t **sched, u_int8_t *key, int len)
p = KMALLOC(3*sizeof (des_key_schedule),
M_CRYPTO_DATA, M_NOWAIT|M_ZERO);
if (p != NULL) {
- des_set_key((des_cblock *)(key + 0), p[0]);
- des_set_key((des_cblock *)(key + 8), p[1]);
- des_set_key((des_cblock *)(key + 16), p[2]);
+ des_set_key(key + 0, p[0]);
+ des_set_key(key + 8, p[1]);
+ des_set_key(key + 16, p[2]);
err = 0;
} else
err = ENOMEM;