diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java b/bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java deleted file mode 100644 index eacefab..0000000 --- a/bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.bouncycastle.pqc.jcajce.provider.gmss; - -import java.security.PublicKey; - -import org.bouncycastle.asn1.x509.AlgorithmIdentifier; -import org.bouncycastle.crypto.CipherParameters; -import org.bouncycastle.pqc.asn1.GMSSPublicKey; -import org.bouncycastle.pqc.asn1.PQCObjectIdentifiers; -import org.bouncycastle.pqc.asn1.ParSet; -import org.bouncycastle.pqc.crypto.gmss.GMSSParameters; -import org.bouncycastle.pqc.crypto.gmss.GMSSPublicKeyParameters; -import org.bouncycastle.pqc.jcajce.provider.util.KeyUtil; -import org.bouncycastle.pqc.jcajce.spec.GMSSPublicKeySpec; -import org.bouncycastle.util.encoders.Hex; - -/** - * This class implements the GMSS public key and is usually initiated by the <a - * href="GMSSKeyPairGenerator">GMSSKeyPairGenerator</a>. - * - * @see org.bouncycastle.pqc.crypto.gmss.GMSSKeyPairGenerator - * @see org.bouncycastle.pqc.jcajce.spec.GMSSPublicKeySpec - */ -public class BCGMSSPublicKey - implements CipherParameters, PublicKey -{ - - /** - * - */ - private static final long serialVersionUID = 1L; - - /** - * The GMSS public key - */ - private byte[] publicKeyBytes; - - /** - * The GMSSParameterSet - */ - private GMSSParameters gmssParameterSet; - - - private GMSSParameters gmssParams; - - /** - * The constructor - * - * @param pub a raw GMSS public key - * @param gmssParameterSet an instance of GMSS Parameterset - * @see org.bouncycastle.pqc.crypto.gmss.GMSSKeyPairGenerator - */ - public BCGMSSPublicKey(byte[] pub, GMSSParameters gmssParameterSet) - { - this.gmssParameterSet = gmssParameterSet; - this.publicKeyBytes = pub; - } - - /** - * The constructor - * - * @param keySpec a GMSS key specification - */ - protected BCGMSSPublicKey(GMSSPublicKeySpec keySpec) - { - this(keySpec.getPublicKey(), keySpec.getParameters()); - } - - public BCGMSSPublicKey( - GMSSPublicKeyParameters params) - { - this(params.getPublicKey(), params.getParameters()); - } - - /** - * Returns the name of the algorithm - * - * @return "GMSS" - */ - public String getAlgorithm() - { - return "GMSS"; - } - - /** - * @return The GMSS public key byte array - */ - public byte[] getPublicKeyBytes() - { - return publicKeyBytes; - } - - /** - * @return The GMSS Parameterset - */ - public GMSSParameters getParameterSet() - { - return gmssParameterSet; - } - - /** - * Returns a human readable form of the GMSS public key - * - * @return A human readable form of the GMSS public key - */ - public String toString() - { - String out = "GMSS public key : " - + new String(Hex.encode(publicKeyBytes)) + "\n" - + "Height of Trees: \n"; - - for (int i = 0; i < gmssParameterSet.getHeightOfTrees().length; i++) - { - out = out + "Layer " + i + " : " - + gmssParameterSet.getHeightOfTrees()[i] - + " WinternitzParameter: " - + gmssParameterSet.getWinternitzParameter()[i] + " K: " - + gmssParameterSet.getK()[i] + "\n"; - } - return out; - } - - public byte[] getEncoded() - { - return KeyUtil.getEncodedSubjectPublicKeyInfo(new AlgorithmIdentifier(PQCObjectIdentifiers.gmss, new ParSet(gmssParameterSet.getNumOfLayers(), gmssParameterSet.getHeightOfTrees(), gmssParameterSet.getWinternitzParameter(), gmssParameterSet.getK()).toASN1Primitive()), new GMSSPublicKey(publicKeyBytes)); - } - - public String getFormat() - { - return "X.509"; - } -} |