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 layer - 
naive.py: naive guess-and-determine implementation - 
unrolled.py: naive implementation which is unrolled - 
tabled.py: implementation which avoids impossible guesses - 
tabled_buffered.py: implementation which avoids impossible guesses, and tries to mitigate the intense cache pressure - 
memoized.py: implementation which applies memoization - 
generate_memoized_python.py: generator formemoized_gen.py - 
memoized_gen.py: generated code fromgenerate_memoized_python.py, used inmemoized.py - 
complexity.py: compute complexity at each layer - 
hitag2.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.