Inheritance: AbstractFpCurve
Exemplo n.º 1
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("fffffffffffffffffffffffe5fb1a724dc80418648d8dd31", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp192v2 = new FpCurve(
                    new BigInteger("6277101735386680763835789423207666416083908700390324961279"),
                    new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16),
                    new BigInteger("cc22d6dfb95c6b25e49c0d6364a4e5980c393aa21668d953", 16),
                    n, h);

                return new X9ECParameters(
                    cFp192v2,
                    cFp192v2.DecodePoint(
                        Hex.Decode("03eea2bae7e1497842f2de7769cfe9c989c072ad696f48034a")),
                    n, h,
                    Hex.Decode("31a92ee2029fd10d901b113e990710f0d21ac6b6"));
            }
Exemplo n.º 2
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("ffffffffffffffffffffffff99def836146bc9b1b4d22831", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp192v1 = new FpCurve(
                    new BigInteger("6277101735386680763835789423207666416083908700390324961279"),
                    new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16),
                    new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16),
                    n, h);

                return new X9ECParameters(
                    cFp192v1,
                    cFp192v1.DecodePoint(
                        Hex.Decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")),
                    n, h,
                    Hex.Decode("3045AE6FC8422f64ED579528D38120EAE12196D5"));
            }
Exemplo n.º 3
0
        static ECGost3410NamedCurves()
        {
            BigInteger mod_p = new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639319");
            BigInteger mod_q = new BigInteger("115792089237316195423570985008687907853073762908499243225378155805079068850323");

            FpCurve curve = new FpCurve(
                mod_p, // p
                new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639316"), // a
                new BigInteger("166"), // b
                mod_q,
                BigInteger.One);

            ECDomainParameters ecParams = new ECDomainParameters(
                curve,
                curve.CreatePoint(
                    new BigInteger("1"), // x
                    new BigInteger("64033881142927202683649881450433473985931760268884941288852745803908878638612")), // y
                mod_q);

            parameters[CryptoProObjectIdentifiers.GostR3410x2001CryptoProA] = ecParams;

            mod_p = new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639319");
            mod_q = new BigInteger("115792089237316195423570985008687907853073762908499243225378155805079068850323");

            curve = new FpCurve(
                mod_p, // p
                new BigInteger("115792089237316195423570985008687907853269984665640564039457584007913129639316"),
                new BigInteger("166"),
                mod_q,
                BigInteger.One);

            ecParams = new ECDomainParameters(
                curve,
                curve.CreatePoint(
                    new BigInteger("1"), // x
                    new BigInteger("64033881142927202683649881450433473985931760268884941288852745803908878638612")), // y
                mod_q);

            parameters[CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchA] = ecParams;

            mod_p = new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823193"); //p
            mod_q = new BigInteger("57896044618658097711785492504343953927102133160255826820068844496087732066703"); //q

            curve = new FpCurve(
                mod_p, // p
                new BigInteger("57896044618658097711785492504343953926634992332820282019728792003956564823190"), // a
                new BigInteger("28091019353058090096996979000309560759124368558014865957655842872397301267595"), // b
                mod_q,
                BigInteger.One);

            ecParams = new ECDomainParameters(
                curve,
                curve.CreatePoint(
                    new BigInteger("1"), // x
                    new BigInteger("28792665814854611296992347458380284135028636778229113005756334730996303888124")), // y
                mod_q); // q

            parameters[CryptoProObjectIdentifiers.GostR3410x2001CryptoProB] = ecParams;

            mod_p = new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502619");
            mod_q = new BigInteger("70390085352083305199547718019018437840920882647164081035322601458352298396601");

            curve = new FpCurve(
                mod_p, // p
                new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502616"),
                new BigInteger("32858"),
                mod_q,
                BigInteger.One);

            ecParams = new ECDomainParameters(
                curve,
                curve.CreatePoint(
                    new BigInteger("0"),
                    new BigInteger("29818893917731240733471273240314769927240550812383695689146495261604565990247")),
                mod_q);

            parameters[CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB] = ecParams;

            mod_p = new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502619"); //p
            mod_q = new BigInteger("70390085352083305199547718019018437840920882647164081035322601458352298396601"); //q
            curve = new FpCurve(
                mod_p, // p
                new BigInteger("70390085352083305199547718019018437841079516630045180471284346843705633502616"), // a
                new BigInteger("32858"), // b
                mod_q,
                BigInteger.One);

            ecParams = new ECDomainParameters(
                curve,
                curve.CreatePoint(
                    new BigInteger("0"), // x
                    new BigInteger("29818893917731240733471273240314769927240550812383695689146495261604565990247")), // y
                mod_q); // q

            parameters[CryptoProObjectIdentifiers.GostR3410x2001CryptoProC] = ecParams;

            objIds["GostR3410-2001-CryptoPro-A"] = CryptoProObjectIdentifiers.GostR3410x2001CryptoProA;
            objIds["GostR3410-2001-CryptoPro-B"] = CryptoProObjectIdentifiers.GostR3410x2001CryptoProB;
            objIds["GostR3410-2001-CryptoPro-C"] = CryptoProObjectIdentifiers.GostR3410x2001CryptoProC;
            objIds["GostR3410-2001-CryptoPro-XchA"] = CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchA;
            objIds["GostR3410-2001-CryptoPro-XchB"] = CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB;

            names[CryptoProObjectIdentifiers.GostR3410x2001CryptoProA] = "GostR3410-2001-CryptoPro-A";
            names[CryptoProObjectIdentifiers.GostR3410x2001CryptoProB] = "GostR3410-2001-CryptoPro-B";
            names[CryptoProObjectIdentifiers.GostR3410x2001CryptoProC] = "GostR3410-2001-CryptoPro-C";
            names[CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchA] = "GostR3410-2001-CryptoPro-XchA";
            names[CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB] = "GostR3410-2001-CryptoPro-XchB";
        }
Exemplo n.º 4
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("ffffffffffffffffffffffff7a62d031c83f4294f640ec13", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp192v3 = new FpCurve(
                    new BigInteger("6277101735386680763835789423207666416083908700390324961279"),
                    new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16),
                    new BigInteger("22123dc2395a05caa7423daeccc94760a7d462256bd56916", 16),
                    n, h);

                return new X9ECParameters(
                    cFp192v3,
                    cFp192v3.DecodePoint(
                        Hex.Decode("027d29778100c65a1da1783716588dce2b8b4aee8e228f1896")),
                    n, h,
                    Hex.Decode("c469684435deb378c4b65ca9591e2a5763059a2e"));
            }
Exemplo n.º 5
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp256v1 = new FpCurve(
                    new BigInteger("115792089210356248762697446949407573530086143415290314195533631308867097853951"),
                    new BigInteger("ffffffff00000001000000000000000000000000fffffffffffffffffffffffc", 16),
                    new BigInteger("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16),
                    n, h);

                return new X9ECParameters(
                    cFp256v1,
                    cFp256v1.DecodePoint(
                        Hex.Decode("036b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296")),
                    n, h,
                    Hex.Decode("c49d360886e704936a6678e1139d26b7819f7e90"));
            }
Exemplo n.º 6
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp239v3 = new FpCurve(
                    new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"),
                    new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16),
                    new BigInteger("255705fa2a306654b1f4cb03d6a750a30c250102d4988717d9ba15ab6d3e", 16),
                    n, h);

                return new X9ECParameters(
                    cFp239v3,
                    cFp239v3.DecodePoint(
                        Hex.Decode("036768ae8e18bb92cfcf005c949aa2c6d94853d0e660bbf854b1c9505fe95a")),
                    n, h,
                    Hex.Decode("7d7374168ffe3471b60a857686a19475d3bfa2ff"));
            }
Exemplo n.º 7
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp239v2 = new FpCurve(
                    new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"),
                    new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16),
                    new BigInteger("617fab6832576cbbfed50d99f0249c3fee58b94ba0038c7ae84c8c832f2c", 16),
                    n, h);

                return new X9ECParameters(
                    cFp239v2,
                    cFp239v2.DecodePoint(
                        Hex.Decode("0238af09d98727705120c921bb5e9e26296a3cdcf2f35757a0eafd87b830e7")),
                    n, h,
                    Hex.Decode("e8b4011604095303ca3b8099982be09fcb9ae616"));
            }
Exemplo n.º 8
0
            protected override X9ECParameters CreateParameters()
            {
                BigInteger n = new BigInteger("7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b", 16);
                BigInteger h = BigInteger.One;

                ECCurve cFp239v1 = new FpCurve(
                    new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"),
                    new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16),
                    new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16),
                    n, h);

                return new X9ECParameters(
                    cFp239v1,
                    cFp239v1.DecodePoint(
                        Hex.Decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")),
                    n, h,
                    Hex.Decode("e43bb460f0b80cc0c0b075798e948060f8321b7d"));
            }