diff options
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs | 43 | ||||
-rw-r--r-- | crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs | 6 |
2 files changed, 16 insertions, 33 deletions
diff --git a/crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs b/crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs index cb702794c..92e7ec908 100644 --- a/crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs +++ b/crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs @@ -127,38 +127,6 @@ namespace Org.BouncyCastle.Asn1.CryptoPro } }; - internal class Holder_gostR3410_2001_CryptoPro_XchB - : X9ECParametersHolder - { - private Holder_gostR3410_2001_CryptoPro_XchB() {} - - internal static readonly X9ECParametersHolder Instance = new Holder_gostR3410_2001_CryptoPro_XchB(); - - protected override ECCurve CreateCurve() - { - BigInteger mod_p = FromHex("9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B"); - BigInteger mod_q = FromHex("9B9F605F5A858107AB1EC85E6B41C8AA582CA3511EDDFB74F02F3A6598980BB9"); - - return ConfigureCurve(new FpCurve( - mod_p, - FromHex("9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D7598"), - FromHex("805A"), - mod_q, BigInteger.One, isInternal: true)); - } - - protected override X9ECParameters CreateParameters() - { - byte[] S = null; - ECCurve curve = Curve; - - X9ECPoint G = ConfigureBasepoint(curve, - BigInteger.Zero, - FromHex("41ECE55743711A8C3CBF3783CD08C0EE4D4DC440D4641A8F366E550DFDB3BB67")); - - return new X9ECParameters(curve, G, curve.Order, curve.Cofactor, S); - } - }; - internal class Holder_id_tc26_gost_3410_12_256_paramSetA : X9ECParametersHolder { @@ -317,10 +285,19 @@ namespace Org.BouncyCastle.Asn1.CryptoPro Holder_gostR3410_2001_CryptoPro_A.Instance); DefineCurve("GostR3410-2001-CryptoPro-XchB", CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB, - Holder_gostR3410_2001_CryptoPro_XchB.Instance); + Holder_gostR3410_2001_CryptoPro_C.Instance); DefineCurve("Tc26-Gost-3410-12-256-paramSetA", RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetA, Holder_id_tc26_gost_3410_12_256_paramSetA.Instance); + DefineCurve("Tc26-Gost-3410-12-256-paramSetB", + RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetB, + Holder_gostR3410_2001_CryptoPro_A.Instance); + DefineCurve("Tc26-Gost-3410-12-256-paramSetC", + RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetC, + Holder_gostR3410_2001_CryptoPro_B.Instance); + DefineCurve("Tc26-Gost-3410-12-256-paramSetD", + RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetD, + Holder_gostR3410_2001_CryptoPro_C.Instance); DefineCurve("Tc26-Gost-3410-12-512-paramSetA", RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512_paramSetA, Holder_id_tc26_gost_3410_12_512_paramSetA.Instance); diff --git a/crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs b/crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs index 45eaaa6e3..865e82883 100644 --- a/crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs +++ b/crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs @@ -35,6 +35,12 @@ namespace Org.BouncyCastle.Asn1.Rosstandart public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetA = id_tc26_gost_3410_12_256_paramSet.Branch("1"); + public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetB = id_tc26_gost_3410_12_256_paramSet.Branch("2"); + + public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetC = id_tc26_gost_3410_12_256_paramSet.Branch("3"); + + public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetD = id_tc26_gost_3410_12_256_paramSet.Branch("4"); + public static readonly DerObjectIdentifier id_tc26_gost_3410_12_512_paramSet = id_tc26.Branch("2.1.2"); public static readonly DerObjectIdentifier id_tc26_gost_3410_12_512_paramSetA = id_tc26_gost_3410_12_512_paramSet.Branch("1"); |