Org.BouncyCastle.Bcpg.S2k
namespace Org.BouncyCastle.Bcpg
{
public class S2k : BcpgObject
{
public sealed class Argon2Params
{
public int MemorySizeExponent { get; }
public int Parallelism { get; }
public int Passes { get; }
public static SecureRandom DefaultSecureRandom();
public static Argon2Params MemoryConstrainedParameters(SecureRandom secureRandom);
public static Argon2Params RecommendedParameters(SecureRandom secureRandom);
public Argon2Params(int passes, int parallelism, int memorySizeExponent, SecureRandom secureRandom);
public Argon2Params(byte[] salt, int passes, int parallelism, int memorySizeExponent);
public byte[] GetSalt();
}
public const int Simple = 0;
public const int Salted = 1;
public const int SaltedAndIterated = 3;
public const int Argon2 = 4;
public const int GnuDummyS2K = 101;
public const int GnuProtectionModeNoPrivateKey = 1;
public const int GnuProtectionModeDivertToCard = 2;
public const int GnuProtectionModeInternal = 3;
public virtual int Type { get; }
public virtual HashAlgorithmTag HashAlgorithm { get; }
public virtual long IterationCount { get; }
public virtual int ProtectionMode { get; }
public virtual Argon2Params Argon2Config { get; }
public static S2k GenerateSalted(SecureRandom secureRandom, HashAlgorithmTag hashAlgorithm);
public static S2k GenerateSaltedAndIterated(SecureRandom secureRandom, HashAlgorithmTag hashAlgorithm, int itCount);
public S2k(HashAlgorithmTag algorithm);
public S2k(HashAlgorithmTag algorithm, byte[] iv);
public S2k(HashAlgorithmTag algorithm, byte[] iv, int itCount);
public S2k(Argon2Params argon2Config);
public static S2k Argon2S2k(Argon2Params parameters);
public virtual byte[] GetIV();
}
}