summaryrefslogtreecommitdiff
path: root/skipjack.cpp
diff options
context:
space:
mode:
authorweidai <weidai11@users.noreply.github.com>2010-06-18 01:52:34 +0000
committerweidai <weidai11@users.noreply.github.com>2010-06-18 01:52:34 +0000
commit03cfaa0e4614c6cc66ffd7c473a853597fd79919 (patch)
tree4eed69d5867429e79628ab0c386092e5eb9ec1d7 /skipjack.cpp
parent8af9520702f19e037458d3059ee0fafef2643875 (diff)
downloadcryptopp-git-03cfaa0e4614c6cc66ffd7c473a853597fd79919.tar.gz
avoid SecBlock of arrays
Diffstat (limited to 'skipjack.cpp')
-rw-r--r--skipjack.cpp18
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];