⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecnamedcurvespec.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.jce.spec;import java.math.BigInteger;import java.security.spec.ECFieldF2m;import java.security.spec.ECFieldFp;import java.security.spec.ECPoint;import java.security.spec.EllipticCurve;import org.bouncycastle.math.ec.ECCurve;/** * specification signifying that the curve parameters can also be * referred to by name. */public class ECNamedCurveSpec    extends java.security.spec.ECParameterSpec{    private String  name;    private static EllipticCurve convertCurve(        ECCurve  curve,        byte[]   seed)    {        if (curve instanceof ECCurve.Fp)        {            return new EllipticCurve(new ECFieldFp(((ECCurve.Fp)curve).getQ()), curve.getA().toBigInteger(), curve.getB().toBigInteger(), seed);        }        else        {            ECCurve.F2m curveF2m = (ECCurve.F2m)curve;            int ks[];                        if (curveF2m.isTrinomial())            {                ks = new int[] { curveF2m.getK1() };                                return new EllipticCurve(new ECFieldF2m(curveF2m.getM(), ks), curve.getA().toBigInteger(), curve.getB().toBigInteger(), seed);            }            else            {                ks = new int[] { curveF2m.getK3(), curveF2m.getK2(), curveF2m.getK1() };                return new EllipticCurve(new ECFieldF2m(curveF2m.getM(), ks), curve.getA().toBigInteger(), curve.getB().toBigInteger(), seed);            }         }    }        private static ECPoint convertPoint(        org.bouncycastle.math.ec.ECPoint  g)    {        return new ECPoint(g.getX().toBigInteger(), g.getY().toBigInteger());    }        public ECNamedCurveSpec(        String                              name,        ECCurve                             curve,        org.bouncycastle.math.ec.ECPoint    g,        BigInteger                          n)    {        super(convertCurve(curve, null), convertPoint(g), n, 1);        this.name = name;    }    public ECNamedCurveSpec(        String          name,        EllipticCurve   curve,        ECPoint         g,        BigInteger      n)    {        super(curve, g, n, 1);        this.name = name;    }        public ECNamedCurveSpec(        String                              name,        ECCurve                             curve,        org.bouncycastle.math.ec.ECPoint    g,        BigInteger                          n,        BigInteger                          h)    {        super(convertCurve(curve, null), convertPoint(g), n, h.intValue());        this.name = name;    }    public ECNamedCurveSpec(        String          name,        EllipticCurve   curve,        ECPoint         g,        BigInteger      n,        BigInteger      h)    {        super(curve, g, n, h.intValue());        this.name = name;    }        public ECNamedCurveSpec(        String                              name,        ECCurve                             curve,        org.bouncycastle.math.ec.ECPoint    g,        BigInteger                          n,        BigInteger                          h,        byte[]                              seed)    {        super(convertCurve(curve, seed), convertPoint(g), n, h.intValue());                this.name = name;    }    /**     * return the name of the curve the EC domain parameters belong to.     */    public String getName()    {        return name;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -