# hashcat and its predecessors has been developed and is maintained by:

Jens "atom" Steube <jens.steube@gmail.com> (@hashcat)

# The following persons made code contributions to hashcat:

Philipp "philsmd" Schmidt <philsmd@hashcat.net> (@philsmd)

* Multiple kernel modules
* Hardware monitor maintenance
* Test Suite maintenance
* Makefile maintenance
* Potfile feature
* Maskfile feature
* Induction directory feature
* Loopback file feature
* Userinput sanity checks

Gabriele "matrix" Gristina <matrix@hashcat.net> (@gm4tr1x)

* Multiple kernel modules
* Compressed wordlist feature
* OpenCL Info feature
* Apple Metal Runtime API feature
* Apple macOS port
* Apple Silicon support
* Universal binary on Apple Silicon
* Add support to character class rules
* Hardware monitor initial code base and maintenance
* Test suite initial code base and maintenance
* Edge case testing suite
* Makefile initial code base and maintenance
* Multithreading initial code base
* MultiGPU initial code base
* Benchmarks initial code base
* hashcat-toolchain docker

Ahmed "ahmed-alnassif" Al-Nassif <mr.ahmed.nassif@gmail.com> (@ahmed-alnassif)

* Android port with Termux support
* Android build documentation and setup guide

Jean-Christophe "Fist0urs" Delaunay <jean-christophe.delaunay@synacktiv.com> (@Fist0urs)

* Kerberos TGS Rep enctype 23 kernel module
* Kerberos TGS Rep enctype 17/18 kernel module
* AxCrypt kernel module
* KeePass (KDBX v2/v3) kernel module
* DPAPImk v1 and v2 kernel module

Jeremi "epixoip" Gosney <jgosney@terahash.com> (@jmgosney)

* Oracle Transportation Manager SHA256 kernel module
* Continuous work pushing hashcat to run on large clusters
* Conducting Hashcat trainings
* Moderating the hashcat forum
* Helping tons of new users find their way into the hashcat universe

magnum

* RAR3 Huffman validity check in the -m 23800 kernel module

Other contributors to hashcat

* A full list and their commits can be found here:
  https://github.com/hashcat/hashcat/graphs/contributors

# hashcat relies on some libraries, including:

* liblzma by Lasse Collin and Igor Pavlov (loaded at runtime)
* zlib by Jean-loup Gailly and Mark Adler (loaded at runtime)
* zstd by Yann Collet (@Cyan4973) (loaded at runtime)
* micro-ecc by Ken MacKay (used as reference for some secp256k1 operations)
* PPMd var.H by Dmitry Shkarin and Dmitry Subbotin, in Igor Pavlov's 7-Zip implementation (vendored)

# hashcat implements the following algorithms designed by others:

* Probabilistic Context-Free Grammars for password guessing, by Matt Weir (@lakiw),
  with Sudhir Aggarwal, Breno de Medeiros and Bill Glodek
  The -a 4 attack is built on that model, and it reads the rulesets Matt Weir's
  pcfg_cracker trains. hashcat carries none of its code and enumerates the grammar
  its own way, but the attack is theirs.

* OMEN, an ordered Markov enumerator for password guessing, by Markus Duermuth,
  Fabian Angelstorf, Claude Castelluccia, Daniele Perito and Abdelberi Chaabane
  A ruleset trained below full coverage puts the mass the grammar did not cover on
  an escape, and OMEN is the model that fills it in. hashcat walks it on the host
  engine, where a trellis can be walked, and says so when it cannot carry it.

* xxHash by Yann Collet (@Cyan4973)
  paw64, hashcat's own 64 bit identity hash, carries no xxHash code and produces
  different digests, but it follows the ground xxHash broke: that a short input
  deserves a different shape from a long one, and that a multiply, a fold and a
  strong final avalanche are enough.

# Furthermore the following persons helped the project:

Martin "purehate" Bos <purehate@derbycon.com> (@cantcomputer)

* For the first person presenting hashcat in his talks and tutorials to a larger audience
* For pushing hashcat to Kali

Per Thorsheim <per@thorsheim.net> (@thorsheim)

* For running the "PasswordsCon" conference, first of its kind
* For convincing me to speak publicly about my work

Rick "Minga" Redman and KoreLogic <mingakore@gmail.com> (@CrackMeIfYouCan)

* For running the "Crack Me If You Can" password cracking contest, first of its kind
* For pushing password cracking techniques forward

Brandon Chalk <brandon@casaba.com> (@brandoncasaba)
* Kerberos Pre-Auth 17/18 kernel module, ported from @Fist0urs TGS kernel modules

Jamie Riden <jamie@blacktraffic.co.uk>
* Web2py pbkdf2-sha512 plugin

Dylan Evans <fin3ss3g0d@pm.me> (@fin3ss3g0d)
* Apache Shiro 1 SHA-512 plugin

Costin Enache <costin@detack.de>
* RACF KDFAES module
* IBM AS400 DES and SSHA1 modules
* Cisco-ISE Hashed Password (SHA256) module

Shooter3k
* Multibyte characters written directly in rule operands, and UTF-8 console output on Windows
* Narrowing the potfile search and batching the cracked result writes
* A breakdown of where a run's wall clock goes, and the pipeline instrument as an option
* Long-standing bugfix ideas in rule file loading, --show and --left, --loopback, and checkpointing

!!! All the package maintainers of hashcat !!!
