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

package org.bouncycastle.pqc.crypto.slhdsa;

import org.bouncycastle.util.Arrays;

public class SLHDSAPublicKeyParameters extends SLHDSAKeyParameters
{
    private final PK pk;
    
    public SLHDSAPublicKeyParameters(final SLHDSAParameters slhdsaParameters, final byte[] array) {
        super(false, slhdsaParameters);
        final int n = slhdsaParameters.getN();
        if (array.length != 2 * n) {
            throw new IllegalArgumentException("public key encoding does not match parameters");
        }
        this.pk = new PK(Arrays.copyOfRange(array, 0, n), Arrays.copyOfRange(array, n, 2 * n));
    }
    
    SLHDSAPublicKeyParameters(final SLHDSAParameters slhdsaParameters, final PK pk) {
        super(false, slhdsaParameters);
        this.pk = pk;
    }
    
    public byte[] getSeed() {
        return Arrays.clone(this.pk.seed);
    }
    
    public byte[] getRoot() {
        return Arrays.clone(this.pk.root);
    }
    
    public byte[] getEncoded() {
        return Arrays.concatenate(this.pk.seed, this.pk.root);
    }
}
