com.fitbur.bouncycastle.jcajce.provider.symmetric.Threefish Maven / Gradle / Ivy
package com.fitbur.bouncycastle.jcajce.provider.symmetric;
import com.fitbur.bouncycastle.crypto.CipherKeyGenerator;
import com.fitbur.bouncycastle.crypto.engines.ThreefishEngine;
import com.fitbur.bouncycastle.jcajce.provider.config.ConfigurableProvider;
import com.fitbur.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher;
import com.fitbur.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator;
import com.fitbur.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters;
import com.fitbur.bouncycastle.jcajce.provider.util.AlgorithmProvider;
public final class Threefish
{
private Threefish()
{
}
public static class ECB_256
extends BaseBlockCipher
{
public ECB_256()
{
super(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256));
}
}
public static class ECB_512
extends BaseBlockCipher
{
public ECB_512()
{
super(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512));
}
}
public static class ECB_1024
extends BaseBlockCipher
{
public ECB_1024()
{
super(new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024));
}
}
public static class KeyGen_256
extends BaseKeyGenerator
{
public KeyGen_256()
{
super("Threefish-256", 256, new CipherKeyGenerator());
}
}
public static class KeyGen_512
extends BaseKeyGenerator
{
public KeyGen_512()
{
super("Threefish-512", 512, new CipherKeyGenerator());
}
}
public static class KeyGen_1024
extends BaseKeyGenerator
{
public KeyGen_1024()
{
super("Threefish-1024", 1024, new CipherKeyGenerator());
}
}
public static class AlgParams_256
extends IvAlgorithmParameters
{
protected String engineToString()
{
return "Threefish-256 IV";
}
}
public static class AlgParams_512
extends IvAlgorithmParameters
{
protected String engineToString()
{
return "Threefish-512 IV";
}
}
public static class AlgParams_1024
extends IvAlgorithmParameters
{
protected String engineToString()
{
return "Threefish-1024 IV";
}
}
public static class Mappings
extends AlgorithmProvider
{
private static final String PREFIX = Threefish.class.getName();
public Mappings()
{
}
public void configure(ConfigurableProvider provider)
{
provider.addAlgorithm("Cipher.Threefish-256", PREFIX + "$ECB_256");
provider.addAlgorithm("Cipher.Threefish-512", PREFIX + "$ECB_512");
provider.addAlgorithm("Cipher.Threefish-1024", PREFIX + "$ECB_1024");
provider.addAlgorithm("KeyGenerator.Threefish-256", PREFIX + "$KeyGen_256");
provider.addAlgorithm("KeyGenerator.Threefish-512", PREFIX + "$KeyGen_512");
provider.addAlgorithm("KeyGenerator.Threefish-1024", PREFIX + "$KeyGen_1024");
provider.addAlgorithm("AlgorithmParameters.Threefish-256", PREFIX + "$AlgParams_256");
provider.addAlgorithm("AlgorithmParameters.Threefish-512", PREFIX + "$AlgParams_512");
provider.addAlgorithm("AlgorithmParameters.Threefish-1024", PREFIX + "$AlgParams_1024");
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy