X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=src%2Fmain.cpp;h=8c4ec7e52bdeaa17bf7c4915b24a9e4d3df846d1;hb=5b2785dd710151d81e6f6af4fd6ae48521068e41;hp=03d11737f596ce50d7aced80fce1c7441c7818ab;hpb=fb173a9728e915fc7b3f99bc41f55034757105df;p=crypto_lab3.git diff --git a/src/main.cpp b/src/main.cpp index 03d1173..8c4ec7e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,7 +19,13 @@ const uint RSA_PUBLIC_EXPONENT = 65537; void printUsage(const string& progName) { - cout << "Usage: " << progName << " [tests|time-measures]" << endl; + cout << "Usage: " << progName << " " << endl; + cout << " can be one of the following:" << endl; + cout << " * tests: Do some tests for RSA and RSA-CRT" << endl; + cout << " * tests-with-shamirs-trick: Do some tests for RSA-CRT with Shamir's trick" << endl; + cout << " * time-measures: Compute the ratio between RSA and RSA-CRT" << endl; + cout << " * attack: Simulate the Boneh-DeMillo-Lipton attack against RSA-CRT" << endl; + cout << " * attack-fixed: Try the attack with the Shamir's trick version" << endl; } int main(int argc, char** argv) @@ -30,8 +36,14 @@ int main(int argc, char** argv) if (args.size() >= 2 && args[1] == "tests") Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).runTests(); + else if (args.size() >= 2 && args[1] == "tests-with-shamirs-trick") + Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).runTestsWithShamirsTrick(); else if (args.size() >= 2 && args[1] == "time-measures") Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).runTimeMeasures(); + else if (args.size() >= 2 && args[1] == "attack") + Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).doAttack(); + else if (args.size() >= 2 && args[1] == "attack-fixed") + Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).doAttackFixed(); else printUsage(args[0]);