aboutsummaryrefslogtreecommitdiff
path: root/src/lib/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/crypto')
-rw-r--r--src/lib/crypto/arcfour/arcfour.c10
-rw-r--r--src/lib/crypto/dk/checksum.c10
-rw-r--r--src/lib/crypto/dk/dk_aead.c12
-rw-r--r--src/lib/crypto/dk/dk_decrypt.c5
-rw-r--r--src/lib/crypto/dk/dk_encrypt.c10
-rw-r--r--src/lib/crypto/hash_provider/hash_crc32.c6
-rw-r--r--src/lib/crypto/hash_provider/hash_sha1.c5
-rw-r--r--src/lib/crypto/keyhash_provider/hmac_md5.c13
-rw-r--r--src/lib/crypto/keyhash_provider/md5_hmac.c8
-rw-r--r--src/lib/crypto/yarrow/yhash.h8
10 files changed, 19 insertions, 68 deletions
diff --git a/src/lib/crypto/arcfour/arcfour.c b/src/lib/crypto/arcfour/arcfour.c
index 8c9e8e1..085c997 100644
--- a/src/lib/crypto/arcfour/arcfour.c
+++ b/src/lib/crypto/arcfour/arcfour.c
@@ -254,16 +254,10 @@ krb5_arcfour_decrypt(const struct krb5_enc_provider *enc,
ms_usage=krb5int_arcfour_translate_usage(usage);
if (key->enctype == ENCTYPE_ARCFOUR_HMAC_EXP) {
strncpy(salt.data, krb5int_arcfour_l40, salt.length);
- salt.data[10]=ms_usage & 0xff;
- salt.data[11]=(ms_usage>>8) & 0xff;
- salt.data[12]=(ms_usage>>16) & 0xff;
- salt.data[13]=(ms_usage>>24) & 0xff;
+ store_32_le(ms_usage, salt.data+10);
} else {
salt.length=4;
- salt.data[0]=ms_usage & 0xff;
- salt.data[1]=(ms_usage>>8) & 0xff;
- salt.data[2]=(ms_usage>>16) & 0xff;
- salt.data[3]=(ms_usage>>24) & 0xff;
+ store_32_le(ms_usage, salt.data);
}
ret=krb5_hmac(hash, key, 1, &salt, &d1);
if (ret)
diff --git a/src/lib/crypto/dk/checksum.c b/src/lib/crypto/dk/checksum.c
index b51319b..f4b18bf 100644
--- a/src/lib/crypto/dk/checksum.c
+++ b/src/lib/crypto/dk/checksum.c
@@ -75,10 +75,7 @@ krb5_dk_make_checksum(const struct krb5_hash_provider *hash,
datain.data = (char *) constantdata;
datain.length = K5CLENGTH;
- datain.data[0] = (usage>>24)&0xff;
- datain.data[1] = (usage>>16)&0xff;
- datain.data[2] = (usage>>8)&0xff;
- datain.data[3] = usage&0xff;
+ store_32_be(usage, constantdata);
datain.data[4] = (char) 0x99;
@@ -147,10 +144,7 @@ krb5int_dk_make_checksum_iov(const struct krb5_hash_provider *hash,
datain.data = (char *) constantdata;
datain.length = K5CLENGTH;
- datain.data[0] = (usage>>24)&0xff;
- datain.data[1] = (usage>>16)&0xff;
- datain.data[2] = (usage>>8)&0xff;
- datain.data[3] = usage&0xff;
+ store_32_be(usage, constantdata);
datain.data[4] = (char) 0x99;
diff --git a/src/lib/crypto/dk/dk_aead.c b/src/lib/crypto/dk/dk_aead.c
index 8abf5af..e995f9a 100644
--- a/src/lib/crypto/dk/dk_aead.c
+++ b/src/lib/crypto/dk/dk_aead.c
@@ -1,7 +1,7 @@
/*
* lib/crypto/dk/dk_aead.c
*
- * Copyright 2008 by the Massachusetts Institute of Technology.
+ * Copyright 2008, 2009 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
@@ -147,10 +147,7 @@ krb5int_dk_encrypt_iov(const struct krb5_aead_provider *aead,
d1.data = (char *)constantdata;
d1.length = K5CLENGTH;
- d1.data[0] = (usage >> 24) & 0xFF;
- d1.data[1] = (usage >> 16) & 0xFF;
- d1.data[2] = (usage >> 8 ) & 0xFF;
- d1.data[3] = (usage ) & 0xFF;
+ store_32_be(usage, constantdata);
d1.data[4] = 0xAA;
@@ -298,10 +295,7 @@ krb5int_dk_decrypt_iov(const struct krb5_aead_provider *aead,
d1.data = (char *)constantdata;
d1.length = K5CLENGTH;
- d1.data[0] = (usage >> 24) & 0xFF;
- d1.data[1] = (usage >> 16) & 0xFF;
- d1.data[2] = (usage >> 8 ) & 0xFF;
- d1.data[3] = (usage ) & 0xFF;
+ store_32_be(usage, constantdata);
d1.data[4] = 0xAA;
diff --git a/src/lib/crypto/dk/dk_decrypt.c b/src/lib/crypto/dk/dk_decrypt.c
index c439738..c38c4d5 100644
--- a/src/lib/crypto/dk/dk_decrypt.c
+++ b/src/lib/crypto/dk/dk_decrypt.c
@@ -119,10 +119,7 @@ krb5_dk_decrypt_maybe_trunc_hmac(const struct krb5_enc_provider *enc,
d1.data = (char *) constantdata;
d1.length = K5CLENGTH;
- d1.data[0] = (usage>>24)&0xff;
- d1.data[1] = (usage>>16)&0xff;
- d1.data[2] = (usage>>8)&0xff;
- d1.data[3] = usage&0xff;
+ store_32_be(usage, constantdata);
d1.data[4] = (char) 0xAA;
diff --git a/src/lib/crypto/dk/dk_encrypt.c b/src/lib/crypto/dk/dk_encrypt.c
index 750f43f..6596e53 100644
--- a/src/lib/crypto/dk/dk_encrypt.c
+++ b/src/lib/crypto/dk/dk_encrypt.c
@@ -99,10 +99,7 @@ krb5_dk_encrypt(const struct krb5_enc_provider *enc,
d1.data = (char *) constantdata;
d1.length = K5CLENGTH;
- d1.data[0] = (usage>>24)&0xff;
- d1.data[1] = (usage>>16)&0xff;
- d1.data[2] = (usage>>8)&0xff;
- d1.data[3] = usage&0xff;
+ store_32_be(usage, constantdata);
d1.data[4] = (char) 0xAA;
@@ -265,10 +262,7 @@ krb5int_aes_dk_encrypt(const struct krb5_enc_provider *enc,
d1.data = (char *) constantdata;
d1.length = K5CLENGTH;
- d1.data[0] = (usage>>24)&0xff;
- d1.data[1] = (usage>>16)&0xff;
- d1.data[2] = (usage>>8)&0xff;
- d1.data[3] = usage&0xff;
+ store_32_be(usage, constantdata);
d1.data[4] = (char) 0xAA;
diff --git a/src/lib/crypto/hash_provider/hash_crc32.c b/src/lib/crypto/hash_provider/hash_crc32.c
index 1df182c..ca26810 100644
--- a/src/lib/crypto/hash_provider/hash_crc32.c
+++ b/src/lib/crypto/hash_provider/hash_crc32.c
@@ -44,11 +44,7 @@ k5_crc32_hash(unsigned int icount, const krb5_data *input,
c ^= cn;
}
- output->data[0] = c&0xff;
- output->data[1] = (c>>8)&0xff;
- output->data[2] = (c>>16)&0xff;
- output->data[3] = (c>>24)&0xff;
-
+ store_32_le(c, output->data);
return(0);
}
diff --git a/src/lib/crypto/hash_provider/hash_sha1.c b/src/lib/crypto/hash_provider/hash_sha1.c
index cdb3098..ffc073c 100644
--- a/src/lib/crypto/hash_provider/hash_sha1.c
+++ b/src/lib/crypto/hash_provider/hash_sha1.c
@@ -44,10 +44,7 @@ k5_sha1_hash(unsigned int icount, const krb5_data *input,
shsFinal(&ctx);
for (i=0; i<(sizeof(ctx.digest)/sizeof(ctx.digest[0])); i++) {
- output->data[i*4] = (ctx.digest[i]>>24)&0xff;
- output->data[i*4+1] = (ctx.digest[i]>>16)&0xff;
- output->data[i*4+2] = (ctx.digest[i]>>8)&0xff;
- output->data[i*4+3] = ctx.digest[i]&0xff;
+ store_32_be(ctx.digest[i], &output->data[i*4]);
}
return(0);
diff --git a/src/lib/crypto/keyhash_provider/hmac_md5.c b/src/lib/crypto/keyhash_provider/hmac_md5.c
index 53da03a..34ce671 100644
--- a/src/lib/crypto/keyhash_provider/hmac_md5.c
+++ b/src/lib/crypto/keyhash_provider/hmac_md5.c
@@ -1,7 +1,7 @@
/*
* lib/crypto/keyhash_provider/hmac_md5.c
*
- * Copyright 2001 by the Massachusetts Institute of Technology.
+ * Copyright 2001, 2009 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
@@ -65,10 +65,7 @@ k5_hmac_md5_hash (const krb5_keyblock *key, krb5_keyusage usage,
krb5_MD5Init (&ctx);
ms_usage = krb5int_arcfour_translate_usage (usage);
- t[0] = (ms_usage) & 0xff;
- t[1] = (ms_usage>>8) & 0xff;
- t[2] = (ms_usage >>16) & 0xff;
- t[3] = (ms_usage>>24) & 0XFF;
+ store_32_le(ms_usage, t);
krb5_MD5Update (&ctx, (unsigned char * ) &t, 4);
krb5_MD5Update (&ctx, (unsigned char *) input-> data,
(unsigned int) input->length );
@@ -116,10 +113,7 @@ k5_hmac_md5_hash_iov (const krb5_keyblock *key, krb5_keyusage usage,
krb5_MD5Init (&ctx);
ms_usage = krb5int_arcfour_translate_usage (usage);
- t[0] = (ms_usage) & 0xff;
- t[1] = (ms_usage>>8) & 0xff;
- t[2] = (ms_usage >>16) & 0xff;
- t[3] = (ms_usage>>24) & 0XFF;
+ store_32_le(ms_usage, t);
krb5_MD5Update (&ctx, (unsigned char * ) &t, 4);
for (i = 0; i < num_data; i++) {
const krb5_crypto_iov *iov = &data[i];
@@ -148,4 +142,3 @@ const struct krb5_keyhash_provider krb5int_keyhash_hmac_md5 = {
k5_hmac_md5_hash_iov,
NULL /*checksum again */
};
-
diff --git a/src/lib/crypto/keyhash_provider/md5_hmac.c b/src/lib/crypto/keyhash_provider/md5_hmac.c
index e8aea74..d05b97f 100644
--- a/src/lib/crypto/keyhash_provider/md5_hmac.c
+++ b/src/lib/crypto/keyhash_provider/md5_hmac.c
@@ -1,7 +1,7 @@
/*
* lib/crypto/keyhash_provider/md5_hmac.c
*
- * Copyright2001 by the Massachusetts Institute of Technology.
+ * Copyright 2001, 2009 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
@@ -45,11 +45,7 @@ k5_md5_hmac_hash (const krb5_keyblock *key, krb5_keyusage usage,
krb5_MD5Init(&ctx);
ms_usage = krb5int_arcfour_translate_usage (usage);
- t[0] = (ms_usage >> 0) & 0xff;
- t[1] = (ms_usage >> 8) & 0xff;
- t[2] = (ms_usage >> 16) & 0xff;
- t[3] = (ms_usage >> 24) & 0xff;
-
+ store_32_le(ms_usage, t);
krb5_MD5Update(&ctx, t, sizeof(t));
krb5_MD5Update(&ctx, (unsigned char *)input->data, input->length);
krb5_MD5Final(&ctx);
diff --git a/src/lib/crypto/yarrow/yhash.h b/src/lib/crypto/yarrow/yhash.h
index aaa739f..ee4f03e 100644
--- a/src/lib/crypto/yarrow/yhash.h
+++ b/src/lib/crypto/yarrow/yhash.h
@@ -19,12 +19,8 @@
unsigned char *out2 = (void *)(tdigest); \
HASH_CTX *ctx = (x); \
shsFinal(ctx); \
-for (loopvar=0; loopvar<(sizeof(ctx->digest)/sizeof(ctx->digest[0])); loopvar++) { \
- out2[loopvar*4] = (ctx->digest[loopvar]>>24)&0xff; \
- out2[loopvar*4+1] = (ctx->digest[loopvar]>>16)&0xff; \
- out2[loopvar*4+2] = (ctx->digest[loopvar]>>8)&0xff; \
- out2[loopvar*4+3] = ctx->digest[loopvar]&0xff; \
-} \
+ for (loopvar=0; loopvar<(sizeof(ctx->digest)/sizeof(ctx->digest[0])); loopvar++) \
+ store_32_be(ctx->digest[loopvar], &out2[loopvar*4]); \
} while(0)