# What are the curly brackets in this cryptographic hash function definition?

All users agree on a cryptographic hash function $$H:\{0,1\}^*\to\mathbb{Z}_q$$.

What do these curly brackets mean here and how exactly is the hash function's input domain defined? Normally, you can use whatever input you want for a CHF/ PRF.

• This means that the domain input domain is an unlimited number of input bits that are either 0 or 1 (it's understood in context to refer to binary). Not sure this is really about crypto though. It seems this is just math.
– forest
Dec 8, 2018 at 13:55
• @forest I see, should a mod move this to the math SE? Dec 8, 2018 at 16:21

$$\{0,1\}$$ is the set consisting of $$0$$ and $$1$$, so the set of all single bits. For any set $$S$$, $$S^n$$ for any natural number $$n$$ refers to the set of $$n$$-tuples of Elements from $$S$$, e.g., $$S^2 = S \times S$$. So strictly speaking $$\{0,1\}^n$$ refers to the set of $$n$$-tuples of bits, however we generally call these "bitstrings of length $$n$$".
Finally, $$\{0,1\}^*$$ is defined as $$\{0,1\}^*=\bigcup_{n\in\mathbb{N}_0}\{0,1\}^n.$$ I.e. it refers to the (infinite) set of all finite length bitstrings.