Example #1
0
 static void Main()
 {
     Languege.Libra("ru");
     #region
     FileStream   fs       = new FileStream("hillNewUpdateDatabase.txt", FileMode.OpenOrCreate);
     StreamWriter hillBase = new StreamWriter(fs, Encoding.Default);
     //Random rnd = new Random();
     #endregion
     #region
     var    lcm3  = new TheLinearCongruentialMethod();
     var    lcm11 = new TheLinearCongruentialMethod();
     var    china = new ChineseRemainderTheorem();
     Random rnd   = new Random();
     while (true)
     {
         var text = Console.ReadLine();
         if (text == "end")
         {
             break;
         }
         var staticKey = Generate.CreateKeysMatrix(text.Length);
         var libra     = new WordAndKey <List <Matrix <double> > >(text, staticKey);
         var tr        = new Hill();
         lcm11.CreatePeriod(11, rnd.Next(0, 11));
         lcm3.CreatePeriod(3, rnd.Next(0, 3));
         china.CreatePeriod(lcm3.Period, lcm11.Period);
         tr.Code(libra, china.Period);
         hillBase.WriteLine(string.Join(" ", lcm3.Period));
         hillBase.WriteLine(string.Join(" ", lcm11.Period));
         hillBase.WriteLine(libra.Word);
         hillBase.WriteLine(libra.Encoded);
         foreach (var l in libra.Key)
         {
             hillBase.WriteLine(l.ToMatrixString());
         }
     }
     hillBase.Close();
     #endregion //
     #region
     //key.Add(Matrix<double>.Build.DenseOfArray(new double[,] { { 7, 2 }, { 29, 29 } }));
     //key.Add(Matrix<double>.Build.DenseOfArray(new double[,] { { 15 }, { 6 } }));
     //var libra = new WordAndKey<List<Matrix<double>>>("БУБЛИКИ", key);
     //var tr = new Hill();
     //tr.Code(libra);
     //Console.WriteLine(libra.Encoded);
     #endregion
 }