/bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/Blowfish.java
Java | 77 lines | 63 code | 11 blank | 3 comment | 0 complexity | f7d5a9205f65d51a4257d0dc4b428f6d MD5 | raw file
- package org.bouncycastle.jcajce.provider.symmetric;
- import org.bouncycastle.crypto.CipherKeyGenerator;
- import org.bouncycastle.crypto.engines.BlowfishEngine;
- import org.bouncycastle.crypto.modes.CBCBlockCipher;
- import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
- import org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher;
- import org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator;
- import org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters;
- import org.bouncycastle.jcajce.provider.util.AlgorithmProvider;
- public final class Blowfish
- {
- private Blowfish()
- {
- }
-
- public static class ECB
- extends BaseBlockCipher
- {
- public ECB()
- {
- super(new BlowfishEngine());
- }
- }
- public static class CBC
- extends BaseBlockCipher
- {
- public CBC()
- {
- super(new CBCBlockCipher(new BlowfishEngine()), 64);
- }
- }
- public static class KeyGen
- extends BaseKeyGenerator
- {
- public KeyGen()
- {
- super("Blowfish", 128, new CipherKeyGenerator());
- }
- }
- public static class AlgParams
- extends IvAlgorithmParameters
- {
- protected String engineToString()
- {
- return "Blowfish IV";
- }
- }
- public static class Mappings
- extends AlgorithmProvider
- {
- private static final String PREFIX = Blowfish.class.getName();
- public Mappings()
- {
- }
- public void configure(ConfigurableProvider provider)
- {
- provider.addAlgorithm("Cipher.BLOWFISH", PREFIX + "$ECB");
- // BEGIN android-removed
- // provider.addAlgorithm("Cipher.1.3.6.1.4.1.3029.1.2", PREFIX + "$CBC");
- // END android-removed
- provider.addAlgorithm("KeyGenerator.BLOWFISH", PREFIX + "$KeyGen");
- provider.addAlgorithm("Alg.Alias.KeyGenerator.1.3.6.1.4.1.3029.1.2", "BLOWFISH");
- provider.addAlgorithm("AlgorithmParameters.BLOWFISH", PREFIX + "$AlgParams");
- provider.addAlgorithm("Alg.Alias.AlgorithmParameters.1.3.6.1.4.1.3029.1.2", "BLOWFISH");
- }
- }
- }