projects
/
u
/
mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Generate precomputed tables as sources in `precomps/'.
[u/mdw/catacomb]
/
symm
/
mars.c
diff --git
a/symm/mars.c
b/symm/mars.c
index
6f73b42
..
4c7b302
100644
(file)
--- a/
symm/mars.c
+++ b/
symm/mars.c
@@
-35,7
+35,6
@@
#include "blkc.h"
#include "gcipher.h"
#include "mars.h"
#include "blkc.h"
#include "gcipher.h"
#include "mars.h"
-#include "mars-tab.h"
#include "paranoia.h"
/*----- Global variables --------------------------------------------------*/
#include "paranoia.h"
/*----- Global variables --------------------------------------------------*/
@@
-44,10
+43,10
@@
const octet mars_keysz[] = { KSZ_RANGE, MARS_KEYSZ, 0, 56, 4 };
/*----- Useful tables -----------------------------------------------------*/
/*----- Useful tables -----------------------------------------------------*/
-
static const uint32 s[512] = MARS_S
;
-#define s0 (
s +
0)
-#define s1 (s + 256)
-#define bb (s + 265)
+
extern const uint32 mars_s[512]
;
+#define s0 (
mars_s +
0)
+#define s1 (
mars_
s + 256)
+#define bb (
mars_
s + 265)
/*----- Main code ---------------------------------------------------------*/
/*----- Main code ---------------------------------------------------------*/
@@
-100,7
+99,7
@@
void mars_init(mars_ctx *k, const void *buf, size_t sz)
x = t[14];
for (ii = 0; ii < 4; ii++) {
for (i = 0; i < 15; i++) {
x = t[14];
for (ii = 0; ii < 4; ii++) {
for (i = 0; i < 15; i++) {
- x = t[i] + s[x & 511u];
+ x = t[i] +
mars_
s[x & 511u];
t[i] = x = ROL32(x, 9);
}
}
t[i] = x = ROL32(x, 9);
}
}
@@
-171,7
+170,7
@@
void mars_init(mars_ctx *k, const void *buf, size_t sz)
uint32 kx = *k++, ky = *k++; \
y = a + kx; \
a = ROL32(a, 13); z = a * ky; z = ROL32(z, 5); \
uint32 kx = *k++, ky = *k++; \
y = a + kx; \
a = ROL32(a, 13); z = a * ky; z = ROL32(z, 5); \
- x =
s[y & 511u] ^ z; y = ROL32(y, z);
\
+ x =
mars_s[y & 511u] ^ z; y = ROL32(y, z);
\
z = ROL32(z, 5); x ^= z; x = ROL32(x, z); \
} while (0)
z = ROL32(z, 5); x ^= z; x = ROL32(x, z); \
} while (0)
@@
-179,7
+178,7
@@
void mars_init(mars_ctx *k, const void *buf, size_t sz)
uint32 ky = *--k, kx = *--k; \
z = a * ky; \
a = ROR32(a, 13); y = a + kx; z = ROL32(z, 5); \
uint32 ky = *--k, kx = *--k; \
z = a * ky; \
a = ROR32(a, 13); y = a + kx; z = ROL32(z, 5); \
- x =
s[y & 511u] ^ z; y = ROL32(y, z);
\
+ x =
mars_s[y & 511u] ^ z; y = ROL32(y, z);
\
z = ROL32(z, 5); x ^= z; x = ROL32(x, z); \
} while (0)
z = ROL32(z, 5); x ^= z; x = ROL32(x, z); \
} while (0)