#include <freeradius-devel/libradius.h>
Go to the source code of this file.
|
#define | ind(mm, x) ((mm)[(x>>2)&(RANDSIZ-1)]) |
|
#define | mix(a, b, c, d, e, f, g, h) |
|
#define | RANDSIZ (1<<RANDSIZL) |
|
#define | RANDSIZL (8) /* I recommend 8 for crypto, 4 for simulations */ |
|
#define | rngstep(mix, a, b, mm, m, m2, r, x) |
|
#define ind |
( |
|
mm, |
|
|
|
x |
|
) |
| ((mm)[(x>>2)&(RANDSIZ-1)]) |
#define mix |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d, |
|
|
|
e, |
|
|
|
f, |
|
|
|
g, |
|
|
|
h |
|
) |
| |
Value:{ \
a^=b<<11; d+=a; b+=c; \
b^=c>>2; e+=b; c+=d; \
c^=d<<8; f+=c; d+=e; \
d^=e>>16; g+=d; e+=f; \
e^=f<<10; h+=e; f+=g; \
f^=g>>4; a+=f; g+=h; \
g^=h<<8; b+=g; h+=a; \
h^=a>>9; c+=h; a+=b; \
}
Definition at line 52 of file isaac.c.
#define RANDSIZL (8) /* I recommend 8 for crypto, 4 for simulations */ |
#define rngstep |
( |
|
mix, |
|
|
|
a, |
|
|
|
b, |
|
|
|
mm, |
|
|
|
m, |
|
|
|
m2, |
|
|
|
r, |
|
|
|
x |
|
) |
| |
Value:{ \
x = *m; \
a = ((a^(
mix)) + *(m2++)) & 0xffffffff; \
*(m++) = y = (
ind(mm,x) + a + b) & 0xffffffff; \
}
#define mix(a, b, c, d, e, f, g, h)
Definition at line 21 of file isaac.c.