2^32 вариантов *4 байта /1024/1024/1024 это 16 гигов 1 табла.
предварительно посчитать можем только
#define Sig0(x) (S(2,x)^S(13,x)^S(22,x))
#define Sig1(x) (S(6,x)^S(11,x)^S(25,x))
#define theta0(x) (S(7,x)^S(18,x)^R(3,x))
#define theta1(x) (S(17,x)^S(19,x)^R(10,x))
где
#define S(n,x) (((x)>>n) | ((x)<<(32-n)))
#define R(n,x) ((x)>>n)
итого 64гб нужно держать в памяти, так как нужна скорость. Можно конечно попробовать пейджфайл раздуть и сунуть его на шустрый ссд винт, тогда много физ. оперативы не надо.
з.ы. имхо