├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── Dockerfile ├── INSTALL.md ├── LICENSE ├── README.md ├── cryptanalib ├── __init__.py ├── classical.py ├── frequency.py ├── helpers.py └── modern.py ├── examples ├── example_feathermodule.py ├── fermat_rsa.pub ├── hackim1 │ ├── Heart_clear.txt │ ├── Heart_crypt.txt │ └── Mind_crypt.txt ├── manytimepad.ciphertexts ├── multibytexor.ciphertext ├── singlebytexor.ciphertext ├── vigenere.ciphertext └── wiener_rsa.pub ├── fd_logo.png ├── featherduster ├── __init__.py ├── advice.py ├── completer.py └── featherduster.py ├── feathermodules ├── __init__.py ├── auxiliary │ ├── __init__.py │ ├── base_n_solver.py │ ├── hash_format_detect.py │ └── rand_time.py ├── block │ ├── __init__.py │ ├── aes_key_brute.py │ ├── ecb_cpa_decrypt.py │ ├── generic_padding_oracle.py │ └── http_padding_oracle.py ├── classical │ ├── __init__.py │ ├── alpha_shift.py │ ├── columnar_transposition.py │ └── vigenere.py ├── custom │ └── __init__.py ├── hash │ ├── __init__.py │ ├── hash_extend.py │ └── pymd5.py ├── pubkey │ ├── __init__.py │ ├── rsa_fermat.py │ └── rsa_wiener.py └── stream │ ├── __init__.py │ ├── many_time_pad.py │ ├── multi_byte_xor.py │ └── single_byte_xor.py ├── setup.py ├── tests ├── __init__.py ├── analyze.sh ├── english_text.txt ├── export.sh ├── import_clear.sh ├── import_manualentry.sh ├── import_multifile.sh ├── import_results.sh ├── import_singlefile.sh ├── modules.sh ├── options.sh ├── results.sh ├── run.sh ├── samples.sh ├── search.sh ├── set.sh ├── test_batch_gcd.py ├── test_bleichenbacher.py ├── test_break_alpha_shift.py ├── test_break_columnar_transposition.py ├── test_break_many_time_pad.py ├── test_break_vigenere.py ├── test_cbcr_do_to_eo.py ├── test_ciphertext_analysis.py ├── test_detect_hash_format.py ├── test_dsa_key_recovery.py ├── test_ecb_decrypt_harder.py ├── test_ecb_decrypt_simple.py ├── test_fd_autopwn.sh ├── test_fermat_factor.py ├── test_hastad_broadcast.py ├── test_lcg_cracker.py ├── test_multi_byte_xor.py ├── test_padding_oracle_decrypt.py ├── test_retrieve_iv.py ├── test_rsa_crt_fault_attack.py ├── test_single_byte_xor.py ├── test_small_message_rsa.py ├── test_wiener_factor.py ├── testbench_vigenere.py ├── travis_python_tests ├── travis_shell_tests ├── unset.sh └── use.sh └── util ├── create_alpha_shift.py └── generate_frequency_tables.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | *.swp 3 | 4 | experiments 5 | TODO.txt 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/.travis.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/Dockerfile -------------------------------------------------------------------------------- /INSTALL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/INSTALL.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/README.md -------------------------------------------------------------------------------- /cryptanalib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/cryptanalib/__init__.py -------------------------------------------------------------------------------- /cryptanalib/classical.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/cryptanalib/classical.py -------------------------------------------------------------------------------- /cryptanalib/frequency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/cryptanalib/frequency.py -------------------------------------------------------------------------------- /cryptanalib/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/cryptanalib/helpers.py -------------------------------------------------------------------------------- /cryptanalib/modern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/cryptanalib/modern.py -------------------------------------------------------------------------------- /examples/example_feathermodule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/example_feathermodule.py -------------------------------------------------------------------------------- /examples/fermat_rsa.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/fermat_rsa.pub -------------------------------------------------------------------------------- /examples/hackim1/Heart_clear.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/hackim1/Heart_clear.txt -------------------------------------------------------------------------------- /examples/hackim1/Heart_crypt.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/hackim1/Heart_crypt.txt -------------------------------------------------------------------------------- /examples/hackim1/Mind_crypt.txt: -------------------------------------------------------------------------------- 1 | !PSHGLK 2 | OZCZSECAO 3 | M~ T -VGYWF&T:L 4 | 4 5 | EPB7,y -------------------------------------------------------------------------------- /examples/manytimepad.ciphertexts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/manytimepad.ciphertexts -------------------------------------------------------------------------------- /examples/multibytexor.ciphertext: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/multibytexor.ciphertext -------------------------------------------------------------------------------- /examples/singlebytexor.ciphertext: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/singlebytexor.ciphertext -------------------------------------------------------------------------------- /examples/vigenere.ciphertext: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/vigenere.ciphertext -------------------------------------------------------------------------------- /examples/wiener_rsa.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/examples/wiener_rsa.pub -------------------------------------------------------------------------------- /fd_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/fd_logo.png -------------------------------------------------------------------------------- /featherduster/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /featherduster/advice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/featherduster/advice.py -------------------------------------------------------------------------------- /featherduster/completer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/featherduster/completer.py -------------------------------------------------------------------------------- /featherduster/featherduster.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/featherduster/featherduster.py -------------------------------------------------------------------------------- /feathermodules/__init__.py: -------------------------------------------------------------------------------- 1 | module_list = {} 2 | -------------------------------------------------------------------------------- /feathermodules/auxiliary/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ['rand_time', 'hash_format_detect', 'base_n_solver'] 2 | -------------------------------------------------------------------------------- /feathermodules/auxiliary/base_n_solver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/auxiliary/base_n_solver.py -------------------------------------------------------------------------------- /feathermodules/auxiliary/hash_format_detect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/auxiliary/hash_format_detect.py -------------------------------------------------------------------------------- /feathermodules/auxiliary/rand_time.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/auxiliary/rand_time.py -------------------------------------------------------------------------------- /feathermodules/block/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/block/__init__.py -------------------------------------------------------------------------------- /feathermodules/block/aes_key_brute.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/block/aes_key_brute.py -------------------------------------------------------------------------------- /feathermodules/block/ecb_cpa_decrypt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/block/ecb_cpa_decrypt.py -------------------------------------------------------------------------------- /feathermodules/block/generic_padding_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/block/generic_padding_oracle.py -------------------------------------------------------------------------------- /feathermodules/block/http_padding_oracle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/block/http_padding_oracle.py -------------------------------------------------------------------------------- /feathermodules/classical/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ['alpha_shift', 'columnar_transposition', 'vigenere'] 2 | -------------------------------------------------------------------------------- /feathermodules/classical/alpha_shift.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/classical/alpha_shift.py -------------------------------------------------------------------------------- /feathermodules/classical/columnar_transposition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/classical/columnar_transposition.py -------------------------------------------------------------------------------- /feathermodules/classical/vigenere.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/classical/vigenere.py -------------------------------------------------------------------------------- /feathermodules/custom/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/custom/__init__.py -------------------------------------------------------------------------------- /feathermodules/hash/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /feathermodules/hash/hash_extend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/hash/hash_extend.py -------------------------------------------------------------------------------- /feathermodules/hash/pymd5.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/hash/pymd5.py -------------------------------------------------------------------------------- /feathermodules/pubkey/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/pubkey/__init__.py -------------------------------------------------------------------------------- /feathermodules/pubkey/rsa_fermat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/pubkey/rsa_fermat.py -------------------------------------------------------------------------------- /feathermodules/pubkey/rsa_wiener.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/pubkey/rsa_wiener.py -------------------------------------------------------------------------------- /feathermodules/stream/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/stream/__init__.py -------------------------------------------------------------------------------- /feathermodules/stream/many_time_pad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/stream/many_time_pad.py -------------------------------------------------------------------------------- /feathermodules/stream/multi_byte_xor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/stream/multi_byte_xor.py -------------------------------------------------------------------------------- /feathermodules/stream/single_byte_xor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/feathermodules/stream/single_byte_xor.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/analyze.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/analyze.sh -------------------------------------------------------------------------------- /tests/english_text.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/english_text.txt -------------------------------------------------------------------------------- /tests/export.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/export.sh -------------------------------------------------------------------------------- /tests/import_clear.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/import_clear.sh -------------------------------------------------------------------------------- /tests/import_manualentry.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/import_manualentry.sh -------------------------------------------------------------------------------- /tests/import_multifile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/import_multifile.sh -------------------------------------------------------------------------------- /tests/import_results.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/import_results.sh -------------------------------------------------------------------------------- /tests/import_singlefile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/import_singlefile.sh -------------------------------------------------------------------------------- /tests/modules.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/modules.sh -------------------------------------------------------------------------------- /tests/options.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/options.sh -------------------------------------------------------------------------------- /tests/results.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/results.sh -------------------------------------------------------------------------------- /tests/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/run.sh -------------------------------------------------------------------------------- /tests/samples.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/samples.sh -------------------------------------------------------------------------------- /tests/search.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/search.sh -------------------------------------------------------------------------------- /tests/set.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/set.sh -------------------------------------------------------------------------------- /tests/test_batch_gcd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_batch_gcd.py -------------------------------------------------------------------------------- /tests/test_bleichenbacher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_bleichenbacher.py -------------------------------------------------------------------------------- /tests/test_break_alpha_shift.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_break_alpha_shift.py -------------------------------------------------------------------------------- /tests/test_break_columnar_transposition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_break_columnar_transposition.py -------------------------------------------------------------------------------- /tests/test_break_many_time_pad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_break_many_time_pad.py -------------------------------------------------------------------------------- /tests/test_break_vigenere.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_break_vigenere.py -------------------------------------------------------------------------------- /tests/test_cbcr_do_to_eo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_cbcr_do_to_eo.py -------------------------------------------------------------------------------- /tests/test_ciphertext_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_ciphertext_analysis.py -------------------------------------------------------------------------------- /tests/test_detect_hash_format.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_detect_hash_format.py -------------------------------------------------------------------------------- /tests/test_dsa_key_recovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_dsa_key_recovery.py -------------------------------------------------------------------------------- /tests/test_ecb_decrypt_harder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_ecb_decrypt_harder.py -------------------------------------------------------------------------------- /tests/test_ecb_decrypt_simple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_ecb_decrypt_simple.py -------------------------------------------------------------------------------- /tests/test_fd_autopwn.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_fd_autopwn.sh -------------------------------------------------------------------------------- /tests/test_fermat_factor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_fermat_factor.py -------------------------------------------------------------------------------- /tests/test_hastad_broadcast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_hastad_broadcast.py -------------------------------------------------------------------------------- /tests/test_lcg_cracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_lcg_cracker.py -------------------------------------------------------------------------------- /tests/test_multi_byte_xor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_multi_byte_xor.py -------------------------------------------------------------------------------- /tests/test_padding_oracle_decrypt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_padding_oracle_decrypt.py -------------------------------------------------------------------------------- /tests/test_retrieve_iv.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_retrieve_iv.py -------------------------------------------------------------------------------- /tests/test_rsa_crt_fault_attack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_rsa_crt_fault_attack.py -------------------------------------------------------------------------------- /tests/test_single_byte_xor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_single_byte_xor.py -------------------------------------------------------------------------------- /tests/test_small_message_rsa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_small_message_rsa.py -------------------------------------------------------------------------------- /tests/test_wiener_factor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/test_wiener_factor.py -------------------------------------------------------------------------------- /tests/testbench_vigenere.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/testbench_vigenere.py -------------------------------------------------------------------------------- /tests/travis_python_tests: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | python -c 'from tests import *' 4 | -------------------------------------------------------------------------------- /tests/travis_shell_tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/travis_shell_tests -------------------------------------------------------------------------------- /tests/unset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/unset.sh -------------------------------------------------------------------------------- /tests/use.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/tests/use.sh -------------------------------------------------------------------------------- /util/create_alpha_shift.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/util/create_alpha_shift.py -------------------------------------------------------------------------------- /util/generate_frequency_tables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nccgroup/featherduster/HEAD/util/generate_frequency_tables.py --------------------------------------------------------------------------------