todo:
- dynamic length
- make compare1(), compare2(), and compare3() work
- improve confidence function
- early exit when an answer is already obvious (only one value should be considerably larger than everything else per iteration)
- implement backtracking
- launch a black-box process (e.g. auth.py) to do the authentication, and apply the timing attack on that