Add measures and tests.
[crypto_lab3.git] / src / RsaStd.cpp
index 17c2345..114fad0 100644 (file)
@@ -1,5 +1,6 @@
 #include "RsaStd.h"
 
+#include <iostream>
 using namespace std;
 
 #include "Rand.h"
@@ -20,21 +21,17 @@ pair<Rsa::KeyPub, RsaStd::KeyPriv> RsaStd::generateRSAKeys(uint exponent, uint k
       kPriv.n = kPub.n = p * q;
       phi = (p - 1) * (q - 1);
 
+   // d = e^-1 (mode phi).
    } while (mpz_invert(kPriv.d.get_mpz_t(), kPub.e.get_mpz_t(), phi.get_mpz_t()) == 0); // If 'd' is not invertible we try another primes.
 
-// For debugging purpose.
-//   Utils::print("p", p);
-//   Utils::print("q", q);
-//   Utils::print("n", kPub.n);
-//   Utils::print("phi", phi);
-//   Utils::print("d", kPriv.d);
-
    return make_pair(kPub, kPriv);
 }
 
 mpz_class RsaStd::sign(const mpz_class& m, const KeyPriv& kPriv)
 {
    mpz_class result;
+
+   // m^d (mod n).
    mpz_powm_sec(result.get_mpz_t(), m.get_mpz_t(), kPriv.d.get_mpz_t(), kPriv.n.get_mpz_t());
    return result;
 }