// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.crypto;

public abstract class DefaultMultiBlockCipher implements MultiBlockCipher
{
    protected DefaultMultiBlockCipher() {
    }
    
    @Override
    public int getMultiBlockSize() {
        return this.getBlockSize();
    }
    
    @Override
    public int processBlocks(byte[] array, int n, final int n2, final byte[] array2, final int n3) throws DataLengthException, IllegalStateException {
        int n4 = 0;
        final int blockSize = this.getBlockSize();
        final int n5 = n2 * blockSize;
        if (array == array2) {
            array = new byte[n5];
            System.arraycopy(array2, n, array, 0, n5);
            n = 0;
        }
        for (int i = 0; i != n2; ++i) {
            n4 += this.processBlock(array, n, array2, n3 + n4);
            n += blockSize;
        }
        return n4;
    }
}
