Пример #1
0
        /// <summary>
        /// Metoda koja služi za dekripciju datoteke.
        /// Za dekripciju same datoteke važan je privatni ključ koji se prosljeđuje ovoj metodi te ona pomoću toga ključa
        /// rsa algoritmom dekriptira ključ kojim je enkriptirana datoteka.
        /// Zatim se taj ključ i inicijalizacijski vektor pridružuje aes objektu koji zatim može dekriptirati sam sadržaj datoteke.
        /// </summary>
        /// <param name="file"></param>
        /// <param name="kljuc"></param>
        /// <param name="iv"></param>
        /// <param name="privatniKljuc"></param>
        /// <returns></returns>
        public static byte[] DecryptFile(byte[] file, string kljuc, byte[] iv, string privatniKljuc)
        {
            AesEnkripcija aes = new AesEnkripcija();
            Enkripcija    rsa = new RsaEnkripcija();

            rsa.PridruziPrivatniKljuc(privatniKljuc);

            var dekriptiraniKljuc = rsa.DecryptData(kljuc);

            aes.PridruziKljucIV(Convert.FromBase64String(dekriptiraniKljuc), iv);
            var decryptedData = aes.DecryptFile(file);

            return(decryptedData);
        }
Пример #2
0
        /// <summary>
        /// Metoda koja služi za dekripciju poruke s obzirom na sam sadržaj poruke.
        /// Za dekripciju same poruke važan je privatni ključ koji se prosljeđuje ovoj metodi te ona pomoću toga ključa
        /// rsa algoritmom dekriptira ključ kojim je enkriptirana poruka.
        /// Zatim se taj ključ i inicijalizacijski vektor pridružuje aes objektu koji zatim može dekriptirati sam sadržaj poruke.
        /// </summary>
        /// <param name="poruka"></param>
        /// <param name="privatniKljuc"></param>
        /// <returns></returns>
        public static string DecryptData(Poruka poruka, string privatniKljuc)
        {
            Enkripcija aes = new AesEnkripcija();
            Enkripcija rsa = new RsaEnkripcija();

            rsa.PridruziPrivatniKljuc(privatniKljuc);

            var dekriptiraniKljuc = rsa.DecryptData(poruka.Paket.EnkriptiraniKljuc);

            aes.PridruziKljucIV(Convert.FromBase64String(dekriptiraniKljuc), poruka.Paket.Iv);
            var decryptedData = aes.DecryptData(poruka.Paket.EnkriptiraniPodaci);

            return(decryptedData);
        }