예제 #1
0
        public static void Main(string[] args)
        {
            // RSA rsa = new RSA();
            // rsa.init(17, 23);
            // String s = "Hellooo world!!!";
            // byte[] input = System.Text.Encoding.ASCII.GetBytes(s);

            // byte[] iv = rsa.GenerateRandomIV();

            // byte[] cript1 = rsa.Crypt1(input);
            // byte[] cript = rsa.CryptBlock(input);

            // rsa.init(17,23);
            // byte[] decrypt1 = rsa.DecryptBlock(cript1);

            // String i1 = System.Text.Encoding.ASCII.GetString(iv);
            // String r1 = System.Text.Encoding.ASCII.GetString(cript);
            // String r2 = System.Text.Encoding.ASCII.GetString(decrypt1);

            // Console.WriteLine("cripr length: "+cript.Count());
            // Console.WriteLine("input length: "+input.Count());
            // Console.WriteLine("r1: "+r1);
            //// Console.WriteLine("r2: "+r2);
            // Console.ReadLine();

            Crypto.A5_2 a5  = new A5_2();
            byte[]      key = a5.GenerateRandomKey();
            byte[]      iv  = a5.GenerateRandomIV();

            a5.SetKey(key);
            a5.SetIV(iv);

            String s = "Hellooo world test !!!";

            byte[] input = System.Text.Encoding.Unicode.GetBytes(s);
            byte[] cript = a5.Crypt(input);

            String cr = System.Text.Encoding.Unicode.GetString(cript);

            byte[] crb = System.Text.Encoding.Unicode.GetBytes(cr);

            // Crypto.A5_2 a52 = new A5_2();
            a5.SetKey(key);
            a5.SetIV(iv);
            byte[] decrypt = a5.Decrypt(crb);
            String res     = System.Text.Encoding.Unicode.GetString(decrypt);

            Console.WriteLine("key: " + res);
            //Console.WriteLine("Length: " + key.Count());
            Console.ReadLine();
        }
예제 #2
0
 public bool A5_2SetIV(byte[] input)
 {
     a5_2.SetIV(input);
     return(true);
 }