Example #1
0
        public static void Dekriptimi(string message, bool opa)
        {
            string[] words = message.Split('.');
            var      bytes = Convert.FromBase64String(words[0]);
            string   user  = Encoding.UTF8.GetString(bytes);

            // Console.WriteLine(user);
            byte[] bytes1 = Convert.FromBase64String(words[1]);
            //string IV = Encoding.UTF8.GetString(bytes1);
            // Console.WriteLine(IV);
            // bytes1 = Formovargun(IV);
            string path = "C:\\Users\\Lenovo\\Desktop\\Detyra1_DS-Gr-6-master\\ds\\bin\\Debug\\netcoreapp3.0\\keys\\" + user + ".pem";

            //Console.WriteLine(path);

            if (!File.Exists(path))
            {
                string s = "Celesi " + user + " nuk ekziston";
                // Console.WriteLine("Celesi " + user + " nuk ekziston");
            }
            else
            {
                RSACryptoServiceProvider rsaPriv  = new RSACryptoServiceProvider();
                Chilkat.PrivateKey       privKey2 = new Chilkat.PrivateKey();
                privKey2.LoadPemFile(path);
                string privKeyXml = privKey2.GetXml();



                rsaPriv.FromXmlString(privKeyXml);
                byte[] dekodimi     = Convert.FromBase64String(words[2]);
                byte[] decryptedRSA = rsaPriv.Decrypt(dekodimi, false);
                byte[] dekodimiDes  = Convert.FromBase64String(words[3]);


                Console.WriteLine("Marresi: " + user);



                Console.WriteLine("Mesazhi: " + Encoding.UTF8.GetString(Desdekriptim(decryptedRSA, bytes1, dekodimiDes)));
                if (opa)
                {
                    byte[] dataToverify = Convert.FromBase64String(words[5]);
                    var    Bytes12      = Convert.FromBase64String(words[4]);
                    string perdoruesi   = Encoding.UTF8.GetString(Bytes12);
                    Console.WriteLine("Derguesi" + perdoruesi);
                    if (Sign.VerifySignedHash(dataToverify, Desdekriptim(decryptedRSA, bytes1, dekodimiDes), perdoruesi))
                    {
                        Console.WriteLine("Nenshkrami eshte valid");
                    }
                }
            }
        }