Example #1
0
        public DiscreteLogAlgorithmsInfoForm()
        {
            InitializeComponent();
            textBox1.Select(0, 0);
            // textBox2.Select(0, 0);
            base1 = new BigInteger(r.Next(100000) + 2);
            base2 = new BigInteger(r.Next(100000) + 2);
            mod1  = CryptoMath.genSimpleRand(8);
            if (mod1 == base1)
            {
                mod1++;
            }
            mod2 = CryptoMath.genSimpleRand(8);
            if (mod2 == base2)
            {
                mod1++;
            }
            BigInteger rnd1 = CryptoMath.genRand(100000);
            BigInteger rnd2 = CryptoMath.genRand(100000);

            num1            = BigInteger.ModPow(base1, rnd1, mod1);
            num2            = BigInteger.ModPow(base2, rnd2, mod2);
            Task1Label.Text =
                base1.ToString() + "^x  = " + num1.ToString() + " mod " + mod1.ToString();
            Task2Label.Text =
                base2.ToString() + "^x  = " + num2.ToString() + " mod " + mod2.ToString();
        }
Example #2
0
        private void genpgBtn_Click(object sender, EventArgs e)
        {
            string pstr;

            switch (digitsBox.Text)
            {
            case "p40":
                pstr = "7524548124131735373612526345481757634861";
                BigInteger.TryParse(pstr, out p);
                g = 7;
                break;

            case "p41":
                pstr = "61571157514825784611687343327637886854113";
                BigInteger.TryParse(pstr, out p);
                g = 3;
                break;

            default:
                p = CryptoMath.genSimpleRand(digits);
                g = CryptoMath.calculateFakePrimitiveRoot(p);
                break;
            }
            pBox.Text = p.ToString();
            gBox.Text = g.ToString();
        }
Example #3
0
 //генерация р
 private void generatepBtn_Click(object sender, EventArgs e)
 {
     p             = CryptoMath.genSimpleRand(digits);
     gtextBox.Text = "";
     xtextBox.Text = "";
     ytextBox.Text = "";
     ptextBox.Text = p.ToString();
 }
        private void RandomDataButton_Click(object sender, EventArgs e)
        {
            Random     rand = new Random();
            int        size = rand.Next(11) + 2;
            BigInteger M    = 0;

            while (!CryptoMath.isPrime((M - 1) / 2))
            {
                M = CryptoMath.genSimpleRand(size);
            }
            MBox.Text = M.ToString();
            ABox.Text = (CryptoMath.genRand(rand.Next(size - 1) + 1) + 2).ToString();
            BBox.Text = (CryptoMath.genRand(rand.Next(size - 1) + 1)).ToString();
        }
Example #5
0
 private void generatepBtn_Click(object sender, EventArgs e)
 {
     modulo    = CryptoMath.genSimpleRand(digits);
     pBox.Text = modulo.ToString();
 }