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

package org.bouncycastle.pqc.crypto.ntruprime;

import org.bouncycastle.util.Arrays;

public class SNTRUPrimePrivateKeyParameters extends SNTRUPrimeKeyParameters
{
    private final byte[] f;
    private final byte[] ginv;
    private final byte[] pk;
    private final byte[] rho;
    private final byte[] hash;
    
    public SNTRUPrimePrivateKeyParameters(final SNTRUPrimeParameters sntruPrimeParameters, final byte[] array, final byte[] array2, final byte[] array3, final byte[] array4, final byte[] array5) {
        super(true, sntruPrimeParameters);
        this.f = Arrays.clone(array);
        this.ginv = Arrays.clone(array2);
        this.pk = Arrays.clone(array3);
        this.rho = Arrays.clone(array4);
        this.hash = Arrays.clone(array5);
    }
    
    public byte[] getF() {
        return Arrays.clone(this.f);
    }
    
    public byte[] getGinv() {
        return Arrays.clone(this.ginv);
    }
    
    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.f, 0, array, 0, this.f.length);
        System.arraycopy(this.ginv, 0, array, this.f.length, this.ginv.length);
        System.arraycopy(this.pk, 0, array, this.f.length + this.ginv.length, this.pk.length);
        System.arraycopy(this.rho, 0, array, this.f.length + this.ginv.length + this.pk.length, this.rho.length);
        System.arraycopy(this.hash, 0, array, this.f.length + this.ginv.length + this.pk.length + this.rho.length, this.hash.length);
        return array;
    }
}
