/// <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); }
/// <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); }