1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.crypto.params;
2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.crypto.CipherParameters;
4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
5c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstromimport java.security.SecureRandom;
6c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom
7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic class ParametersWithRandom
8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    implements CipherParameters
9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{
10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    private SecureRandom        random;
11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    private CipherParameters    parameters;
12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public ParametersWithRandom(
14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        CipherParameters    parameters,
15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        SecureRandom        random)
16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        this.random = random;
18b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        this.parameters = parameters;
19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public ParametersWithRandom(
22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        CipherParameters    parameters)
23b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
24c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom        this(parameters, new SecureRandom());
25b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
26b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
27b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public SecureRandom getRandom()
28b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
29b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        return random;
30b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
31b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
32b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public CipherParameters getParameters()
33b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
34b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        return parameters;
35b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
36b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam}
37