Example #1
0
        private void button5_Click(object sender, EventArgs e)
        {
            listBox4.Items.Clear();
            long d0_num = long.Parse(d0.Text);
            long d1_num = long.Parse(d1.Text);

            Inverze.Run(listBox4, d0_num, d1_num);
        }
Example #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            long message = Int32.Parse(m.Text);
            long qE      = Int32.Parse(E.Text);
            long Q       = Int32.Parse(q.Text);
            long P       = Int32.Parse(p.Text);

            listBox2.Items.Clear();
            string lajna = "φ(" + P.ToString() + "∙" + Q.ToString() + ")" + " = ";
            long   Pz = P; long Qz = Q;

            P = Phi.phi((int)P);
            Q = Phi.phi((int)Q);
            long d = P * Q;

            lajna = lajna + P.ToString() + "∙" + Q.ToString() + " = " + d.ToString();
            listBox2.Items.Add(lajna);
            lajna = d.ToString() + "d" + " ≡ " + "0";
            listBox2.Items.Add(lajna);
            lajna = qE.ToString() + "d" + " ≡ " + "1";
            listBox2.Items.Add(lajna); listBox2.Items.Add("-------------------------");
            DHRovnice rovnice = Inverze.Run(listBox2, d, qE);

            listBox2.Items.Add("--------------------------");
            long umocneni = rovnice.Prava;

            lajna = "m ≡" + message + "^" + umocneni + "≡";
            long c1 = message % Pz;
            long m1 = umocneni % Phi.phi((int)Pz);

            lajna = lajna + c1 + "^" + m1;  listBox2.Items.Add(lajna);
            long finalni1 = Umocnovac.Run(listBox2, c1, m1, Pz);

            lajna = "m" + " ≡ " + finalni1 + " (mod" + Pz + ")";
            listBox2.Items.Add(lajna);
            long c2 = message % Qz;
            long m2 = umocneni % Phi.phi((int)Qz);

            lajna = "m ≡" + message + "^" + umocneni + "≡" + c2 + "^" + m2;
            listBox2.Items.Add(lajna);
            long finalni2 = Umocnovac.Run(listBox2, c2, m2, Qz);

            lajna = "m" + " ≡ " + finalni2 + " (mod" + Qz + ")";

            listBox2.Items.Add(lajna); listBox2.Items.Add("-----------------------------");
            Rovnice.Run(listBox2, finalni1, Pz, finalni2, Qz);
        }