private void EjecutaReceptor() { write("Soy el receptor"); var asim = new CAsimetrica(); var miClave = asim.DameCPrivada("Receptor"); var suClavePublica = asim.DameCPublica("Emisor"); write("Recupero la clave simetrica encriptada"); var encClaveSimetrica = msgClave; write("Desencripto la clave simetrica con mi C.Privada"); var newClaveSimetrica = asim.Desencipta(miClave, encClaveSimetrica); write(newClaveSimetrica); var sim = new CSimetrica(); sim.decodeResume(newClaveSimetrica); write(sim.Key); write(sim.IV); write("Recupero el fichero"); write("Desencripto el fichero"); sim.DesEncripta(@"..\..\Fichero.bin", @"..\..\Fichero.bin.txt"); write("Recupero la firma"); var firma = msgFirma; write("Valido la firma con la C.Publica del emisor"); var val = asim.Verifica(suClavePublica, File.OpenRead(@"..\..\Fichero.bin.txt"), firma); write("Es " + (val ? "Valido" : "Incorrecto")); write("Termine"); }
private void EjecutaEmisor() { write("Soy el emisor"); var asim = new CAsimetrica(); var miClave = asim.DameCPrivada("Emisor"); var suClavePublica = asim.DameCPublica("Receptor"); write("Creo la clave simetrica"); var sim = new CSimetrica(); write(sim.Key); write(sim.IV); var newClaveSimetrica = sim.dameResume(); write(newClaveSimetrica); write("Encripto la clave simetrica con la C.Publica del receptor"); var encClaveSimetrica = asim.Encipta(suClavePublica, newClaveSimetrica); write("Envio la clave simetrica encriptada"); msgClave = encClaveSimetrica; write(encClaveSimetrica); write("Encripto el fichero"); sim.Encripta(@"..\..\Fichero.txt", @"..\..\Fichero.bin"); write("Envio el fichero"); write("Firmo el fichero con mi clave privada"); var firma = asim.Firma(miClave, File.OpenRead(@"..\..\Fichero.txt")); write("Envio la firma"); msgFirma = firma; write("Termine"); }
private void BtnCrear_Click(object sender, RoutedEventArgs e) { var algo = (cbAlgoritmos.SelectedValue as ComboBoxItem).Content.ToString(); srv = new CSimetrica(SymmetricAlgorithm.Create(algo)); if (string.IsNullOrWhiteSpace(txtClave.Text)) { txtClave.Text = Convert.ToBase64String(srv.Key); } else { srv.Key = Convert.FromBase64String(txtClave.Text); } if (string.IsNullOrWhiteSpace(txtVector.Text)) { txtVector.Text = Convert.ToBase64String(srv.IV); } else { srv.IV = Convert.FromBase64String(txtVector.Text); } }