summaryrefslogtreecommitdiffstats
path: root/keygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'keygen.cpp')
-rw-r--r--keygen.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/keygen.cpp b/keygen.cpp
new file mode 100644
index 0000000..9f827f6
--- /dev/null
+++ b/keygen.cpp
@@ -0,0 +1,37 @@
+/*
+ * keygen.cpp
+ *
+ *
+ */
+
+#include "keygen.h"
+#include "miller_rabin.h"
+
+/* forward declaration of variables from keygen_args.h */
+extern char *pubkey;
+extern char *prikey;
+extern long prime_p;
+extern long prime_q;
+extern int random_f;
+
+int main(int argc, char **argv)
+{
+ /* seed rand() */
+ srand((unsigned int ) time(NULL));
+
+ if (keygen_args(argc, argv) == 0)
+ cout << "read arguments successfully" << endl;
+
+ unsigned short x = rand();
+ printf("x before masking: %10hu 0x%08x\n", x, x);
+
+ /* tips from http://www.di-mgt.com.au/rsa_alg.html */
+ x |= LOW_BIT_ON;
+ x |= FIRST_TWO_BITS_ON;
+
+ printf("x after masking : %10hu 0x%08x\n", x, x);
+ printf(miller_rabin_16(x) ? "x is prime!\n" : "x is not prime\n");
+
+ return 0;
+}
+