experiments in optimal adaptive timing side channel attacks
https://awoo.systems
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
clocktower | 2 years ago | |
.flake8 | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
setup.py | 2 years ago |
README.md
clocktower
clocktower is a python package implementing efficient strategies for executing adaptive timing side channel attacks. the goal is to use statistics to guide public input guesses in order to reveal the secret with a given level of statistical significance in a minimum number of rounds. the current strategy already significantly outperforms the naive non-adaptive strategy, and thus can be used as a framework for mounting attacks
howto
currently the model is that a correct guess will result in a longer time taken to execute, and all
incorrect guesses will take the same (lower) time to execute
more abstraction is planned for different target models
import clocktower
# default input space: 0-255
# default significance level: 0.01
mgr = clocktower.ClocktowerManager()
# when next_guess() returns None, the algoritm has a statistically significant answer
while (guess := mgr.next_guess()) is not None:
# execute the guess and get the result
timing_value = run_attack(guess)
mgr.update(guess, timing_value)
print(mgr.get_best_guess())