  Quantum fingerprinting is a technique that maps classical input word to a
quantum state. The obtained quantum state is much shorter than the original
word, and its processing uses less resources, making it useful in quantum
algorithms, communication, and cryptography. One of the examples of quantum
fingerprinting is quantum automata algorithms for MOD_p languages, where p is a
prime number.
  However, implementing such an automaton on the current quantum hardware is
not efficient. Quantum fingerprinting maps a word of length N to a state of
O(log N) qubits, and uses O(N) unitary operations. Computing quantum
fingerprint using all available qubits of the current quantum computers is
infeasible due to a large number of quantum operations.
  To make quantum fingerprinting practical, we should optimize the circuit for
depth instead of width in contrast to the previous works. We propose explicit
methods of quantum fingerprinting based on tools from additive combinatorics,
such as generalized arithmetic progressions (GAPs), and prove that these
methods provide circuit depth comparable to a probabilistic method. We also
compare our method to prior work on explicit quantum fingerprinting methods.
