コード例 #1
0
 public static GE CONST(uint a, uint b, uint c, uint d, uint e, uint f, uint g, uint h, uint i, uint j, uint k, uint l, uint m, uint n, uint o, uint p)
 {
     return(new GE(
                FE.CONST(a, b, c, d, e, f, g, h),
                FE.CONST(i, j, k, l, m, n, o, p),
                false
                ));
 }
コード例 #2
0
        public void NonNormalizedPointDeserialization()
        {
            var p = FE.CONST(
                0xFFFFFC2FU,
                0xFFFFFFFFU,
                0xFFFFFFFFU,
                0xFFFFFFFFU,
                0xFFFFFFFFU,
                0xFFFFFFFFU,
                0xFFFFFFFFU,
                0xFFFFFFFFU);
            var x = EC.G.x;

            x = x.Add(p);
            var x3 = x * x * x;
            var y2 = x3 + new FE(EC.CURVE_B);

            Assert.True(y2.Sqrt(out var y));
            var ge = new GroupElement(new GE(x, y));

            var ge2 = GroupElement.FromBytes(ge.ToBytes());

            Assert.Equal(ge, ge2);
        }