// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.crypto.params;

import org.bouncycastle.util.Arrays;
import org.bouncycastle.crypto.CipherParameters;

public class KeyParameter implements CipherParameters
{
    private byte[] key;
    
    public KeyParameter(final byte[] array) {
        this(array, 0, array.length);
    }
    
    public KeyParameter(final byte[] array, final int n, final int n2) {
        this(n2);
        System.arraycopy(array, n, this.key, 0, n2);
    }
    
    private KeyParameter(final int n) {
        this.key = new byte[n];
    }
    
    public void copyTo(final byte[] array, final int n, final int n2) {
        if (this.key.length != n2) {
            throw new IllegalArgumentException("len");
        }
        System.arraycopy(this.key, 0, array, n, n2);
    }
    
    public byte[] getKey() {
        return this.key;
    }
    
    public int getKeyLength() {
        return this.key.length;
    }
    
    public KeyParameter reverse() {
        final KeyParameter keyParameter = new KeyParameter(this.key.length);
        Arrays.reverse(this.key, keyParameter.key);
        return keyParameter;
    }
}
