ECDomainParameters.java revision 8212855a312dc8ebe081a3e08b1d2d8f8757af02
18212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrompackage org.bouncycastle.crypto.params; 28212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 38212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromimport java.math.BigInteger; 48212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 58212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromimport org.bouncycastle.math.ec.ECConstants; 68212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromimport org.bouncycastle.math.ec.ECCurve; 78212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromimport org.bouncycastle.math.ec.ECPoint; 88212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 98212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrompublic class ECDomainParameters 108212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom implements ECConstants 118212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom{ 128212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECCurve curve; 138212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom byte[] seed; 148212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECPoint G; 158212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger n; 168212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger h; 178212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 188212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public ECDomainParameters( 198212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECCurve curve, 208212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECPoint G, 218212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger n) 228212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 238212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.curve = curve; 248212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.G = G; 258212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.n = n; 268212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.h = ONE; 278212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.seed = null; 288212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 298212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 308212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public ECDomainParameters( 318212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECCurve curve, 328212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECPoint G, 338212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger n, 348212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger h) 358212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 368212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.curve = curve; 378212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.G = G; 388212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.n = n; 398212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.h = h; 408212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.seed = null; 418212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 428212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 438212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public ECDomainParameters( 448212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECCurve curve, 458212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom ECPoint G, 468212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger n, 478212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom BigInteger h, 488212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom byte[] seed) 498212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 508212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.curve = curve; 518212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.G = G; 528212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.n = n; 538212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.h = h; 548212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom this.seed = seed; 558212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 568212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 578212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public ECCurve getCurve() 588212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 598212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom return curve; 608212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 618212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 628212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public ECPoint getG() 638212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 648212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom return G; 658212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 668212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 678212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public BigInteger getN() 688212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 698212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom return n; 708212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 718212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 728212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public BigInteger getH() 738212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 748212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom return h; 758212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 768212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 778212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public byte[] getSeed() 788212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom { 798212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom return seed; 808212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom } 818212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom} 82