Ejemplo n.º 1
0
        private static void Imprime(ContadorCTR CTR)
        {
            Console.Write("    ");
            Buzon contador = new Buzon();

            contador.Reserva(ContadorCTR.BytesContador);
            CTR.AsignaContador(contador);
            for (int i = 0; i < ContadorCTR.BytesContador; ++i)
            {
                Console.Write("{0:X2}", contador [i]);
            }
            Console.WriteLine();
        }
Ejemplo n.º 2
0
        private void Cifra_AES(CifradoAES cifra_AES, ContadorCTR cuenta_CTR)
        {
            int posicion = 0;
            int longitud = buzon_cifrado.Longitud;

            ////
            while (true)
            {
                cuenta_CTR.AsignaContador(buzon_contador);
                cifra_AES.Cifra(buzon_contador);
                //
                int resto;
                if (CifradoAES.BytesBloque <= longitud)
                {
                    resto = CifradoAES.BytesBloque;
                }
                else
                {
                    resto = longitud;
                }
                //
                for (int i = 0; i < resto; ++i)
                {
                    buzon_cifrado [posicion] ^= buzon_contador [i];
                    posicion++;
                    longitud--;
                }
                //
                if (longitud <= 0)
                {
                    return;
                }
                //
                cuenta_CTR.IncrementaBloque();
            }
        }