예제 #1
0
        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");
        }
예제 #2
0
        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");
        }