Changelog featherduster v0.2 Adleman:
+ tests: Added unit tests for FeatherDuster commands.
+ Added checks to prevent crash when using unset while no module is selected or with an option that does not exist.
+ Updated Travis-CI test suite to run all shell script based tests
FeatherDuster is a tool for breaking crypto which tries to make the process of identifying and exploiting weak cryptosystems as easy as possible. Cryptanalib is the moving parts behind FeatherDuster, and can be used independently of FeatherDuster.
Why “FeatherDuster”? There’s an in-joke amongst some crypto folk where using crypto poorly, or to solve a problem that crypto isn’t meant to solve is called “sprinkling magical crypto fairy dust on it”. FeatherDuster is for cleaning up magical crypto fairy dust.
The Cryptanalib analysis engine.
Cryptanalib can detect and decode the following encoding schemes:
+ Vanilla Base64
+ ASCII hex-encoding
+ Zlib compression
Cryptanalib’s analysis engine can detect a number of properties in the analysis phase, too:
+ Low entropy ciphertext (Useful for detecting homebrew ciphers)
+ Block cipher usage vs Stream cipher usage
+ ECB mode
+ CBC mode with fixed IV
+ Hash algorithm (engine will note that length extension attacks may apply with Merkle-Daamgard based hash algos)
+ OpenSSL formatted ciphertext
+ Stream cipher key reuse
+ RSA keys with private components
+ Insufficiently large RSA moduli
+ RSA modulus reuse
+ Transposition-only cipher
– python 2.x
– GMPy (which itself depends on GMP)
– ishell (which itself depends on readline and ncurses)
Installation from source:
git clone https://github.com/nccgroup/featherduster.git && cd featherduster
python setup.py install
sudo apt-get install libgmp-dev