/// <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()); } }
/// <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()); } }
/// <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()); }