/// <summary> /// Retrieve the parameter OId by its enumeration name /// </summary> /// /// <param name="ParamName">The enumeration name</param> /// /// <returns>The 4 byte OId field</returns> /// /// <exception cref="CryptoAsymmetricException">Thrown if an invalid or unknown OId is specified</exception> public static byte[] GetID(GMSSParamNames ParamName) { switch (ParamName) { case GMSSParamNames.N2P10: return(new byte[] { (byte)AsymmetricEngines.GMSS, 1, 1, 1 }); case GMSSParamNames.N2P20: return(new byte[] { (byte)AsymmetricEngines.GMSS, 1, 2, 1 }); case GMSSParamNames.N2P40: return(new byte[] { (byte)AsymmetricEngines.GMSS, 1, 3, 1 }); default: throw new CryptoAsymmetricException("GMSSParamSets:GetID", "The Parameter Name is not recognized!", new ArgumentException()); } }
/// <summary> /// Retrieve a parameter set by its enumeration name /// </summary> /// /// <param name="ParamName">The enumeration name</param> /// /// <returns>A populated parameter set</returns> /// /// <exception cref="CryptoAsymmetricException">Thrown if an invalid or unknown OId is specified</exception> public static GMSSParameters FromName(GMSSParamNames ParamName) { switch (ParamName) { case GMSSParamNames.N2P10: return((GMSSParameters)GMSSN2P10.DeepCopy()); case GMSSParamNames.N2P20: return((GMSSParameters)GMSSN2P20.DeepCopy()); case GMSSParamNames.N2P40: return((GMSSParameters)GMSSN2P40.DeepCopy()); default: throw new CryptoAsymmetricException("GMSSParamSets:FromName", "The Parameter Name is not recognized!", new ArgumentException()); } }
/// <summary> /// Get a serialized GMSSParameters class from a parameter name /// </summary> /// /// <param name="ParamName">The GMSS Parameters set name</param> /// /// <returns>The serialized GMSSParameters set</returns> public static byte[] GetFormatted(GMSSParamNames ParamName) { return(FromName(ParamName).ToBytes()); }
/// <summary> /// Retrieve the parameter OId by its enumeration name /// </summary> /// /// <param name="Name">The enumeration name</param> /// /// <returns>The 4 byte OId field</returns> /// /// <exception cref="CryptoAsymmetricException">Thrown if an invalid or unknown OId is specified</exception> public static byte[] GetID(GMSSParamNames Name) { switch (Name) { case GMSSParamNames.N2P10: return new byte[] { 5, 1, 1, 1 }; case GMSSParamNames.N2P20: return new byte[] { 5, 1, 2, 1 }; case GMSSParamNames.N2P40: return new byte[] { 5, 1, 3, 1 }; default: throw new CryptoAsymmetricException("GMSSParamSets:GetID", "The Parameter Name is not recognized!", new ArgumentException()); } }
/// <summary> /// Retrieve a parameter set by its enumeration name /// </summary> /// /// <param name="Name">The enumeration name</param> /// /// <returns>A populated parameter set</returns> /// /// <exception cref="CryptoAsymmetricException">Thrown if an invalid or unknown OId is specified</exception> public static GMSSParameters FromName(GMSSParamNames Name) { switch (Name) { case GMSSParamNames.N2P10: return (GMSSParameters)GMSSN2P10.DeepCopy(); case GMSSParamNames.N2P20: return (GMSSParameters)GMSSN2P20.DeepCopy(); case GMSSParamNames.N2P40: return (GMSSParameters)GMSSN2P40.DeepCopy(); default: throw new CryptoAsymmetricException("GMSSParamSets:FromName", "The Parameter Name is not recognized!", new ArgumentException()); } }