1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.crypto.params;
2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.crypto.CipherParameters;
4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic class RC2Parameters
6b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    implements CipherParameters
7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{
8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    private byte[]  key;
9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    private int     bits;
10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public RC2Parameters(
12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        byte[]  key)
13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        this(key, (key.length > 128) ? 1024 : (key.length * 8));
15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public RC2Parameters(
18b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        byte[]  key,
19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        int     bits)
20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        this.key = new byte[key.length];
22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        this.bits = bits;
23b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
24b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        System.arraycopy(key, 0, this.key, 0, key.length);
25b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
26b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
27b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public byte[] getKey()
28b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
29b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        return key;
30b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
31b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
32b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public int getEffectiveKeyBits()
33b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
34b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        return bits;
35b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
36b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam}
37