private void button3_Click(object sender, EventArgs e) { ulong P = Convert.ToUInt64(this.textBox1.Text); ulong G = Convert.ToUInt64(this.textBox2.Text); ulong X = Convert.ToUInt64(this.textBox3.Text); bool Is_p_prime = IsPrime.Check(P); bool Is_g_lesser_p = G < P; bool Is_x_lesser_p = X < P; if (!Is_p_prime || !Is_g_lesser_p || !Is_x_lesser_p) { if (!Is_p_prime) { MessageBox.Show("Число P не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!Is_g_lesser_p) { MessageBox.Show("Число G больше P", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!Is_x_lesser_p) { MessageBox.Show("Число X больше P", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { ElGamal ElG = new ElGamal(P, G, X); this.textBox4.Text = G.ToString(); this.textBox5.Text = P.ToString(); this.textBox6.Text = ElG.GetOpenKey().ToString(); } }
private void getKeys_Click(object sender, EventArgs e) { bool IsFirstPrime = IsPrime.Check(P); bool IsSecondPrime = IsPrime.Check(Q); if (!IsFirstPrime || !IsSecondPrime) { if (!IsFirstPrime) { MessageBox.Show("Первое число не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!IsSecondPrime) { MessageBox.Show("Второе число не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { RSA rsa = new RSA(P, Q); ulong N = P * Q; RSA.Keys keys = rsa.GetKeys(); OpenKey = keys.openKey; SecretKey = keys.secretKey; } }
private void button1_Click(object sender, EventArgs e) { ulong P = Convert.ToUInt64(this.textBox1.Text); ulong Q = Convert.ToUInt64(this.textBox2.Text); bool IsFirstPrime = IsPrime.Check(P); bool IsSecondPrime = IsPrime.Check(Q); if (!IsFirstPrime || !IsSecondPrime) { if (!IsFirstPrime) { MessageBox.Show("Первое число не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!IsSecondPrime) { MessageBox.Show("Второе число не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { RSA rsa = new RSA(P, Q); RSA.Keys keys = rsa.GetKeys(); this.textBox3.Text = keys.openKey.ToString(); this.textBox4.Text = keys.secretKey.ToString(); } }
private void button1_Click(object sender, EventArgs e) { bool Is_p_prime = IsPrime.Check(P); bool Is_g_lesser_p = G < P; bool Is_x_lesser_p = X < P; if (!Is_p_prime || !Is_g_lesser_p || !Is_x_lesser_p) { if (!Is_p_prime) { MessageBox.Show("Число P не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!Is_g_lesser_p) { MessageBox.Show("Число G больше P", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!Is_x_lesser_p) { MessageBox.Show("Число X больше P", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { ElGamal elG = new ElGamal(P, G, X); OpenKey = elG.GetOpenKey(); } }
private void button1_Click(object sender, EventArgs e) { bool Is_p_prime = IsPrime.Check(P); if (!Is_p_prime) { if (!Is_p_prime) { MessageBox.Show("Число P не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { ulong[] RandomStorage; List <ulong> Random = new List <ulong>(); for (ulong i = 3; i < P / 2; ++i) { if (0 == (P - 1) % i && IsPrime.Check(i)) { Random.Add(i); } } RandomStorage = Random.ToArray(); Random rand = new Random(); Q = RandomStorage[rand.Next(0, RandomStorage.Length)]; ulong[] RandomStorage2; List <ulong> Random2 = new List <ulong>(); for (ulong i = 1; i < P - 1; ++i) { if (1 == ExpByModule.Exponentiation(i, Q, P)) { Random2.Add(i); } } RandomStorage2 = Random2.ToArray(); Random rand2 = new Random(); A = RandomStorage2[rand2.Next(0, RandomStorage2.Length)]; Random rand3 = new Random(); SecretKey = (ulong)rand3.Next(1, (int)Q - 1); OpenKey = ExpByModule.Exponentiation(A, SecretKey, P); } }
private void getX_Click(object sender, EventArgs e) { bool IsFirstPrime = IsPrime.Check(P); bool IsAlesserP = A < P; if (!IsFirstPrime || !IsAlesserP) { if (!IsFirstPrime) { MessageBox.Show("Первое число не простое", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (!IsAlesserP) { MessageBox.Show("Число А больше или равно Р", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { Random rand = new Random(); X = (ulong)rand.Next(1, (int)P - 2); } }