1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.bouncycastle.crypto.params;
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.bouncycastle.crypto.CipherParameters;
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * parameters for using an integrated cipher in stream mode.
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class IESParameters
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    implements CipherParameters
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private byte[]  derivation;
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private byte[]  encoding;
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private int     macKeySize;
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param derivation the derivation parameter for the KDF function.
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param encoding the encoding parameter for the KDF function.
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param macKeySize the size of the MAC key (in bits).
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public IESParameters(
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        byte[]  derivation,
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        byte[]  encoding,
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        int     macKeySize)
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    {
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        this.derivation = derivation;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        this.encoding = encoding;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        this.macKeySize = macKeySize;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public byte[] getDerivationV()
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    {
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return derivation;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public byte[] getEncodingV()
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    {
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return encoding;
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public int getMacKeySize()
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    {
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return macKeySize;
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
45