This repository complements the research documented in the paper `Hitag 2 Hell - Brutally optimizing guess-and-determine attacks', as presented at USENIX WOOT2018.
maskgen.py: generate masks for which bits to guess in each layernaive.py: naive guess-and-determine implementationunrolled.py: naive implementation which is unrolledtabled.py: implementation which avoids impossible guessestabled_buffered.py: implementation which avoids impossible guesses, and tries to mitigate the intense cache pressurememoized.py: implementation which applies memoizationgenerate_memoized_python.py: generator formemoized_gen.pymemoized_gen.py: generated code fromgenerate_memoized_python.py, used inmemoized.pycomplexity.py: compute complexity at each layerhitag2.py: HITAG2 implementation
Our best implementations from the research, as featured in the paper's appendix verbatim, are also included here for ease of use.