This is an experimental port of TWLbf to OpenCL.
Note: If you really want to use Visual Studio 2017, you're going to probably have to change the Makefile a bit and compile mbedtls from source.
- A 64-bit computer
- MSYS2 (the x86_64 executable; read its instructions on installing and setting up)
- An
OpenCL.dllorOpenCL.lib64-bit library
Note: OpenCL.dll can be found inside of your C:\Windows\System32\ folder, but you may have to install your graphics card's drivers from your graphics card's vendor if it's not there.
You can alternatively install Intel's OpenCL SDK, but this requires you to agree to their TOS and takes up more space on your computer.
- Close any open instances of MSYS2 (if applicable), then launch the
MSYS2 MinGW 64-bitshortcut from the Windows Start Menu. - In the MSYS2 bash shell that appears, execute
pacman -Syu --needed mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-mbedtls gitto download and install required packages. - If you're going to use the
OpenCL.dll64-bit library from yourC:\Windows\System32\folder (in contrast to installing Intel's OpenCL SDK), copy it into yourmsys64/mingw64/lib/folder (yourmsys64folder is by default installed onto the root of your "C:" drive during the installation of MSYS2). Additionally, if you're going to useOpenCL.dll, in MSYS2, executegit clone https://github.com/KhronosGroup/OpenCL-Headers.git && mv OpenCL-Headers/CL /mingw64/include/to download and move the required OpenCL C headers folder. - In MSYS2, execute
git clone https://github.com/zoogie/bfCL.git && cd bfCLto download bfCL and change your current directory to it. - In MSYS2, execute
mingw32-maketo compile bfCL (OpenCL and mbedcrypto will both be dynamically linked! Refer to the Makefile if you want to statically link mbedcrypto instead).
- A 64-bit computer
Note: the concept is still applicable for all other Linux distros; e.g., some packages may have different names.
- Open up the "Terminal" application.
- In "Terminal", execute
sudo apt-get update && sudo apt-get install gcc git libmbedtls-dev make ocl-icd-opencl-devto download and install required packages (note that the "ocl-icd-opencl-dev" package includes both the OpenCL C headers and the OpenCL ICD Loader library). - After all of the packages have finished installing, in "Terminal", execute
git clone https://github.com/zoogie/bfCL.git && cd bfCLto download bfCL and change your current directory to it. - In "Terminal", execute
maketo compile bfCL (OpenCL and mbedcrypto will both be dynamically linked! Refer to the Makefile if you want to statically link mbedcrypto instead).
- An Intel-based 64-bit computer
- Homebrew (Read its instructions on installing; installing Homebrew also installs Xcode command-line tools, which is also needed)
- Open up the "Terminal" application through Launchpad.
- In "Terminal", execute
brew update && brew install git mbedtlsto download and install required packages. - In "Terminal", execute
git clone https://github.com/zoogie/bfCL.git && cd bfCLto download bfCL and change your current directory to it. - In "Terminal", execute
maketo compile bfCL (OpenCL and mbedcrypto will both be dynamically linked! Refer to the Makefile if you want to statically link mbedcrypto instead).
AES and SHA1 code from mbed TLS which is Apache 2.0 license, so I guess this project becomes Apache 2.0 licensed automatically? or only related files are Apache 2.0? I'm not sure.