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

package org.bouncycastle.pqc.crypto.mldsa;

import org.bouncycastle.util.Arrays;

public class MLDSAPublicKeyParameters extends MLDSAKeyParameters
{
    final byte[] rho;
    final byte[] t1;
    
    static byte[] getEncoded(final byte[] array, final byte[] array2) {
        return Arrays.concatenate(array, array2);
    }
    
    public MLDSAPublicKeyParameters(final MLDSAParameters mldsaParameters, final byte[] array) {
        super(false, mldsaParameters);
        this.rho = Arrays.copyOfRange(array, 0, 32);
        this.t1 = Arrays.copyOfRange(array, 32, array.length);
        if (this.t1.length == 0) {
            throw new IllegalArgumentException("encoding too short");
        }
    }
    
    public MLDSAPublicKeyParameters(final MLDSAParameters mldsaParameters, final byte[] array, final byte[] array2) {
        super(false, mldsaParameters);
        if (array == null) {
            throw new NullPointerException("rho cannot be null");
        }
        if (array2 == null) {
            throw new NullPointerException("t1 cannot be null");
        }
        this.rho = Arrays.clone(array);
        this.t1 = Arrays.clone(array2);
    }
    
    public byte[] getEncoded() {
        return getEncoded(this.rho, this.t1);
    }
    
    public byte[] getRho() {
        return Arrays.clone(this.rho);
    }
    
    public byte[] getT1() {
        return Arrays.clone(this.t1);
    }
}
