Exemplo n.º 1
0
        /// <summary>
        /// Metoda koja služi za enkripciju poruke s obzirom na sam sadržaj poruke.
        /// Prvo se izgenerira ključ i inicijalizacijski vekor pomoću kojih se aes algoritmom enkriptira sadm sadržaj poruke.
        /// Zatim se izgenerirani ključ enkriptira pomoću rsa algoritma i to zahvaljujući javnome ključu koji se prosljeđuje
        /// samoj metodi.
        /// </summary>
        /// <param name="poruka"></param>
        /// <param name="javniKljuc"></param>
        /// <returns></returns>
        public static EnkripcijskiPaket EncryptData(string poruka, string javniKljuc)
        {
            EnkripcijskiPaket novi = new EnkripcijskiPaket();
            Enkripcija        aes  = new AesEnkripcija();
            Enkripcija        rsa  = new RsaEnkripcija();

            rsa.PridruziJavniKljuc(javniKljuc);
            aes.GenerirajKljucIV();

            novi.Iv = aes.DohvatiIV();
            novi.EnkriptiraniPodaci = aes.EncryptData(poruka);
            novi.EnkriptiraniKljuc  = rsa.EncryptData(Convert.ToBase64String(aes.DohvatiAESKljuc()));

            return(novi);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Metoda koja služi za enkripciju datoteke.
        /// Prvo se izgenerira ključ i inicijalizacijski vekor pomoću kojih se aes algoritmom enkriptira sadm sadržaj datoteke.
        /// Zatim se izgenerirani ključ enkriptira pomoću rsa algoritma i to zahvaljujući javnome ključu koji se prosljeđuje
        /// samoj metodi.
        /// </summary>
        /// <param name="file"></param>
        /// <param name="javniKljuc"></param>
        /// <returns></returns>
        public static EnkripcijskiPaket EncryptFile(byte[] file, string javniKljuc)
        {
            EnkripcijskiPaket novi = new EnkripcijskiPaket();
            AesEnkripcija     aes  = new AesEnkripcija();
            Enkripcija        rsa  = new RsaEnkripcija();

            rsa.PridruziJavniKljuc(javniKljuc);
            aes.GenerirajKljucIV();

            novi.Iv = aes.DohvatiIV();
            novi.PridruziDatoteku(aes.EncryptFile(file));
            novi.EnkriptiraniKljuc = rsa.EncryptData(Convert.ToBase64String(aes.DohvatiAESKljuc()));

            return(novi);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Event handler koji se aktivira prilikom klika na gumb Generiraj. Na temelju pripadajućeg odabira vrste algoritma
 /// generiraju se potrebni ključevi i inicijalizacijski vektori potrebni za određenu vrsu algoritma enkripcije.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void gumbGeneriraj_Click(object sender, EventArgs e)
 {
     if (odabirAlgoritam.SelectedValue == (object)"AES")
     {
         Enkripcija aesEnkripcija = new AesEnkripcija();
         aesEnkripcija.GenerirajKljucIV();
         odabirPrvo.Text  = Convert.ToBase64String(aesEnkripcija.DohvatiAESKljuc());
         odabirDrugo.Text = Convert.ToBase64String(aesEnkripcija.DohvatiIV());
         trenutna         = aesEnkripcija;
     }
     if (odabirAlgoritam.SelectedValue == (object)"RSA")
     {
         Enkripcija rsaEnkripcija = new RsaEnkripcija();
         rsaEnkripcija.AssignRsaKeys();
         odabirPrvo.Text  = rsaEnkripcija.DohvatiJavniKljuc();
         odabirDrugo.Text = rsaEnkripcija.DohvatiPrivatniKljuc();
         trenutna         = rsaEnkripcija;
     }
     if (odabirAlgoritam.SelectedValue == (object)"DES")
     {
         Enkripcija des = new DesEnkripcija();
         des.GenerirajKljucIV();
         odabirPrvo.Text  = Convert.ToBase64String(des.DohvatiAESKljuc());
         odabirDrugo.Text = Convert.ToBase64String(des.DohvatiIV());
         trenutna         = des;
     }
     if (odabirAlgoritam.SelectedValue == (object)"TripleDES")
     {
         Enkripcija tripleDes = new TripleDesEnkripcija();
         tripleDes.GenerirajKljucIV();
         odabirPrvo.Text  = Convert.ToBase64String(tripleDes.DohvatiAESKljuc());
         odabirDrugo.Text = Convert.ToBase64String(tripleDes.DohvatiIV());
         trenutna         = tripleDes;
     }
     gumbEnkriptiraj.Enabled = true;
 }