Implementation of Shamir's trick (working in progress).
[crypto_lab3.git] / src / main.cpp
index 3dcf71e..8c4ec7e 100644 (file)
@@ -22,9 +22,10 @@ void printUsage(const string& progName)
    cout << "Usage: " << progName << " <command>" << endl;
    cout << " <command> 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: [TODO]" << endl;
+   cout << "  * attack-fixed: Try the attack with the Shamir's trick version" << endl;
 }
 
 int main(int argc, char** argv)
@@ -35,10 +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]);