diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2010-06-18 01:52:34 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2010-06-18 01:52:34 +0000 |
commit | 7cfef38e643e3371dd0e194526433665e8afe265 (patch) | |
tree | 4eed69d5867429e79628ab0c386092e5eb9ec1d7 /skipjack.cpp | |
parent | 32ca65cd301bf4ff0159b028d87b0caa51962690 (diff) | |
download | cryptopp-7cfef38e643e3371dd0e194526433665e8afe265.tar.gz |
avoid SecBlock of arrays
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@485 57ff6487-cd31-0410-9ec3-f628ee90f5f0
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 e9ec586..dad14bd 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]; |