1
$\begingroup$

I'm trying to implement the zero-knowledge proof presented in this paper. The proof has a rejection step (page 14), which can be computed as follows:

Rejection step

Where B and Z are in $R^{m \times n}$ for some ring. Although I understand how it works for the ring $R=\mathbb{Z}$, I don't get the point of how could work when $R=\mathbb{Z}[x]/(x^{n}+1)$. If I am not misunderstanding something, the Frobenius product between two matrices would output an element in the ring, and thus, the previous algorithm could only operate over integers.

What I am missing? Thanks in advance for your help.

$\endgroup$

1 Answer 1

4
$\begingroup$

Like $||B||^2$ is defined in Section 2.1 to be the norm of the vector of the integer coefficients comprising the elements of $B$, $<Z,B>$ is the inner product of these two integer vectors. Basically, flatten Z and B into integer vectors, and take the inner product. Sorry, it should have been defined. And also, in Figure 1, where this rejection sampling step is used, B=SC.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.