diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-10-13 19:26:08 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-10-13 19:26:08 +0000 |
commit | 66c7fe40566e1cc1c9a64d0c3820e46ccc8b9ae7 (patch) | |
tree | f318db0e1b9e14c70285efe99a0cf03bceaf0650 /sys/netinet6 | |
parent | b42ac57f4f2c183fda94189f1516ae3c1eff851f (diff) | |
download | src-66c7fe40566e1cc1c9a64d0c3820e46ccc8b9ae7.tar.gz src-66c7fe40566e1cc1c9a64d0c3820e46ccc8b9ae7.zip |
use BF_ecb_encrypt().
Obtained from: KAME
Notes
Notes:
svn path=/head/; revision=121072
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/esp_core.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/sys/netinet6/esp_core.c b/sys/netinet6/esp_core.c index bfb0713a22c7..6fe977156ad9 100644 --- a/sys/netinet6/esp_core.c +++ b/sys/netinet6/esp_core.c @@ -475,16 +475,8 @@ esp_blowfish_blockdecrypt(algo, sav, s, d) u_int8_t *s; u_int8_t *d; { - /* HOLY COW! BF_decrypt() takes values in host byteorder */ - BF_LONG t[2]; - - bcopy(s, t, sizeof(t)); - t[0] = ntohl(t[0]); - t[1] = ntohl(t[1]); - BF_decrypt(t, (BF_KEY *)sav->sched); - t[0] = htonl(t[0]); - t[1] = htonl(t[1]); - bcopy(t, d, sizeof(t)); + + BF_ecb_encrypt(s, d, (BF_KEY *)sav->sched, 0); return 0; } @@ -495,16 +487,8 @@ esp_blowfish_blockencrypt(algo, sav, s, d) u_int8_t *s; u_int8_t *d; { - /* HOLY COW! BF_encrypt() takes values in host byteorder */ - BF_LONG t[2]; - - bcopy(s, t, sizeof(t)); - t[0] = ntohl(t[0]); - t[1] = ntohl(t[1]); - BF_encrypt(t, (BF_KEY *)sav->sched); - t[0] = htonl(t[0]); - t[1] = htonl(t[1]); - bcopy(t, d, sizeof(t)); + + BF_ecb_encrypt(s, d, (BF_KEY *)sav->sched, 1); return 0; } @@ -591,7 +575,7 @@ esp_3des_blockdecrypt(algo, sav, s, d) /* assumption: d has a good alignment */ p = (des_key_schedule *)sav->sched; bcopy(s, d, sizeof(DES_LONG) * 2); - des_ecb3_encrypt((des_cblock *)d, (des_cblock *)d, + des_ecb3_encrypt((des_cblock *)d, (des_cblock *)d, p[0], p[1], p[2], DES_DECRYPT); return 0; } @@ -608,7 +592,7 @@ esp_3des_blockencrypt(algo, sav, s, d) /* assumption: d has a good alignment */ p = (des_key_schedule *)sav->sched; bcopy(s, d, sizeof(DES_LONG) * 2); - des_ecb3_encrypt((des_cblock *)d, (des_cblock *)d, + des_ecb3_encrypt((des_cblock *)d, (des_cblock *)d, p[0], p[1], p[2], DES_ENCRYPT); return 0; } |