return (0);
}
+static PyObject *kxvikmeth_set(PyObject *me, PyObject *arg)
+{
+ kxvik_pyobj *k = (kxvik_pyobj *)me;
+ kludge64 t[25];
+ const octet *q;
+ unsigned i;
+ struct bin in;
+ size_t n;
+
+ if (!PyArg_ParseTuple(arg, "O&:set", convbin, &in)) goto end;
+ if (in.sz > 200) VALERR("out of range");
+ q = in.p; n = in.sz;
+ i = 0;
+ while (n >= 8) { LOAD64_L_(t[i], q); i++; q += 8; n -= 8; }
+ if (n) VALERR("not 64-bit aligned");
+ keccak1600_set(&k->s, t, i);
+ RETURN_ME;
+end:
+ return (0);
+}
+
static PyObject *kxvikmeth_extract(PyObject *me, PyObject *arg)
{
kxvik_pyobj *k = (kxvik_pyobj *)me;
#define METHNAME(func) kxvikmeth_##func
NAMETH(copy, "KECCAK.copy() -> KECCAK'")
METH (mix, "KECCAK.mix(DATA)")
+ METH (set, "KECCAK.set(DATA)")
METH (extract, "KECCAK.extract(NOCTETS)")
NAMETH(step, "KECCAK.step()")
#undef METHNAME