Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

. #332

Open
wants to merge 64 commits into
base: master
Choose a base branch
from
Open

. #332

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
4400ddf
Refactor AddressUtil
Uzlopak May 25, 2021
abda527
refactored clMath
Uzlopak May 25, 2021
cca5e41
remove cuda files
Uzlopak May 25, 2021
1b7e86d
improve Logger
Uzlopak May 25, 2021
198f9ed
improve KeyFinder
Uzlopak May 25, 2021
b55ed97
improve secp256k1lib
Uzlopak May 25, 2021
22cd79f
improve CryptoUtil
Uzlopak May 25, 2021
4030d2d
improve clUtil
Uzlopak May 25, 2021
8ca20dc
improve AddrGen
Uzlopak May 25, 2021
b4388c3
improve clKeyFinder
Uzlopak May 25, 2021
eb19331
add CLUnitTests
Uzlopak May 25, 2021
4f14fe9
improve CmdParse
Uzlopak May 25, 2021
bbfbb81
fix utils
Uzlopak May 25, 2021
b82f76b
the rest
Uzlopak May 25, 2021
1bd24de
rename BitCrack to BitCrackOpenCL
Uzlopak May 25, 2021
2a04135
Update README.md
Uzlopak May 25, 2021
f51a38d
remove unused code in ripemd160.cl to improve on-the-fly-compile time
Uzlopak May 26, 2021
d6e2019
pass directly the kernel instead of wrapping them in doIteration func…
Uzlopak May 26, 2021
d5208bc
Merge branch 'master' of https://github.com/Uzlopak/BitCrackOpenCL
Uzlopak May 26, 2021
147d98d
simplify ripemd160
Uzlopak May 26, 2021
e2bef00
simplify ripemd160 by using only one set of scalar variables
Uzlopak May 26, 2021
49e67de
separate runs in ripemd160.cl
Uzlopak May 26, 2021
9ac843f
make error log correct
Uzlopak May 26, 2021
6b71a75
prepare
Uzlopak May 26, 2021
b37f2ef
fix ripemd160
Uzlopak May 26, 2021
800de6f
fix mulModP256k
Uzlopak May 26, 2021
3cdf089
fix project files
Uzlopak May 26, 2021
93397f4
fix
Uzlopak May 26, 2021
e4f92d6
improve a little
Uzlopak May 27, 2021
998e4d6
reduce cycles in isInBloomfilter
Uzlopak May 27, 2021
279bb24
some minor change
Uzlopak May 28, 2021
366dd01
fix warnings
Uzlopak May 28, 2021
569d854
minor patch
Uzlopak May 28, 2021
2bac19f
minor fix
Uzlopak May 28, 2021
5a39009
improve multiply
Uzlopak May 31, 2021
48e9d53
improve performance
Uzlopak Jun 1, 2021
48c93be
improve further
Uzlopak Jun 1, 2021
09a2ce6
more improvements
Uzlopak Jun 1, 2021
ed303fa
improve more
Uzlopak Jun 1, 2021
8085f13
recude complexity
Uzlopak Jun 2, 2021
07848c7
add Notify to have sound when we find a key
Uzlopak Jun 2, 2021
42c3e06
minor optimizations
Uzlopak Jun 2, 2021
5a47e33
minor optimizations
Uzlopak Jun 3, 2021
c58fa3d
minor improvements
Uzlopak Jun 3, 2021
3070ee3
more info
Uzlopak Jun 3, 2021
daff067
separate some structures
Uzlopak Jun 4, 2021
3828b81
minor changes
Uzlopak Jun 4, 2021
faa8505
remove DeviceType
Uzlopak Jun 4, 2021
d4f4c6e
remove useless memory information
Uzlopak Jun 4, 2021
5e2e8d5
make it more userfriendly
Uzlopak Jun 5, 2021
2ad6449
make threads depending on maxWorkingGroupSize
Uzlopak Jun 5, 2021
ca5d1b5
remove selfTest
Uzlopak Jun 5, 2021
6502006
reduce memory footprint
Uzlopak Jun 5, 2021
df4bd01
remove numTargets,
Uzlopak Jun 5, 2021
1144ad6
modify a little
Uzlopak Jun 5, 2021
2a9a5bd
minor changes
Uzlopak Jun 5, 2021
c19fba0
simplify
Uzlopak Jun 5, 2021
513e161
remove _stepKernelWithDouble
Uzlopak Jun 5, 2021
7d56441
format
Uzlopak Jun 5, 2021
72f40f9
minor formatting
Uzlopak Jun 5, 2021
e923ee6
remove unnecessary variable
Uzlopak Jun 5, 2021
5c4b864
use again 256 threads by default as it throws in a nvidia P620, have …
Uzlopak Jun 5, 2021
0f76bc2
expose memory usage, ignore invalid Addresses
Uzlopak Jun 5, 2021
a734f65
Merge branch 'remove-WithDouble-Kernel'
Uzlopak Jun 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ CLUnitTests/test.cl
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Pp]erformance Release/
[Rr]eleases/
x64/
x86/
Expand Down
10 changes: 5 additions & 5 deletions AddrGen/AddrGen.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,26 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>ClangCL</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down Expand Up @@ -103,7 +103,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)secp256k1lib;$(SolutionDir)util;$(SolutionDir)AddressUtil;$(SolutionDir)CmdParse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
Expand Down
2 changes: 1 addition & 1 deletion AddrGen/main.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <iostream>
#include<string>
#include <string>
#include "secp256k1.h"
#include "util.h"
#include "AddressUtil.h"
Expand Down
20 changes: 8 additions & 12 deletions AddressUtil/AddressUtil.h
Original file line number Diff line number Diff line change
@@ -1,35 +1,31 @@
#ifndef _ADDRESS_UTIL_H
#define _ADDRESS_UTIL_H
#ifndef ADDRESS_UTIL_H
#define ADDRESS_UTIL_H

#include "secp256k1.h"

namespace Address {
std::string fromPublicKey(const secp256k1::ecpoint &p, bool compressed = false);
bool verifyAddress(std::string address);
};
}

namespace Base58 {
std::string toBase58(const secp256k1::uint256 &x);
std::string toBase58(const secp256k1::uint256 value);
secp256k1::uint256 toBigInt(const std::string &s);
void getMinMaxFromPrefix(const std::string &prefix, secp256k1::uint256 &minValueOut, secp256k1::uint256 &maxValueOut);

void toHash160(const std::string &s, unsigned int hash[5]);

bool isBase58(std::string s);
};


bool isBase58(const std::string &value);
}

namespace Hash {


void hashPublicKey(const secp256k1::ecpoint &p, unsigned int *digest);
void hashPublicKeyCompressed(const secp256k1::ecpoint &p, unsigned int *digest);

void hashPublicKey(const unsigned int *x, const unsigned int *y, unsigned int *digest);
void hashPublicKeyCompressed(const unsigned int *x, const unsigned int *y, unsigned int *digest);

};

}

#endif
#endif
75 changes: 69 additions & 6 deletions AddressUtil/AddressUtil.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Performance Release|Win32">
<Configuration>Performance Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Performance Release|x64">
<Configuration>Performance Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
Expand Down Expand Up @@ -37,32 +45,46 @@
<ProjectGuid>{34042455-D274-432D-9134-C9EA41FD1B54}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AddressUtil</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>ClangCl</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>ClangCL</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand All @@ -75,6 +97,10 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
Expand All @@ -83,6 +109,10 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\BitCrack.props" />
Expand All @@ -102,10 +132,23 @@
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)secp256k1lib;$(SolutionDir)CryptoUtil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)secp256k1lib;$(SolutionDir)CryptoUtil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
Expand All @@ -114,6 +157,26 @@
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Performance Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)secp256k1lib;$(SolutionDir)CryptoUtil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>None</DebugInformationFormat>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
Expand Down
Loading