Commit e5544e56 authored by Niels Möller's avatar Niels Möller
Browse files

* gcm.c (gcm_gf_shift_chunk) : Bug fix for little-endian 8-bit

tables.

Rev: nettle/ChangeLog:1.137
Rev: nettle/gcm.c:1.8
parent 0984849e
2011-02-07 Niels Mller <nisse@lysator.liu.se> 2011-02-07 Niels Mller <nisse@lysator.liu.se>
* gcm.c (gcm_gf_shift_chunk) : Bug fix for little-endian 8-bit
tables.
* gcm.c (gcm_gf_mul_chunk): Special case first and last iteration. * gcm.c (gcm_gf_mul_chunk): Special case first and last iteration.
(gcm_gf_add): New function, a special case of memxor. Use it for (gcm_gf_add): New function, a special case of memxor. Use it for
all memxor calls with word-aligned 16 byte blocks. Improves all memxor calls with word-aligned 16 byte blocks. Improves
......
...@@ -283,8 +283,7 @@ gcm_gf_shift_chunk(uint8_t *x) ...@@ -283,8 +283,7 @@ gcm_gf_shift_chunk(uint8_t *x)
#endif #endif
#else /* ! WORDS_BIGENDIAN */ #else /* ! WORDS_BIGENDIAN */
# if SIZEOF_LONG == 4 # if SIZEOF_LONG == 4
#define RSHIFT_WORD(x) \ reduce = shift_table[(w[3] >> 24) & 0xff];
reduce = shift_table[(w[3] >> 56) & 0xff];
w[3] = (w[3] << 8) | (w[2] >> 24); w[3] = (w[3] << 8) | (w[2] >> 24);
w[2] = (w[2] << 8) | (w[1] >> 24); w[2] = (w[2] << 8) | (w[1] >> 24);
w[1] = (w[1] << 8) | (w[0] >> 24); w[1] = (w[1] << 8) | (w[0] >> 24);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment