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

package org.bouncycastle.crypto.params;

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

public final class FPEParameters implements CipherParameters
{
    private final KeyParameter key;
    private final RadixConverter radixConverter;
    private final byte[] tweak;
    private final boolean useInverse;
    
    public FPEParameters(final KeyParameter keyParameter, final int n, final byte[] array) {
        this(keyParameter, n, array, false);
    }
    
    public FPEParameters(final KeyParameter keyParameter, final int n, final byte[] array, final boolean b) {
        this(keyParameter, new RadixConverter(n), array, b);
    }
    
    public FPEParameters(final KeyParameter key, final RadixConverter radixConverter, final byte[] array, final boolean useInverse) {
        this.key = key;
        this.radixConverter = radixConverter;
        this.tweak = Arrays.clone(array);
        this.useInverse = useInverse;
    }
    
    public KeyParameter getKey() {
        return this.key;
    }
    
    public int getRadix() {
        return this.radixConverter.getRadix();
    }
    
    public RadixConverter getRadixConverter() {
        return this.radixConverter;
    }
    
    public byte[] getTweak() {
        return Arrays.clone(this.tweak);
    }
    
    public boolean isUsingInverseFunction() {
        return this.useInverse;
    }
}
