| package org.bouncycastle.jcajce.provider.symmetric; |
| |
| import org.bouncycastle.crypto.CipherKeyGenerator; |
| import org.bouncycastle.crypto.engines.Grain128Engine; |
| import org.bouncycastle.jcajce.provider.config.ConfigurableProvider; |
| import org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator; |
| import org.bouncycastle.jcajce.provider.symmetric.util.BaseStreamCipher; |
| import org.bouncycastle.jcajce.provider.util.AlgorithmProvider; |
| |
| public final class Grain128 |
| { |
| private Grain128() |
| { |
| } |
| |
| public static class Base |
| extends BaseStreamCipher |
| { |
| public Base() |
| { |
| super(new Grain128Engine(), 12); |
| } |
| } |
| |
| public static class KeyGen |
| extends BaseKeyGenerator |
| { |
| public KeyGen() |
| { |
| super("Grain128", 128, new CipherKeyGenerator()); |
| } |
| } |
| |
| public static class Mappings |
| extends AlgorithmProvider |
| { |
| private static final String PREFIX = Grain128.class.getName(); |
| |
| public Mappings() |
| { |
| } |
| |
| public void configure(ConfigurableProvider provider) |
| { |
| provider.addAlgorithm("Cipher.Grain128", PREFIX + "$Base"); |
| provider.addAlgorithm("KeyGenerator.Grain128", PREFIX + "$KeyGen"); |
| } |
| } |
| } |