public void FuncNoParallel()
 {
     for (int i = 0; i < lengthmess; i++)
     {
         int                correct   = 0;
         BigInteger         bigtext   = new BigInteger(Message[i]);
         EllipticCurvePoint pointtext = PointG.SearchPoint(bigtext, out correct);
         EllipticCurvePoint point2    = EllipticCurvePoint.AffineCoords(EllipticCurvePoint.AddPoint(pointtext, kPublicB));
         Shifr[i] = new Shifr(kP, point2, correct);
     }
 }
        public void Func3()
        {
            for (int i = 3; i < lengtshifr; i += 4)
            {
                Shifr _sh = Sh[i];
                EllipticCurvePoint para2 = _sh.PointB;
                EllipticCurvePoint t     = EllipticCurvePoint.AddPoint(para2, KeyPara1);
                BigInteger         q     = t.X * Additional.Inverse(t.Z, t.P);
                q = BigInteger.Remainder(q, t.P);
                if (_sh.Correct != 0)
                {
                    q += _sh.Correct;
                }

                Message[i] = q.ToByteArray();
            }
        }