private void Button_Decrypt_Click(object sender, RoutedEventArgs e)
        {
            var rsa = new RSAWithXMLKey();

            // Converter hex string til byte array, decrypter og udskriv det decrypterede tekst
            byte[] texttodecrypt = Textbox_Cipherbytes.Text.Split('-').Select(item => Convert.ToByte(item, 16)).ToArray();
            Textbox_Decryptedtext.Text = rsa.DecryptfromXml(texttodecrypt);
        }
        private void Button_Generate_Keys_Click(object sender, RoutedEventArgs e)
        {
            var rsa = new RSAWithXMLKey();

            // updater modulus/exponent og udskriv dem som en hexidecimal teksttreng
            rsa.UpdateRsaKeys();

            Textbox_Modulus.Text  = BitConverter.ToString(rsa.GetModulus());
            Textbox_Exponent.Text = BitConverter.ToString(rsa.GetExponent());
        }
Exemplo n.º 3
0
        public void UpdateRsaKeys()
        {
            var rsa = new RSAWithXMLKey();

            const string publicKeyPath  = "c:\\temp\\publickey.xml";
            const string privateKeyPath = "c:\\temp\\privatekey.xml";

            // updater modulus/exponent
            rsa.AssignNewKey(publicKeyPath, privateKeyPath);
        }
Exemplo n.º 4
0
        public string DecryptfromXml(byte[] texttodecrypt)
        {
            var rsa = new RSAWithXMLKey();

            const string privateKeyPath = "c:\\temp\\privatekey.xml";

            // dekrypter hex-streng
            var decrypted = rsa.DecryptData(privateKeyPath, texttodecrypt);

            return(Encoding.Default.GetString(decrypted));
        }
        private void SetPrivateData()
        {
            var rsa = new RSAWithXMLKey();

            // hent alt private data og udskriv dem som hexidecimale tekststrenge
            D.Text        = BitConverter.ToString(rsa.GetPrivateData_D());
            DP.Text       = BitConverter.ToString(rsa.GetPrivateData_Dp());
            DQ.Text       = BitConverter.ToString(rsa.GetPrivateData_Dq());
            InverseQ.Text = BitConverter.ToString(rsa.GetPrivateData_InverseQ());
            P.Text        = BitConverter.ToString(rsa.GetPrivateData_P());
            Q.Text        = BitConverter.ToString(rsa.GetPrivateData_Q());
        }
        public MainWindow()
        {
            InitializeComponent();

            //opret og indsæt public/private key (public key indsættes)
            var rsa = new RSAWithXMLKey();

            rsa.UpdateRsaKeys();

            Textbox_Exponent.Text = BitConverter.ToString(rsa.GetExponent());
            Textbox_Modulus.Text  = BitConverter.ToString(rsa.GetModulus());

            //indsæt private rsaParametre i tekstbokse
            SetPrivateData();
        }
Exemplo n.º 7
0
        public byte[] GetPrivateData_InverseQ()
        {
            var          rsa            = new RSAWithXMLKey();
            const string privateKeyPath = "c:\\temp\\privatekey.xml";

            using (var Rsa = new RSACryptoServiceProvider(2048))
            {
                Rsa.PersistKeyInCsp = false;
                Rsa.FromXmlString(File.ReadAllText(privateKeyPath));

                var parameters = Rsa.ExportParameters(true);
                var InverseQ   = parameters.InverseQ;

                return(InverseQ);
            }
        }
Exemplo n.º 8
0
        public byte[] GetExponent()
        {
            var          rsa           = new RSAWithXMLKey();
            const string publicKeyPath = "c:\\temp\\publickey.xml";

            using (var Rsa = new RSACryptoServiceProvider(2048))
            {
                Rsa.PersistKeyInCsp = false;
                // læs data fra c:\\temp\\publickey.xml
                Rsa.FromXmlString(File.ReadAllText(publicKeyPath));

                // expoter exponent fra provider og retuner den
                var parameters = Rsa.ExportParameters(false);
                var exponent   = parameters.Exponent;

                return(exponent);
            }
        }