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

package org.bouncycastle.pqc.crypto.ntruprime;

import org.bouncycastle.util.Arrays;

public class NTRULPRimePrivateKeyParameters extends NTRULPRimeKeyParameters
{
    private final byte[] enca;
    private final byte[] pk;
    private final byte[] rho;
    private final byte[] hash;
    
    public NTRULPRimePrivateKeyParameters(final NTRULPRimeParameters ntrulpRimeParameters, final byte[] array, final byte[] array2, final byte[] array3, final byte[] array4) {
        super(true, ntrulpRimeParameters);
        this.enca = Arrays.clone(array);
        this.pk = Arrays.clone(array2);
        this.rho = Arrays.clone(array3);
        this.hash = Arrays.clone(array4);
    }
    
    public byte[] getEnca() {
        return Arrays.clone(this.enca);
    }
    
    public byte[] getPk() {
        return Arrays.clone(this.pk);
    }
    
    public byte[] getRho() {
        return Arrays.clone(this.rho);
    }
    
    public byte[] getHash() {
        return Arrays.clone(this.hash);
    }
    
    public byte[] getEncoded() {
        final byte[] array = new byte[this.getParameters().getPrivateKeyBytes()];
        System.arraycopy(this.enca, 0, array, 0, this.enca.length);
        System.arraycopy(this.pk, 0, array, this.enca.length, this.pk.length);
        System.arraycopy(this.rho, 0, array, this.enca.length + this.pk.length, this.rho.length);
        System.arraycopy(this.hash, 0, array, this.enca.length + this.pk.length + this.rho.length, this.hash.length);
        return array;
    }
}
