public static DSTU4145BinaryField getInstance(Object obj) { if (obj instanceof DSTU4145BinaryField) { return (DSTU4145BinaryField)obj; } if (obj != null) { return new DSTU4145BinaryField(ASN1Sequence.getInstance(obj)); } return null; }
private DSTU4145ECBinary(ASN1Sequence seq) { int index = 0; if (seq.getObjectAt(index) instanceof ASN1TaggedObject) { ASN1TaggedObject taggedVersion = (ASN1TaggedObject)seq.getObjectAt(index); if (taggedVersion.isExplicit() && 0 == taggedVersion.getTagNo()) { version = ASN1Integer.getInstance(taggedVersion.getLoadedObject()).getValue(); index++; } else { throw new IllegalArgumentException("object parse error"); } } f = DSTU4145BinaryField.getInstance(seq.getObjectAt(index)); index++; a = ASN1Integer.getInstance(seq.getObjectAt(index)); index++; b = ASN1OctetString.getInstance(seq.getObjectAt(index)); index++; n = ASN1Integer.getInstance(seq.getObjectAt(index)); index++; bp = ASN1OctetString.getInstance(seq.getObjectAt(index)); }
private DSTU4145ECBinary(ASN1Sequence seq) { int index = 0; if (seq.getObjectAt(index) instanceof ASN1TaggedObject) { ASN1TaggedObject taggedVersion = (ASN1TaggedObject)seq.getObjectAt(index); if (taggedVersion.isExplicit() && 0 == taggedVersion.getTagNo()) { version = ASN1Integer.getInstance(taggedVersion.getLoadedObject()).getValue(); index++; } else { throw new IllegalArgumentException("object parse error"); } } f = DSTU4145BinaryField.getInstance(seq.getObjectAt(index)); index++; a = ASN1Integer.getInstance(seq.getObjectAt(index)); index++; b = ASN1OctetString.getInstance(seq.getObjectAt(index)); index++; n = ASN1Integer.getInstance(seq.getObjectAt(index)); index++; bp = ASN1OctetString.getInstance(seq.getObjectAt(index)); }
public static DSTU4145BinaryField getInstance(Object obj) { if (obj instanceof DSTU4145BinaryField) { return (DSTU4145BinaryField)obj; } if (obj != null) { return new DSTU4145BinaryField(ASN1Sequence.getInstance(obj)); } return null; }
public DSTU4145ECBinary(ECDomainParameters params) { ECCurve curve = params.getCurve(); if (!ECAlgorithms.isF2mCurve(curve)) { throw new IllegalArgumentException("only binary domain is possible"); } // We always use big-endian in parameter encoding PolynomialExtensionField field = (PolynomialExtensionField)curve.getField(); int[] exponents = field.getMinimalPolynomial().getExponentsPresent(); if (exponents.length == 3) { f = new DSTU4145BinaryField(exponents[2], exponents[1]); } else if (exponents.length == 5) { f = new DSTU4145BinaryField(exponents[4], exponents[1], exponents[2], exponents[3]); } else { throw new IllegalArgumentException("curve must have a trinomial or pentanomial basis"); } a = new ASN1Integer(curve.getA().toBigInteger()); b = new DEROctetString(curve.getB().getEncoded()); n = new ASN1Integer(params.getN()); bp = new DEROctetString(DSTU4145PointEncoder.encodePoint(params.getG())); }
public DSTU4145ECBinary(ECDomainParameters params) { ECCurve curve = params.getCurve(); if (!ECAlgorithms.isF2mCurve(curve)) { throw new IllegalArgumentException("only binary domain is possible"); } // We always use big-endian in parameter encoding PolynomialExtensionField field = (PolynomialExtensionField)curve.getField(); int[] exponents = field.getMinimalPolynomial().getExponentsPresent(); if (exponents.length == 3) { f = new DSTU4145BinaryField(exponents[2], exponents[1]); } else if (exponents.length == 5) { f = new DSTU4145BinaryField(exponents[4], exponents[1], exponents[2], exponents[3]); } a = new ASN1Integer(curve.getA().toBigInteger()); b = new DEROctetString(curve.getB().getEncoded()); n = new ASN1Integer(params.getN()); bp = new DEROctetString(DSTU4145PointEncoder.encodePoint(params.getG())); }