MegaApi.Rsa.bexpmod C# (CSharp) Method

bexpmod() public static method

public static bexpmod ( uint g, uint e, uint m ) : uint[]
g uint
e uint
m uint
return uint[]
        public static uint[] bexpmod(uint[] g, uint[] e, uint[] m)
        {
            uint[] a = g.ToArray();
            int l = e.Length - 1;
            int n = nbits(e[l]) - 2;

            for (; l >= 0; l--)
            {
                for (; n >= 0; n -= 1)
                {
                    a = bmod(bsqr(a), m);
                    if ((e[l] & (1 << n)) != 0) a = bmod(bmul(a, g), m);
                }
                n = bs - 1;
            }
            return a;
        }