featherduster
featherduster copied to clipboard
An automated, modular cryptanalysis tool; i.e., a Weapon of Math Destruction
The frequency analysis values are currently hardcoded in cryptanalib/frequency.py. I think if we use nltk instead of hardcoding, we will: -gain in code lisibility -be able to get frequency for...
Not all the functions in `cryptanalib` have help blurbs. Let's document all the functions and their expected return values and whatnot like so: ``` """ Get integer nth roots. :param...
The code ```python import cryptanalib as ca ca.evaluate_vigenere_key_length("ucoizsbtkxhtadcg", 10) ``` Traceback ``` Traceback (most recent call last): File "", line 1, in File "cryptanalib/classical.py", line 226, in evaluate_vigenere_key_length ioc_list.append(ind_of_coinc(ciphertext, length))...
There appears to be a broken method in hash extend that is not valid due to it missing a def (): In addition to this, there appears to be no...
If you cryptanalyze encrypted binary data, or a very large sample, the current output from FeatherDuster (dump the output on your terminal) is really not practical. Paging large amounts of...
Web-safe base64 (base64 but with an altered charset to avoid using URL metacharacters) is really common. Let's support it.
Batch GCD can check a large number of RSA moduli for common primes quickly. An example written in Sage is available on [FactHacks](http://facthacks.cr.yp.to/).
Sample file: https://github.com/ctfs/write-ups-2017/raw/master/alexctf-2017/cryptography/cr2-many-time-secrets-100/msg ``` # featherduster /tmp/msg FeatherDuster> analyze [+] Analyzing samples... [+] Messages appear to be ASCII hex encoded, hex decoding and analyzing again. [+] Messages may be encrypted...
I have C++ code for this at hand, I'd have to work on porting it to Python. There's two versions of this algorithm: 1. The local version that uses Floyd's...
It was suggested to me that we should have a tutorial for using FD/CA where we walk through the first few sets of cryptopals with it. This is a nice...