1package org.bouncycastle.crypto.params;
2
3import java.math.BigInteger;
4
5import org.bouncycastle.math.ec.ECConstants;
6import org.bouncycastle.math.ec.ECCurve;
7import org.bouncycastle.math.ec.ECPoint;
8
9public class ECDomainParameters
10    implements ECConstants
11{
12    ECCurve     curve;
13    byte[]      seed;
14    ECPoint     G;
15    BigInteger  n;
16    BigInteger  h;
17
18    public ECDomainParameters(
19        ECCurve     curve,
20        ECPoint     G,
21        BigInteger  n)
22    {
23        this.curve = curve;
24        this.G = G;
25        this.n = n;
26        this.h = ONE;
27        this.seed = null;
28    }
29
30    public ECDomainParameters(
31        ECCurve     curve,
32        ECPoint     G,
33        BigInteger  n,
34        BigInteger  h)
35    {
36        this.curve = curve;
37        this.G = G;
38        this.n = n;
39        this.h = h;
40        this.seed = null;
41    }
42
43    public ECDomainParameters(
44        ECCurve     curve,
45        ECPoint     G,
46        BigInteger  n,
47        BigInteger  h,
48        byte[]      seed)
49    {
50        this.curve = curve;
51        this.G = G;
52        this.n = n;
53        this.h = h;
54        this.seed = seed;
55    }
56
57    public ECCurve getCurve()
58    {
59        return curve;
60    }
61
62    public ECPoint getG()
63    {
64        return G;
65    }
66
67    public BigInteger getN()
68    {
69        return n;
70    }
71
72    public BigInteger getH()
73    {
74        return h;
75    }
76
77    public byte[] getSeed()
78    {
79        return seed;
80    }
81}
82