summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/pqc/jcajce/provider/gmss/BCGMSSPublicKey.java
diff options
context:
space:
mode:
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.java131
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";
- }
-}