Example #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(RNBWParamNames ParamName)
        {
            switch (ParamName)
            {
            case RNBWParamNames.N33L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 1, 1 });

            case RNBWParamNames.N49L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 2, 1 });

            case RNBWParamNames.N54L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 3, 1 });

            case RNBWParamNames.N58L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 4, 1 });

            case RNBWParamNames.N60L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 5, 1 });

            case RNBWParamNames.N63L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 6, 1 });

            case RNBWParamNames.N66L5:
                return(new byte[] { (byte)AsymmetricEngines.Rainbow, 1, 7, 1 });

            default:
                throw new CryptoAsymmetricException("RNBWParamSets:GetID", "The Parameter Name is not recognized!", new ArgumentException());
            }
        }
Example #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 RNBWParameters FromName(RNBWParamNames ParamName)
        {
            switch (ParamName)
            {
            case RNBWParamNames.N33L5:
                return((RNBWParameters)RNBWN33L5.DeepCopy());

            case RNBWParamNames.N49L5:
                return((RNBWParameters)RNBWN49L5.DeepCopy());

            case RNBWParamNames.N54L5:
                return((RNBWParameters)RNBWN54L5.DeepCopy());

            case RNBWParamNames.N58L5:
                return((RNBWParameters)RNBWN58L5.DeepCopy());

            case RNBWParamNames.N60L5:
                return((RNBWParameters)RNBWN60L5.DeepCopy());

            case RNBWParamNames.N63L5:
                return((RNBWParameters)RNBWN63L5.DeepCopy());

            case RNBWParamNames.N66L5:
                return((RNBWParameters)RNBWN66L5.DeepCopy());

            default:
                throw new CryptoAsymmetricException("RNBWParamSets:FromName", "The Parameter Name is not recognized!", new ArgumentException());
            }
        }
 /// <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(RNBWParamNames Name)
 {
     switch (Name)
     {
         case RNBWParamNames.N33L5:
             return new byte[] { 4, 1, 1, 1 };
         case RNBWParamNames.N49L5:
             return new byte[] { 4, 1, 2, 1 };
         case RNBWParamNames.N54L5:
             return new byte[] { 4, 1, 3, 1 };
         case RNBWParamNames.N58L5:
             return new byte[] { 4, 1, 4, 1 };
         case RNBWParamNames.N60L5:
             return new byte[] { 4, 1, 5, 1 };
         case RNBWParamNames.N63L5:
             return new byte[] { 4, 1, 6, 1 };
         case RNBWParamNames.N66L5:
             return new byte[] { 4, 1, 7, 1 };
         default:
             throw new CryptoAsymmetricException("RNBWParamSets: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 RNBWParameters FromName(RNBWParamNames Name)
 {
     switch (Name)
     {
         case RNBWParamNames.N33L5:
             return (RNBWParameters)RNBWN33L5.DeepCopy();
         case RNBWParamNames.N49L5:
             return (RNBWParameters)RNBWN49L5.DeepCopy();
         case RNBWParamNames.N54L5:
             return (RNBWParameters)RNBWN54L5.DeepCopy();
         case RNBWParamNames.N58L5:
             return (RNBWParameters)RNBWN58L5.DeepCopy();
         case RNBWParamNames.N60L5:
             return (RNBWParameters)RNBWN60L5.DeepCopy();
         case RNBWParamNames.N63L5:
             return (RNBWParameters)RNBWN63L5.DeepCopy();
         case RNBWParamNames.N66L5:
             return (RNBWParameters)RNBWN66L5.DeepCopy();
         default:
             throw new CryptoAsymmetricException("RNBWParamSets:FromName", "The Parameter Name is not recognized!", new ArgumentException());
     }
 }
Example #5
0
 /// <summary>
 /// Get a serialized RNBWParameters class from a parameter name
 /// </summary>
 ///
 /// <param name="ParamName">The RNBW Parameters set name</param>
 ///
 /// <returns>The serialized RNBWParameters set</returns>
 public static byte[] GetFormatted(RNBWParamNames ParamName)
 {
     return(FromName(ParamName).ToBytes());
 }