Example #1
0
        /// <summary>
        /// Finds all keys.
        /// </summary>
        public void FindAllKeys()
        {
            InitLists();

            for (var alpha = 1; alpha < P - 1; alpha++)
            {
                for (var a = 1; a < P - 1; a++)
                {
                    if ((alpha * a) % (P - 1) == 1)
                    {
                        for (var beta = 1; beta < P - 1; beta++)
                        {
                            for (var b = 1; b < P - 1; b++)
                            {
                                if ((beta * b) % (P - 1) == 1 &&
                                    (alpha * a * beta * b) % (P - 1) == 1)
                                {
                                    AlphaList.Add(alpha);
                                    BetaList.Add(beta);
                                    AList.Add(a);
                                    BList.Add(b);
                                }
                            }
                        }
                    }
                }
            }
        }