summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto/arcfour
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-08-02 06:36:49 +0000
committerKen Raeburn <raeburn@mit.edu>2008-08-02 06:36:49 +0000
commit4c3157497d4394cb6b09565a94091256aa3d5b54 (patch)
tree4bf8c84ccd9f18ee9b6e14a0b0cbd906516fbad7 /src/lib/crypto/arcfour
parentfef45697544a3855a989a321b621612aa4651f20 (diff)
downloadkrb5-4c3157497d4394cb6b09565a94091256aa3d5b54.tar.gz
krb5-4c3157497d4394cb6b09565a94091256aa3d5b54.tar.xz
krb5-4c3157497d4394cb6b09565a94091256aa3d5b54.zip
Make more uses of load/store_32_be/le, which on x86 at least expands
to a single unaligned load/store instruction, instead of open-coding the shifts and masks. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20599 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto/arcfour')
-rw-r--r--src/lib/crypto/arcfour/arcfour.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/lib/crypto/arcfour/arcfour.c b/src/lib/crypto/arcfour/arcfour.c
index 3481fadcb..a2df5ddf5 100644
--- a/src/lib/crypto/arcfour/arcfour.c
+++ b/src/lib/crypto/arcfour/arcfour.c
@@ -140,16 +140,10 @@ krb5_arcfour_encrypt(const struct krb5_enc_provider *enc,
ms_usage=krb5int_arcfour_translate_usage(usage);
if (key->enctype == ENCTYPE_ARCFOUR_HMAC_EXP) {
strncpy(salt.data, 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);
}
krb5_hmac(hash, key, 1, &salt, &d1);