0
$\begingroup$

Some describe as $H:F_{q}\times G_{2}\rightarrow \{0,1\}^{n}$.Some describe as $H:\{0,1\}^{*}\times\{0,1\}^{*}\rightarrow F_{q}$. What is the meaning of product function? what kind of operation does it refer to?

$\endgroup$
4
$\begingroup$

The authors describe it that way because the functions operate on different inputs and produce different outputs. In your first example $H$ outputs an $n$ bit string, while in the second $H$ outputs an element of the field $F_q$. Clearly, one can represent an element of a field $F_q$ by a bitstring of size $n$ for some $n$ (using some suitable encoding). However, I guess that the authors who use the second definition use the output of $H$ for some computation in $F_q$, while the authors that use the first one use it to compute an XOR with some other $n$ bit string or the like.

The product just means that the function takes as input a pair $(a,b)$ where $a$ comes from the first domain ($F_q$ or $\{0,1\}^*$) and $b$ comes from the second domain ($G_2$ or $\{0,1\}^*$). The details how $H$ exactly looks like is not specified by this notation. For instance, if $H$ has two inputs $(a,b)$ one way of implementing it is as $H'(a\|b)$ with $a$ and $b$ being some encodings to bitstrings and $\|$ denotes concatenation and $H'$ takes inputs from $\{0,1\}^*$.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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