Attack implementation.
[crypto_lab3.git] / src / RsaCrt.h
index 2341939..b680e31 100644 (file)
@@ -11,23 +11,24 @@ class RsaCrt
 {
 public:
    struct KeyPriv {
-      mpz_class n; // Modulus.
-      uint e; // Exponent.
-
       mpz_class p;
       mpz_class q;
       mpz_class dp;
       mpz_class dq;
       mpz_class qInv;
-      mpz_class d;
    };
 
+   /**
+    * Generate a pair of keys (public, private).
+    */
    static std::pair<Rsa::KeyPub, KeyPriv> generateRSAKeys(uint exponent, uint keySizeBits);
 
    /**
     * m must not be greater or equal than kPriv.n.
     */
    static mpz_class sign(const mpz_class& m, const KeyPriv& kPriv);
+
+   static mpz_class signWithFaultySp(const mpz_class& m, const KeyPriv& kPriv);
 };
 
 #endif