X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=src%2Fmain.cpp;h=4cfdb9c6887434df844508da2d5e3097e15b4409;hb=d061bc06b7e5681e9da4c2c0b7642f50d126ff76;hp=ac75df1f1a7ab658ee3163590a67a779f13553cf;hpb=7975d02c6c1ee679a236087e86955c086f1a9a8e;p=crypto_lab3.git diff --git a/src/main.cpp b/src/main.cpp index ac75df1..4cfdb9c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,35 +6,42 @@ * Author: Grégory Burri */ +#include #include using namespace std; #include -#include "Rsa.h" -#include "RsaCrt.h" +#include "Tests.h" const uint KEY_SIZE_BITS = 1024; const uint RSA_PUBLIC_EXPONENT = 65537; +void printUsage(const string& progName) +{ + cout << "Usage: " << progName << " [tests|time-measures]" << endl; + +// mpz_class n = 10; +// mpz_class d = 3; +// mpz_class q; +// mpz_fdiv_q(q.get_mpz_t(), n.get_mpz_t(), d.get_mpz_t()); + +// cout << "q: " << q << endl; +// cout << "q: " << (n / d) << endl; +} + int main(int argc, char** argv) { vector args; for (int i = 0; i < argc; i++) args.push_back(string(argv[i])); - const auto& keys = Rsa::generateRSAKeys(RSA_PUBLIC_EXPONENT, KEY_SIZE_BITS); - const auto& kPub = keys.first; - const auto& kPriv = keys.second; - - mpz_class message(42); - mpz_class signature = Rsa::sign(message, kPriv); - - mpz_class message2(42); - cout << "verify: " << Rsa::verifySignature(message2, signature, kPub) << endl; - - mpz_class message3(43); - cout << "verify: " << Rsa::verifySignature(message3, signature, kPub) << endl; + if (args.size() >= 2 && args[1] == "tests") + Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).runTests(); + else if (args.size() >= 2 && args[1] == "time-measures") + Tests(KEY_SIZE_BITS, RSA_PUBLIC_EXPONENT).runTimeMeasures(); + else + printUsage(args[0]); return 0; }