diff options
| author | Ken Raeburn <raeburn@mit.edu> | 2008-08-02 06:36:49 +0000 |
|---|---|---|
| committer | Ken Raeburn <raeburn@mit.edu> | 2008-08-02 06:36:49 +0000 |
| commit | 4c3157497d4394cb6b09565a94091256aa3d5b54 (patch) | |
| tree | 4bf8c84ccd9f18ee9b6e14a0b0cbd906516fbad7 /src/lib/crypto/arcfour | |
| parent | fef45697544a3855a989a321b621612aa4651f20 (diff) | |
| download | krb5-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.c | 10 |
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); |
