Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.jcajce.provider.symmetric;
  
  
  
 
 public final class Shacal2
 {
     private Shacal2()
     {
     }
     
     public static class ECB
         extends BaseBlockCipher
     {
         public ECB()
         {
             super(new BlockCipherProvider()
             {
                 public BlockCipher get()
                 {
                     return new Shacal2Engine();
                 }
             });
         }
     }
 
     public static class CBC
        extends BaseBlockCipher
     {
         public CBC()
         {
             super(new CBCBlockCipher(new Shacal2Engine()), 256);//block size
         }
     }
 
     public static class KeyGen
         extends BaseKeyGenerator
     {
         public KeyGen()
         {
             super("Shacal2", 512, new CipherKeyGenerator());//key size
         }
     }
 
     public static class AlgParamGen
         extends BaseAlgorithmParameterGenerator
     {
         protected void engineInit(
             AlgorithmParameterSpec genParamSpec,
             SecureRandom random)
             throws InvalidAlgorithmParameterException
         {
             throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for Shacal2 parameter generation.");
         }
 
         protected AlgorithmParameters engineGenerateParameters()
         {
             byte[] iv = new byte[32];// block size 256
 
             if ( == null)
             {
                  = new SecureRandom();
             }
 
             .nextBytes(iv);
 
             AlgorithmParameters params;
 
             try
             {
                 params = createParametersInstance("Shacal2");
                 params.init(new IvParameterSpec(iv));
             }
             catch (Exception e)
             {
                 throw new RuntimeException(e.getMessage());
             }
             return params;
         }
     }
 
     public static class AlgParams
         extends IvAlgorithmParameters
     {
        protected String engineToString()
        {
            return "Shacal2 IV";
        }
    }
    public static class Mappings
        extends SymmetricAlgorithmProvider
    {
        private static final String PREFIX = Shacal2.class.getName();
        public Mappings()
        {
        }
        public void configure(ConfigurableProvider provider)
        {
            provider.addAlgorithm("Cipher.Shacal2" + "$ECB");
            provider.addAlgorithm("KeyGenerator.Shacal2" + "$KeyGen");        
            provider.addAlgorithm("AlgorithmParameterGenerator.Shacal2" + "$AlgParamGen");
        	provider.addAlgorithm("AlgorithmParameters.Shacal2" + "$AlgParams");
        }
    }
New to GrepCode? Check out our FAQ X