Exemple #1
0
            public diffie(int Alpha, int P, int Xa, int Xb)
            {
                alpha = Alpha;
                p     = P;
                X     = new int [2];
                Y     = new int [2];
                K     = new int [2];
                X[0]  = Xa;
                X[1]  = Xb;


                mi_exp = new exponente(alpha, X[0], p);
                Y[0]   = mi_exp.get_x();
                Console.WriteLine("Ya = " + Y[0]);


                mi_exp = new exponente(alpha, X[1], p);
                Y[1]   = mi_exp.get_x();
                Console.WriteLine("Yb = " + Y[1]);

                mi_exp = new exponente(Y[1], X[0], p);
                K[0]   = mi_exp.get_x();
                Console.WriteLine("Ka = " + K[0]);

                mi_exp = new exponente(Y[0], X[1], p);
                K[1]   = mi_exp.get_x();
                Console.WriteLine("Kb = " + K[1]);
            }
Exemple #2
0
            public diffie(int Alpha, int P, int usuarios)
            {
                alpha = Alpha;
                p     = P;
                X     = new int [usuarios];
                Y     = new int [usuarios];
                K     = new int [usuarios];
                K2    = new int [usuarios];

                for (int i = 0; i < usuarios; i++)
                {
                    Console.WriteLine("Introduzca el valor del usuario: " + i);
                    X[i] = Convert.ToInt32(Console.ReadLine());
                }

                Console.Clear();
                Console.WriteLine("Primo: " + p);
                Console.WriteLine("Alpha: " + alpha);
                Console.WriteLine("\n-----------------------------------------");
                for (int i = 0; i < usuarios; i++)
                {
                    Console.WriteLine("X" + i + " = " + X[i]);
                }

                Console.WriteLine("-----------------------------------------");
                for (int i = 0; i < usuarios; i++)
                {
                    mi_exp = new exponente(alpha, X[i], p);
                    Y[i]   = mi_exp.get_x();
                    Console.WriteLine("Y" + i + " = " + Y[i]);
                }
                Console.WriteLine("-----------------------------------------");
                for (int i = 0; i < usuarios; i++)
                {
                    mi_exp = new exponente(Y[((usuarios + i) + 1) % usuarios], X[i], p);
                    K[i]   = mi_exp.get_x();
                    mi_exp = new exponente(Y[((usuarios + i) - 1) % usuarios], X[i], p);
                    K2[i]  = mi_exp.get_x();
                    Console.WriteLine("K" + i + " = " + K[i] + " | K2" + i + " = " + K2[i]);
                }
            }