Пример #1
0
        public static CurvePoint SimpleGenerator()
        {
            var curve = EllypticCurve.CreateWeierstrass(0, 7, new BigInteger(199));
            var g     = new Point(
                new BigInteger(2),
                new BigInteger(24));

            return(new CurvePoint(curve, g));
        }
Пример #2
0
        public static CurvePoint BitCoinGenerator()
        {
            var curve = EllypticCurve.CreateWeierstrass(0, 7, Configurations.MathConfiguration.GenerateSECP256K1());

            var g = new Point(
                BigInteger.Parse("55066263022277343669578718895168534326250603453777594175500187360389116729240"),
                BigInteger.Parse("32670510020758816978083085130507043184471273380659243275938904335757337482424"));

            return(new CurvePoint(curve, g,
                                  BigIntegerExtensions.FromBigEndianHexString("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141")));
        }
Пример #3
0
        public static CurvePoint NIST121P192Generator()
        {
            var curve = EllypticCurve.CreateWeierstrass(
                new BigInteger(-3),
                BigIntegerExtensions.FromBigEndianHexString("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1"),
                BigInteger.Parse("6277101735386680763835789423207666416083908700390324961279"));

            var g = new Point(
                BigIntegerExtensions.FromBigEndianHexString("188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012"),
                BigIntegerExtensions.FromBigEndianHexString("07192b95ffc8da78631011ed6b24cdd573f977a11e794811"));

            return(new CurvePoint(curve, g,
                                  BigInteger.Parse("6277101735386680763835789423176059013767194773182842284081")));
        }