#include <tchar.h>
#include <iostream>
#include <ctime>
#include <cstdlib>

#include "TA.h"
#include "User.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[]) {

	User alice("Alice");
	User beto("Beto", "beto@iq.usp.br");
	TA *ta = TA::getInstance();	

	srand((unsigned)time(NULL));

	ta->setP(1019);
	ta->setQ(991);

	cout << "Generating keys...";
	ta->setUp();
	alice.createKey();
	beto.createKey();
	cout << " done." << endl << endl;			
	
	if (beto.signatureVerification(Util::hash(alice.getEmail()) % ta->getPhiN(), alice.signatureGeneration("Mac499 - Trabalho de Formatura supervisionado"), "Mac499 - Trabalho de Formatura supervisionado"))
		cout << "OK" << endl;
	else
		cout << "Error" << endl;
	
	return 0;
}