예제 #1
0
 private void WczytajKluczPrywatny_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         OpenFileDialog openFileDialog1 = new OpenFileDialog
         {
             Title            = "Wybierz plik z kluczem prywatnym",
             Filter           = "Private Key (*.privatekey)|*.privatekey",
             FilterIndex      = 1,
             RestoreDirectory = true
         };
         if (openFileDialog1.ShowDialog() == true)
         {
             using (StreamReader sr = new StreamReader(openFileDialog1.FileName))
             {
                 BigInteger n1 = BigInteger.Parse(sr.ReadLine());
                 BigInteger d1 = BigInteger.Parse(sr.ReadLine());
                 private_key_wczytany = new RSA_key(n1, d1);
             }
         }
         LabelKluczPrywatny.Foreground  = Brushes.Green;
         LabelKluczPrywatny.Content     = "Wczytany";
         DeszyfrujTekstButton.IsEnabled = true;
     }
     catch (Exception ex)
     {
         MessageBox.Show("Nie udało się wczytać klucza");
     }
 }
예제 #2
0
 private void GenerujKluczeButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         WyznaczPiQ();
         WyznaczN();
         WyznaczPHI();
         WyznaczE();
         WyznaczD();
         public_key  = new RSA_key(N, E);
         private_key = new RSA_key(N, D);
         KluczPublicznyLabel.Content          = "Wygenerowany";
         KluczPrywatnyLabel.Content           = "Wygenerowany";
         KluczPublicznyLabel.Foreground       = Brushes.Green;
         KluczPrywatnyLabel.Foreground        = Brushes.Green;
         PodglądZmiennych.IsEnabled           = true;
         ZapiszKluczPublicznyButton.IsEnabled = true;
         ZapiszKluczPrywatnyButton.IsEnabled  = true;
     }
     catch (Exception ex)
     {
         MessageBox.Show("Wystapil nieoczekiwany błąd \n\n\n" + ex);
     }
 }
예제 #3
0
 private BigInteger Decrypt(RSA_key private_key, BigInteger c)
 {
     return(BigInteger.ModPow(c, private_key.x, private_key.n));
 }
예제 #4
0
 private BigInteger Encrypt(RSA_key public_key, BigInteger m)
 {
     return(BigInteger.ModPow(m, public_key.x, public_key.n));
 }