#include #include #include #include "HideString.h" DEFINE_HIDDEN_STRING(HeaderMessage, 0x44, ('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')(' ')('T')('S')('3')(' ')('H')('a')('s')('h')(' ')('b')('y')(' ')('W')('o')('l')('v')('e')('r')('i')('n')('D')('E')('V')(' ')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')('#')); using namespace ts; using namespace std; inline string crypt(string in){ stringstream result; result << "DEFINE_HIDDEN_STRING(EncryptionKey, 0xA5, "; for(char c : in) result << "('" << c << "')"; result << ");"; return result.str(); } int main(int argc, char** argv) { cout << GetHeaderMessage() << endl; if(argc < 3) { cerr << "Invalid arguments. ./TSHash [ = 1.000.000]" << endl; return 0; } init_LTM(); if(register_prng(&sprng_desc) == -1) { cerr << "could not setup prng" << endl; return EXIT_FAILURE; } if (register_cipher(&rijndael_desc) == -1) { cerr << "could not setup rijndael" << endl; return EXIT_FAILURE; } int threads = atoi(argv[1]); int level = atoi(argv[2]); int blockSize = argc > 3 ? atoi(argv[3]) : 1 * 1000 * 1000; cout << "# Creating new identity (Threads: " << threads << " Level: " << level << " Size: " << blockSize << ")" << endl; auto identity = Identity::createNew(); cout << "IDENTITY: " << identity->exportIdentity() << endl; cout << "# Start hashing" << endl; if(!identity->improveSecurityLevelMultithreaded(level, threads, blockSize, 0, true)) { cout << "ERROR: Could not improve identity!" << endl; return 1; } cout << "INFO: Found identity!" << endl; cout << "IDENTITY: " << identity->exportIdentity() << endl; cout << "LEVEL: " << identity->getSecurityLevel() << endl; return 0; } /* #IDENTITY: 5513931022VPXfjXSN1qRa2IZvTpS3xs+L7YvcBI2lTfXgOWAkaAQwQVgR8BXtWJ1MKUSh/HGNGNgdVGWYHcCg1BgQie3pValZZB39hVE4HBStcAA5SUz9Tf1JbXVABBVUJUwFmFkJZLlZUfCtaZXFBaUVBZ1poOXlQd09KSzN6ejYxMjVnaGN3bmtSKzRPOXdvZWJObVpaT3gyOTA3ND0= #LEVEL: 36 #IDENTITY: 0VdYzXyIWNlPR991zQZLQoGLDYA4JvCX9GQ3MAYzpBRABWAHZTAmJvNQUAMxEEKGQDJVlnanF1YDdQQn0GewlXVWoAQmVMLX9FVyZaMAI7KlAIeXpPKGMCJ3BTVAJHLGlUHARbBlpqSUNJUURISXY1UXJCYmlBMHlZOVV3dFdRRXovM0lkU1hzNFJvWTkwT1JienA5bVRRPT0= Current level = 41 at 1233527956186 Current offset index: 3750576000000 block size: 1000000 */