Пример #1
0
        private void btnSign_Click(object sender, EventArgs e)
        {
            x_plaintextForSignature = Encoding.UTF8.GetBytes(txtSignPlaintext.Text);

            x_alg_signature.KeySize = int.Parse(cboKeySizes.SelectedValue.ToString());

            x_xml_string_signature = x_alg_signature.ToXmlString(true);

            ElGamal x_sign_alg = new ElGamalManaged();

            x_sign_alg.FromXmlString(x_alg_signature.ToXmlString(true));
            x_signature             = x_sign_alg.Sign(x_plaintextForSignature);
            txtSignedPlainText.Text = Convert.ToBase64String(x_signature);
        }
Пример #2
0
        public override byte[] CreateSignature(byte[] p_data)
        {
            if (o_hash_name == null || o_key == null)
            {
                throw new
                      CryptographicException("Qelesi dhe Hash algoritmi duhet te caktohen!");
            }
            else
            {
                HashAlgorithm x_hash_alg = HashAlgorithm.Create(o_hash_name);

                byte[] x_pkcs = ElGamalSignatureFormatHelper.CreateEMSA_PKCS1_v1_5_ENCODE(p_data, x_hash_alg, o_key.KeyStruct.P.bitCount());
                return(o_key.Sign(x_pkcs));
            }
        }
Пример #3
0
        private void btnSign_Click(object sender, EventArgs e)
        {
            x_plaintextForSignature = Encoding.UTF8.GetBytes(txtSignPlaintext.Text);
            // Create an instance of the algorithm and generate some keys

            // set the key size - keep is small to speed up the tests
            x_alg_signature.KeySize = int.Parse(cboKeySizes.SelectedValue.ToString());
            // extract and print the xml string (this will cause
            // a new key pair to be generated)
            string x_xml_string = x_alg_signature.ToXmlString(true);

            ElGamal x_sign_alg = new ElGamalManaged();

            // set the keys - note that we export with the
            // private parameters since we are signing data
            x_sign_alg.FromXmlString(x_alg_signature.ToXmlString(true));
            x_signature             = x_sign_alg.Sign(x_plaintextForSignature);
            txtSignedPlainText.Text = Encoding.UTF8.GetString(x_signature);
            // verify the signature
        }