A GPU cracking hashed passwords library written in C++.
A GPGPU cracking hashed passwords library written in C/C++ developed to illustrate a brute-force attack against a MD5 hashed password. Includes additional support for other types of attacks (dictionary) and hashing algorithms (e.g. SHA1). The library is based on OpenCL which allow the user to change between CPU and GPU execution or run in benchmark mode the cracking process.
Build | Linux | Windows |
---|---|---|
32-bit | ||
64-bit |
Due to the now available massive computational power provided by grid computing systems or specialised hardware like FPGA there is a higher probability of successful password cracking. The library implements a indexed-based word generator on the GPU followed by a meet-in-the-middle attack of the hashed algorithm to perform an fast cracking process. The application will provide an interface of communication with the library to execute the cracking attack.
Minimum setup for an application to load the HashCrack library after the binary files have been installed on local machine.
cmake_minimum_required (VERSION 3.2)
project (demo VERSION 1.0.0)
find_package (HonoursProject 1.0.0 REQUIRED COMPONENTS HashCrack CONFIG)
add_executable (${PROJECT_NAME} main.cpp)
target_link_libraries (${PROJECT_NAME} HonoursProject::HashCrack)
add_custom_command (TARGET ${PROJECT_NAME}
POST_BUILD COMMAND ${CMAKE_COMMAND}
-E copy_if_different
"$<TARGET_FILE_DIR:HonoursProject::HashCrack>/$<TARGET_FILE_NAME:HonoursProject::HashCrack>"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
TODO: Write license