Beispiel #1
0
        /// <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());
            }
        }
Beispiel #2
0
        /// <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());
            }
        }
Beispiel #3
0
 /// <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());
 }
Beispiel #4
0
 /// <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());
     }
 }
Beispiel #5
0
 /// <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());
     }
 }