コード例 #1
0
        private static X9ECParameters GenerateEllipticCurve(ECGOST3410EllipticCurve ellipticCurve)
        {
            switch (ellipticCurve)
            {
            case ECGOST3410EllipticCurve.GostR3410x2001CryptoProA: return(ECGost3410NamedCurves.GetByOidX9(CryptoProObjectIdentifiers.GostR3410x2001CryptoProA));

            case ECGOST3410EllipticCurve.GostR3410x2001CryptoProB: return(ECGost3410NamedCurves.GetByOidX9(CryptoProObjectIdentifiers.GostR3410x2001CryptoProB));

            case ECGOST3410EllipticCurve.GostR3410x2001CryptoProC: return(ECGost3410NamedCurves.GetByOidX9(CryptoProObjectIdentifiers.GostR3410x2001CryptoProC));

            case ECGOST3410EllipticCurve.GostR3410x2001CryptoProXchA: return(ECGost3410NamedCurves.GetByOidX9(CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchA));

            case ECGOST3410EllipticCurve.GostR3410x2001CryptoProXchB: return(ECGost3410NamedCurves.GetByOidX9(CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB));

            default: throw new System.Security.Cryptography.CryptographicException("Unsupported elliptic curve.");
            }
        }
コード例 #2
0
 /// <summary>
 /// ECGOST3410.
 /// <para/>Uses EllipticCurve.GostR3410x2001CryptoProA by default.
 /// </summary>
 /// <param name="ellipticCurve">Elliptic curve.</param>
 public ECGOST3410(ECGOST3410EllipticCurve ellipticCurve) : base("ECGOST3410")
 {
     _ellipticCurve = ellipticCurve;
 }