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

📄 secnamedcurves.java

📁 内容:基于jdk1.4的加密算法的具体实现
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.bouncycastle.asn1.sec;import java.math.BigInteger;import java.util.Enumeration;import java.util.Hashtable;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.x9.X9ECParameters;import org.bouncycastle.math.ec.ECConstants;import org.bouncycastle.math.ec.ECCurve;import org.bouncycastle.math.ec.ECFieldElement;import org.bouncycastle.math.ec.ECPoint;public class SECNamedCurves{    /*     * secp224r1 (NIST P-224)     */    // p = 2^224 - 2^96 + 1    static final BigInteger secp224r1P = new BigInteger(            "26959946667150639794667015087019630673557916260026308143510066298881");    // a = -3, b = b4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4    static final ECCurve secp224r1Curve = new ECCurve.Fp(secp224r1P,            new BigInteger("26959946667150639794667015087019630673557916260026308143510066298878"),            new BigInteger("b4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4", 16));    // x = b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21    static final ECFieldElement secp224r1x = new ECFieldElement.Fp(        secp224r1P,        new BigInteger("b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", 16));    // y = bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34    static final ECFieldElement secp224r1y = new ECFieldElement.Fp(        secp224r1P,        new BigInteger("bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", 16));    static final ECPoint secp224r1BasePoint = new ECPoint.Fp(        secp224r1Curve, secp224r1x, secp224r1y, false);    static final BigInteger secp224r1n = new BigInteger("26959946667150639794667015087019625940457807714424391721682722368061");    static final BigInteger secp224r1h = new BigInteger("1");//    static final byte[] secp224r1Seed = (Hex.decode("bd71344799d5c7fcdc45b59fa3b9ab8f6a948bc5"));    static final byte[] secp224r1Seed = null;        static final X9ECParameters secp224r1 = new X9ECParameters(            secp224r1Curve,            secp224r1BasePoint,            secp224r1n,            secp224r1h,            secp224r1Seed);    /*     * secp256r1 (NIST P-256)     */    // p = 2^256 - 2^224 + 2^192 + 2^96 - 1    static final BigInteger secp256r1P = new BigInteger(            "115792089210356248762697446949407573530086143415290314195533631308867097853951");    // a = -3, b = 5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b    static final ECCurve secp256r1Curve = new ECCurve.Fp(secp256r1P,            new BigInteger("115792089210356248762697446949407573530086143415290314195533631308867097853948"),            new BigInteger("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16));    // x = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296    static final ECFieldElement secp256r1x = new ECFieldElement.Fp(        secp256r1P,        new BigInteger("6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", 16));    // y = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5    static final ECFieldElement secp256r1y = new ECFieldElement.Fp(        secp256r1P,        new BigInteger("4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", 16));    static final ECPoint secp256r1BasePoint = new ECPoint.Fp(        secp256r1Curve, secp256r1x, secp256r1y, false);    static final BigInteger secp256r1n = new BigInteger("115792089210356248762697446949407573529996955224135760342422259061068512044369");    static final BigInteger secp256r1h = new BigInteger("1");//    static final byte[] secp256r1Seed = (Hex.decode("c49d360886e704936a6678e1139d26b7819f7e90"));    static final byte[] secp256r1Seed = null;        static final X9ECParameters secp256r1 = new X9ECParameters(            secp256r1Curve,            secp256r1BasePoint,            secp256r1n,            secp256r1h,            secp256r1Seed);    /*     * secp521r1 - (NIST P-521)     */    // p = 2^521 - 1    static final BigInteger secp521r1P = new BigInteger(            "6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151");    // a = -3, b = 051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00    static final ECCurve secp521r1Curve = new ECCurve.Fp(secp521r1P,            new BigInteger("6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057148"),            new BigInteger("051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00", 16));    // x = c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66    static final ECFieldElement secp521r1x = new ECFieldElement.Fp(        secp521r1P,        new BigInteger("c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66", 16));    // y = 11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650    static final ECFieldElement secp521r1y = new ECFieldElement.Fp(        secp521r1P,        new BigInteger("11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650", 16));    static final ECPoint secp521r1BasePoint = new ECPoint.Fp(        secp521r1Curve, secp521r1x, secp521r1y, false);    static final BigInteger secp521r1n = new BigInteger("6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449");    static final BigInteger secp521r1h = new BigInteger("1");//    static final byte[] secp521r1Seed = (Hex.decode("d09e8800291cb85396cc6717393284aaa0da64ba"));    static final byte[] secp521r1Seed = null;    static final X9ECParameters secp521r1 = new X9ECParameters(            secp521r1Curve,            secp521r1BasePoint,            secp521r1n,            secp521r1h,            secp521r1Seed);    /*     * sect163r2 (NIST B-163)     */    // m = 163, k1 = 3, k2 = 6, k3 = 7    static final int sect163r2m = 163;    static final int sect163r2k1 = 3;    static final int sect163r2k2 = 6;    static final int sect163r2k3 = 7;    // a = 1    static final BigInteger sect163r2a = ECConstants.ONE;     // b = 20a601907b8c953ca1481eb10512f78744a3205fd    static final BigInteger sect163r2b = new BigInteger("20a601907b8c953ca1481eb10512f78744a3205fd", 16);         static final ECCurve sect163r2Curve = new ECCurve.F2m(sect163r2m, sect163r2k1, sect163r2k2, sect163r2k3, sect163r2a, sect163r2b);    // x = 3f0eba16286a2d57ea0991168d4994637e8343e36    static final ECFieldElement sect163r2x = new ECFieldElement.F2m(        sect163r2m, sect163r2k1, sect163r2k2, sect163r2k3,        new BigInteger("3f0eba16286a2d57ea0991168d4994637e8343e36", 16));    // y = 0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1    static final ECFieldElement sect163r2y = new ECFieldElement.F2m(        sect163r2m, sect163r2k1, sect163r2k2, sect163r2k3,        new BigInteger("0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1", 16));    static final ECPoint sect163r2BasePoint = new ECPoint.F2m(            sect163r2Curve, sect163r2x, sect163r2y, false);    static final BigInteger sect163r2n = new BigInteger("5846006549323611672814742442876390689256843201587");    static final BigInteger sect163r2h = new BigInteger("2");    static final byte[] sect163r2Seed = null;        static final X9ECParameters sect163r2 = new X9ECParameters(            sect163r2Curve,            sect163r2BasePoint,            sect163r2n,            sect163r2h,            sect163r2Seed);    /*     * sect233r1 (NIST B-233)     */    // m = 233, k1 = 74, k2 = 0, k3 = 0    static final int sect233r1m = 233;    static final int sect233r1k1 = 74;    static final int sect233r1k2 = 0;    static final int sect233r1k3 = 0;    // a = 1    static final BigInteger sect233r1a = ECConstants.ONE;     // b = 066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad    static final BigInteger sect233r1b = new BigInteger("066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad", 16);         static final ECCurve sect233r1Curve = new ECCurve.F2m(sect233r1m, sect233r1k1, sect233r1k2, sect233r1k3, sect233r1a, sect233r1b);    // x = 0fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b    static final ECFieldElement sect233r1x = new ECFieldElement.F2m(        sect233r1m, sect233r1k1, sect233r1k2, sect233r1k3,        new BigInteger("0fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b", 16));    // y = 1006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052    static final ECFieldElement sect233r1y = new ECFieldElement.F2m(        sect233r1m, sect233r1k1, sect233r1k2, sect233r1k3,        new BigInteger("1006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052", 16));    static final ECPoint sect233r1BasePoint = new ECPoint.F2m(            sect233r1Curve, sect233r1x, sect233r1y, false);    static final BigInteger sect233r1n = new BigInteger("6901746346790563787434755862277025555839812737345013555379383634485463");    static final BigInteger sect233r1h = new BigInteger("2");    static final byte[] sect233r1Seed = null;        static final X9ECParameters sect233r1 = new X9ECParameters(            sect233r1Curve,            sect233r1BasePoint,            sect233r1n,            sect233r1h,            sect233r1Seed);    /*     * sect283r1 (NIST B-283)

⌨️ 快捷键说明

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