Org.BouncyCastle.Math.EC.F2mCurve.IsTrinomial C# (CSharp) Method

IsTrinomial() public method

public IsTrinomial ( ) : bool
return bool
        public bool IsTrinomial()
        {
            return k2 == 0 && k3 == 0;
        }

Usage Example

Example #1
0
            public virtual ECPoint Lookup(int index)
            {
                int m = m_outer.m;

                int[] ks = m_outer.IsTrinomial() ? new int[] { m_outer.k1 } : new int[] { m_outer.k1, m_outer.k2, m_outer.k3 };

                int FE_LONGS = (m_outer.m + 63) / 64;

                long[] x   = new long[FE_LONGS], y = new long[FE_LONGS];
                int    pos = 0;

                for (int i = 0; i < m_size; ++i)
                {
                    long MASK = ((i ^ index) - 1) >> 31;

                    for (int j = 0; j < FE_LONGS; ++j)
                    {
                        x[j] ^= m_table[pos + j] & MASK;
                        y[j] ^= m_table[pos + FE_LONGS + j] & MASK;
                    }

                    pos += (FE_LONGS * 2);
                }

                ECFieldElement X = new F2mFieldElement(m, ks, new LongArray(x));
                ECFieldElement Y = new F2mFieldElement(m, ks, new LongArray(y));

                return(m_outer.CreateRawPoint(X, Y, false));
            }
All Usage Examples Of Org.BouncyCastle.Math.EC.F2mCurve::IsTrinomial