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

📄 secnamedcurves.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect233r1     */    static X9ECParametersHolder sect233r1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 233;            int k = 74;            BigInteger a = BigInteger.valueOf(1);            BigInteger b = fromHex("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD");            byte[] S = Hex.decode("74D59FF07F6B413D0EA14B344B20A2DB049B50C3");            BigInteger n = fromHex("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7");            BigInteger h = BigInteger.valueOf(2);            ECCurve curve = new ECCurve.F2m(m, k, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B"                + "01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect239k1     */    static X9ECParametersHolder sect239k1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 239;            int k = 158;            BigInteger a = ECConstants.ZERO;            BigInteger b = BigInteger.valueOf(1);            byte[] S = null;            BigInteger n = fromHex("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5");            BigInteger h = BigInteger.valueOf(4);            ECCurve curve = new ECCurve.F2m(m, k, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC"                + "76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect283k1     */    static X9ECParametersHolder sect283k1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 283;            int k1 = 5;            int k2 = 7;            int k3 = 12;            BigInteger a = ECConstants.ZERO;            BigInteger b = BigInteger.valueOf(1);            byte[] S = null;            BigInteger n = fromHex("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61");            BigInteger h = BigInteger.valueOf(4);            ECCurve curve = new ECCurve.F2m(m, k1, k2, k3, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("02"            //+ "0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836"                + "01CCDA380F1C9E318D90F95D07E5426FE87E45C0E8184698E45962364E34116177DD2259"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect283r1     */    static X9ECParametersHolder sect283r1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 283;            int k1 = 5;            int k2 = 7;            int k3 = 12;            BigInteger a = BigInteger.valueOf(1);            BigInteger b = fromHex("027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5");            byte[] S = Hex.decode("77E2B07370EB0F832A6DD5B62DFC88CD06BB84BE");            BigInteger n = fromHex("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307");            BigInteger h = BigInteger.valueOf(2);            ECCurve curve = new ECCurve.F2m(m, k1, k2, k3, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053"                + "03676854FE24141CB98FE6D4B20D02B4516FF702350EDDB0826779C813F0DF45BE8112F4"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect409k1     */    static X9ECParametersHolder sect409k1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 409;            int k = 87;            BigInteger a = ECConstants.ZERO;            BigInteger b = BigInteger.valueOf(1);            byte[] S = null;            BigInteger n = fromHex("7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF");            BigInteger h = BigInteger.valueOf(4);            ECCurve curve = new ECCurve.F2m(m, k, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746"                + "01E369050B7C4E42ACBA1DACBF04299C3460782F918EA427E6325165E9EA10E3DA5F6C42E9C55215AA9CA27A5863EC48D8E0286B"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect409r1     */    static X9ECParametersHolder sect409r1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 409;            int k = 87;            BigInteger a = BigInteger.valueOf(1);            BigInteger b = fromHex("0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F");            byte[] S = Hex.decode("4099B5A457F9D69F79213D094C4BCD4D4262210B");            BigInteger n = fromHex("010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173");            BigInteger h = BigInteger.valueOf(2);            ECCurve curve = new ECCurve.F2m(m, k, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7"                + "0061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect571k1     */    static X9ECParametersHolder sect571k1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 571;            int k1 = 2;            int k2 = 5;            int k3 = 10;            BigInteger a = ECConstants.ZERO;            BigInteger b = BigInteger.valueOf(1);            byte[] S = null;            BigInteger n = fromHex("020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001");            BigInteger h = BigInteger.valueOf(4);            ECCurve curve = new ECCurve.F2m(m, k1, k2, k3, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("02"            //+ "026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972"                + "0349DC807F4FBF374F4AEADE3BCA95314DD58CEC9F307A54FFC61EFC006D8A2C9D4979C0AC44AEA74FBEBBB9F772AEDCB620B01A7BA7AF1B320430C8591984F601CD4C143EF1C7A3"));            return new X9ECParameters(curve, G, n, h, S);        }    };    /*     * sect571r1     */    static X9ECParametersHolder sect571r1 = new X9ECParametersHolder()    {        protected X9ECParameters createParameters()        {            int m = 571;            int k1 = 2;            int k2 = 5;            int k3 = 10;            BigInteger a = BigInteger.valueOf(1);            BigInteger b = fromHex("02F40E7E2221F295DE297117B7F3D62F5C6A97FFCB8CEFF1CD6BA8CE4A9A18AD84FFABBD8EFA59332BE7AD6756A66E294AFD185A78FF12AA520E4DE739BACA0C7FFEFF7F2955727A");            byte[] S = Hex.decode("2AA058F73A0E33AB486B0F610410C53A7F132310");            BigInteger n = fromHex("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47");            BigInteger h = BigInteger.valueOf(2);            ECCurve curve = new ECCurve.F2m(m, k1, k2, k3, a, b, n, h);            //ECPoint G = curve.decodePoint(Hex.decode("03"            //+ "0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19"));            ECPoint G = curve.decodePoint(Hex.decode("04"                + "0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19"                + "037BF27342DA639B6DCCFFFEB73D69D78C6C27A6009CBBCA1980F8533921E8A684423E43BAB08A576291AF8F461BB2A8B3531D2F0485C19B16E2F1516E23DD3C1A4827AF1B8AC15B"));            return new X9ECParameters(curve, G, n, h, S);        }    };    static final Hashtable objIds = new Hashtable();    static final Hashtable curves = new Hashtable();    static final Hashtable names = new Hashtable();    static void defineCurve(String name, DERObjectIdentifier oid, X9ECParametersHolder holder)    {        objIds.put(name, oid);        names.put(oid, name);        curves.put(oid, holder);    }    static    {        defineCurve("secp112r1", SECObjectIdentifiers.secp112r1, secp112r1);        defineCurve("secp112r2", SECObjectIdentifiers.secp112r2, secp112r2);        defineCurve("secp128r1", SECObjectIdentifiers.secp128r1, secp128r1);        defineCurve("secp128r2", SECObjectIdentifiers.secp128r2, secp128r2);        defineCurve("secp160k1", SECObjectIdentifiers.secp160k1, secp160k1);        defineCurve("secp160r1", SECObjectIdentifiers.secp160r1, secp160r1);        defineCurve("secp160r2", SECObjectIdentifiers.secp160r2, secp160r2);        defineCurve("secp192k1", SECObjectIdentifiers.secp192k1, secp192k1);        defineCurve("secp192r1", SECObjectIdentifiers.secp192r1, secp192r1);        defineCurve("secp224k1", SECObjectIdentifiers.secp224k1, secp224k1);        defineCurve("secp224r1", SECObjectIdentifiers.secp224r1, secp224r1);         defineCurve("secp256k1", SECObjectIdentifiers.secp256k1, secp256k1);        defineCurve("secp256r1", SECObjectIdentifiers.secp256r1, secp256r1);         defineCurve("secp384r1", SECObjectIdentifiers.secp384r1, secp384r1);         defineCurve("secp521r1", SECObjectIdentifiers.secp521r1, secp521r1);         defineCurve("sect113r1", SECObjectIdentifiers.sect113r1, sect113r1);        defineCurve("sect113r2", SECObjectIdentifiers.sect113r2, sect113r2);        defineCurve("sect131r1", SECObjectIdentifiers.sect131r1, sect131r1);        defineCurve("sect131r2", SECObjectIdentifiers.sect131r2, sect131r2);        defineCurve("sect163k1", SECObjectIdentifiers.sect163k1, sect163k1);        defineCurve("sect163r1", SECObjectIdentifiers.sect163r1, sect163r1);        defineCurve("sect163r2", SECObjectIdentifiers.sect163r2, sect163r2);        defineCurve("sect193r1", SECObjectIdentifiers.sect193r1, sect193r1);        defineCurve("sect193r2", SECObjectIdentifiers.sect193r2, sect193r2);        defineCurve("sect233k1", SECObjectIdentifiers.sect233k1, sect233k1);        defineCurve("sect233r1", SECObjectIdentifiers.sect233r1, sect233r1);        defineCurve("sect239k1", SECObjectIdentifiers.sect239k1, sect239k1);        defineCurve("sect283k1", SECObjectIdentifiers.sect283k1, sect283k1);        defineCurve("sect283r1", SECObjectIdentifiers.sect283r1, sect283r1);        defineCurve("sect409k1", SECObjectIdentifiers.sect409k1, sect409k1);        defineCurve("sect409r1", SECObjectIdentifiers.sect409r1, sect409r1);        defineCurve("sect571k1", SECObjectIdentifiers.sect571k1, sect571k1);        defineCurve("sect571r1", SECObjectIdentifiers.sect571r1, sect571r1);     }    public static X9ECParameters getByName(        String name)    {        DERObjectIdentifier oid = (DERObjectIdentifier)objIds.get(Strings.toLowerCase(name));        if (oid != null)        {            return getByOID(oid);        }        return null;    }    /**     * return the X9ECParameters object for the named curve represented by     * the passed in object identifier. Null if the curve isn't present.     *     * @param oid an object identifier representing a named curve, if present.     */    public static X9ECParameters getByOID(        DERObjectIdentifier oid)    {        X9ECParametersHolder holder = (X9ECParametersHolder)curves.get(oid);        if (holder != null)        {            return holder.getParameters();        }        return null;    }    /**     * return the object identifier signified by the passed in name. Null     * if there is no object identifier associated with name.     *     * @return the object identifier associated with name, if present.     */    public static DERObjectIdentifier getOID(        String name)    {        return (DERObjectIdentifier)objIds.get(Strings.toLowerCase(name));    }    /**     * return the named curve name represented by the given object identifier.     */    public static String getName(        DERObjectIdentifier oid)    {        return (String)names.get(oid);    }    /**     * returns an enumeration containing the name strings for curves     * contained in this structure.     */    public static Enumeration getNames()    {        return objIds.keys();    }}

⌨️ 快捷键说明

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