<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.0" />

SaberParameters

public sealed class SaberParameters : ICipherParameters
using Org.BouncyCastle.Crypto; namespace Org.BouncyCastle.Pqc.Crypto.Saber { public sealed class SaberParameters : ICipherParameters { public static SaberParameters lightsaberkem128r3 = new SaberParameters("lightsaberkem128r3", 2, 128, false, false); public static SaberParameters saberkem128r3 = new SaberParameters("saberkem128r3", 3, 128, false, false); public static SaberParameters firesaberkem128r3 = new SaberParameters("firesaberkem128r3", 4, 128, false, false); public static SaberParameters lightsaberkem192r3 = new SaberParameters("lightsaberkem192r3", 2, 192, false, false); public static SaberParameters saberkem192r3 = new SaberParameters("saberkem192r3", 3, 192, false, false); public static SaberParameters firesaberkem192r3 = new SaberParameters("firesaberkem192r3", 4, 192, false, false); public static SaberParameters lightsaberkem256r3 = new SaberParameters("lightsaberkem256r3", 2, 256, false, false); public static SaberParameters saberkem256r3 = new SaberParameters("saberkem256r3", 3, 256, false, false); public static SaberParameters firesaberkem256r3 = new SaberParameters("firesaberkem256r3", 4, 256, false, false); public static SaberParameters lightsaberkem90sr3 = new SaberParameters("lightsaberkem90sr3", 2, 256, true, false); public static SaberParameters saberkem90sr3 = new SaberParameters("saberkem90sr3", 3, 256, true, false); public static SaberParameters firesaberkem90sr3 = new SaberParameters("firesaberkem90sr3", 4, 256, true, false); public static SaberParameters ulightsaberkemr3 = new SaberParameters("ulightsaberkemr3", 2, 256, false, true); public static SaberParameters usaberkemr3 = new SaberParameters("usaberkemr3", 3, 256, false, true); public static SaberParameters ufiresaberkemr3 = new SaberParameters("ufiresaberkemr3", 4, 256, false, true); public static SaberParameters ulightsaberkem90sr3 = new SaberParameters("ulightsaberkem90sr3", 2, 256, true, true); public static SaberParameters usaberkem90sr3 = new SaberParameters("usaberkem90sr3", 3, 256, true, true); public static SaberParameters ufiresaberkem90sr3 = new SaberParameters("ufiresaberkem90sr3", 4, 256, true, true); private readonly string name; private readonly int l; private readonly int defaultKeySize; private readonly SaberEngine engine; public string Name => name; public int L => l; public int DefaultKeySize => defaultKeySize; internal SaberEngine Engine => engine; private SaberParameters(string name, int l, int defaultKeySize, bool usingAes, bool usingEffectiveMasking) { this.name = name; this.l = l; this.defaultKeySize = defaultKeySize; engine = new SaberEngine(l, defaultKeySize, usingAes, usingEffectiveMasking); } } }