.PHONY: help
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
run-brute-force: test
@cargo run -- brute-force --string=OBKRUOXOGHULBSOLIFBBWFLRVQQPRNGKSSOTWTQSJQSSEKZZWATJKLUDIAWINFBNYPVTTMZFPKWGDKZXTJCDIGKUHUAUEKCAR
get-decryptors: test
@cargo run -- get-decryptors
test:
@cargo test
watch:
@find src -type f | entr -cr make test
run-brute-force-test: test
@cargo run -- brute-force --string=TQDJMH
solve-k1:
@cargo run -- decrypt --string "$$(cat panels/kr1)" -- vigenere:PALIMPSEST:KRYPTOS
solve-k2:
@cargo run -- decrypt --string "$$(cat panels/kr2)" -- vigenere:ABSCISSA:KRYPTOS
solve-k3:
@cargo run -- encrypt --string "$$(cat panels/kr3clear)" -- transpose:24 reverse transpose:8 reverse join
brute-force-k3:
@cargo run -- brute-force --string "$$(cat panels/kr3clear)" --clues=SLOWLYDESPARATELY --steps=5 --threads=16 --decryptors=transpose --decryptors=join --decryptors=reverse
benchmark-1:
@flamegraph -- cargo run -- brute-force --string "$$(cat benchmark/test1)" --clues=HELLOTEST --steps=5 --threads=16 --decryptors=transpose --decryptors=join --decryptors=reverse
benchmark-2:
@flamegraph -- cargo run -- brute-force --string "$$(cat benchmark/test2)" --clues=HELLOBILOUTE --steps=1 --threads=16 --decryptors=permute:2
benchmark-3:
@flamegraph -- cargo run -- brute-force --string "$$(cat benchmark/test3)" --clues=HELLOTEST --steps=2 --threads=16 --decryptors=transpose --decryptors=swap
install:
@cargo install --path .
benchmark:
@cargo bench