diff options
author | weidai <weidai11@users.noreply.github.com> | 2010-06-18 01:52:34 +0000 |
---|---|---|
committer | weidai <weidai11@users.noreply.github.com> | 2010-06-18 01:52:34 +0000 |
commit | 03cfaa0e4614c6cc66ffd7c473a853597fd79919 (patch) | |
tree | 4eed69d5867429e79628ab0c386092e5eb9ec1d7 /skipjack.cpp | |
parent | 8af9520702f19e037458d3059ee0fafef2643875 (diff) | |
download | cryptopp-git-03cfaa0e4614c6cc66ffd7c473a853597fd79919.tar.gz |
avoid SecBlock of arrays
Diffstat (limited to 'skipjack.cpp')
-rw-r--r-- | skipjack.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/skipjack.cpp b/skipjack.cpp index e9ec5866..dad14bd7 100644 --- a/skipjack.cpp +++ b/skipjack.cpp @@ -46,10 +46,10 @@ const byte SKIPJACK::Base::fTable[256] = { */ #define g(tab, w, i, j, k, l) \ { \ - w ^= (word)tab[i][w & 0xff] << 8; \ - w ^= (word)tab[j][w >> 8]; \ - w ^= (word)tab[k][w & 0xff] << 8; \ - w ^= (word)tab[l][w >> 8]; \ + w ^= (word)tab[i*256 + (w & 0xff)] << 8; \ + w ^= (word)tab[j*256 + (w >> 8)]; \ + w ^= (word)tab[k*256 + (w & 0xff)] << 8; \ + w ^= (word)tab[l*256 + (w >> 8)]; \ } #define g0(tab, w) g(tab, w, 0, 1, 2, 3) @@ -63,10 +63,10 @@ const byte SKIPJACK::Base::fTable[256] = { */ #define h(tab, w, i, j, k, l) \ { \ - w ^= (word)tab[l][w >> 8]; \ - w ^= (word)tab[k][w & 0xff] << 8; \ - w ^= (word)tab[j][w >> 8]; \ - w ^= (word)tab[i][w & 0xff] << 8; \ + w ^= (word)tab[l*256 + (w >> 8)]; \ + w ^= (word)tab[k*256 + (w & 0xff)] << 8; \ + w ^= (word)tab[j*256 + (w >> 8)]; \ + w ^= (word)tab[i*256 + (w & 0xff)] << 8; \ } #define h0(tab, w) h(tab, w, 0, 1, 2, 3) @@ -85,7 +85,7 @@ void SKIPJACK::Base::UncheckedSetKey(const byte *key, unsigned int length, const /* tab[i][c] = fTable[c ^ key[i]] */ int i; for (i = 0; i < 10; i++) { - byte *t = tab[i], k = key[9-i]; + byte *t = tab+i*256, k = key[9-i]; int c; for (c = 0; c < 256; c++) { t[c] = fTable[c ^ k]; |